All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthias Fuchs <matthias.fuchs@esd.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/3] mx28evk: add SPI support
Date: Wed, 18 Jan 2012 19:49:42 +0100	[thread overview]
Message-ID: <4F171446.2060309@esd.eu> (raw)
In-Reply-To: <201201181707.03785.marek.vasut@gmail.com>

On 01/18/2012 05:07 PM, Marek Vasut wrote:
>> This patch adds SPI support for the MX28EVK. Support for
>> an optionally installed SPI flash is also added. An example
>> configuration for redundant envrionment from SPI flash is also
>> added but disabled by default.
>>
>> This patch has been tested on a MX28EVK Rev. D with an installed
>> SST25VF032B 32Mbit SPI flash.
>>
>> Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
>> ---
>>  board/freescale/mx28evk/iomux.c |    8 +++++++
>>  include/configs/mx28evk.h       |   44
>> ++++++++++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+),
>> 3 deletions(-)
>>
>> diff --git a/board/freescale/mx28evk/iomux.c
>> b/board/freescale/mx28evk/iomux.c index 904e3f3..396761b 100644
>> --- a/board/freescale/mx28evk/iomux.c
>> +++ b/board/freescale/mx28evk/iomux.c
>> @@ -28,6 +28,7 @@
>>  #define	MUX_CONFIG_SSP0	(MXS_PAD_3V3 | MXS_PAD_8MA | MXS_PAD_PULLUP)
>>  #define	MUX_CONFIG_ENET	(MXS_PAD_3V3 | MXS_PAD_8MA | MXS_PAD_PULLUP)
>>  #define	MUX_CONFIG_EMI	(MXS_PAD_3V3 | MXS_PAD_12MA | MXS_PAD_NOPULL)
>> +#define	MUX_CONFIG_SSP2	(MXS_PAD_3V3 | MXS_PAD_4MA | MXS_PAD_PULLUP)
>>
>>  const iomux_cfg_t iomux_setup[] = {
>>  	/* DUART */
>> @@ -130,6 +131,13 @@ const iomux_cfg_t iomux_setup[] = {
>>  	MX28_PAD_EMI_CE0N__EMI_CE0N | MUX_CONFIG_EMI,
>>  	MX28_PAD_EMI_CE1N__EMI_CE1N | MUX_CONFIG_EMI,
>>  	MX28_PAD_EMI_CKE__EMI_CKE | MUX_CONFIG_EMI,
>> +
>> +	/* SPI2 (for SPI flash) */
>> +	MX28_PAD_SSP2_SCK__SSP2_SCK | MUX_CONFIG_SSP2,
>> +	MX28_PAD_SSP2_MOSI__SSP2_CMD | MUX_CONFIG_SSP2,
>> +	MX28_PAD_SSP2_MISO__SSP2_D0 | MUX_CONFIG_SSP2,
>> +	MX28_PAD_SSP2_SS0__SSP2_D3 |
>> +		(MXS_PAD_3V3 | MXS_PAD_8MA | MXS_PAD_PULLUP),
>>  };
>>
>>  void board_init_ll(void)
>> diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h
>> index 8f791aa..04967d7 100644
>> --- a/include/configs/mx28evk.h
>> +++ b/include/configs/mx28evk.h
>> @@ -64,6 +64,8 @@
>>  #define CONFIG_CMD_NET
>>  #define CONFIG_CMD_NFS
>>  #define CONFIG_CMD_PING
>> +#define CONFIG_CMD_SF
>> +#define CONFIG_CMD_SPI
>>  #define CONFIG_CMD_USB
>>
>>  /*
>> @@ -127,9 +129,11 @@
>>   * MMC Driver
>>   */
>>  #define CONFIG_ENV_IS_IN_MMC
>> -#define CONFIG_ENV_OFFSET	(256 * 1024)
>> -#define CONFIG_ENV_SIZE	(16 * 1024)
>> -#define CONFIG_SYS_MMC_ENV_DEV 0
>> +#ifdef CONFIG_ENV_IS_IN_MMC
>> + #define CONFIG_ENV_OFFSET	(256 * 1024)
>> + #define CONFIG_ENV_SIZE	(16 * 1024)
>> + #define CONFIG_SYS_MMC_ENV_DEV 0
>> +#endif
>>  #define CONFIG_CMD_SAVEENV
>>  #ifdef	CONFIG_CMD_MMC
>>  #define CONFIG_MMC
>> @@ -170,6 +174,40 @@
>>  #endif
>>
>>  /*
>> + * SPI
>> + */
>> +#ifdef CONFIG_CMD_SPI
>> +#define CONFIG_HARD_SPI
>> +#define CONFIG_MXS_SPI
>> +#define CONFIG_SPI_HALF_DUPLEX
>> +#define CONFIG_DEFAULT_SPI_BUS		2
>> +#define CONFIG_DEFAULT_SPI_MODE		SPI_MODE_0
>> +
>> +/* SPI Flash */
>> +#ifdef CONFIG_CMD_SF
>> +#define CONFIG_SPI_FLASH
>> +/* this may vary and depends on the installed chip */
>> +#define CONFIG_SPI_FLASH_SST
>> +#define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
>> +#define CONFIG_SF_DEFAULT_SPEED		24000000
>> +
>> +/* (redundant) environemnt in SPI flash */
>> +#undef CONFIG_ENV_IS_IN_SPI_FLASH
>> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
>> +#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
>> +#define CONFIG_ENV_SIZE			0x1000		/* 4KB */
>> +#define CONFIG_ENV_OFFSET		0x40000		/* 256K */
>> +#define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
>> +#define CONFIG_ENV_SECT_SIZE		0x1000
>> +#define CONFIG_ENV_SPI_CS		0
>> +#define CONFIG_ENV_SPI_BUS		2
>> +#define CONFIG_ENV_SPI_MAX_HZ		24000000
>> +#define CONFIG_ENV_SPI_MODE		SPI_MODE_0
>> +#endif
>> +#endif
>> +#endif
>> +
>> +/*
>>   * Boot Linux
>>   */
>>  #define CONFIG_CMDLINE_TAG
> 
> Hm, good ... so the SPI flash works now with no modifications ?
Of course not! The SPI driver needs to be fixed. Either by my previously 
posted patch or by god's hands :-)

Fabio asked for this patch in order to test my SPI driver fix.
But I think this is independant from each other.

Matthias

  reply	other threads:[~2012-01-18 18:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-18 11:33 [U-Boot] [PATCH 1/3] mx28evk: add RTC support Matthias Fuchs
2012-01-18 11:33 ` [U-Boot] [PATCH 2/3] mx28evk: add USB support Matthias Fuchs
2012-01-18 11:33   ` [U-Boot] [PATCH 3/3] mx28evk: add SPI support Matthias Fuchs
2012-01-18 16:07     ` Marek Vasut
2012-01-18 18:49       ` Matthias Fuchs [this message]
2012-01-18 19:11         ` Marek Vasut
2012-01-23 21:34     ` Fabio Estevam
2012-02-07  8:14     ` Stefano Babic
2012-01-30 16:14   ` [U-Boot] [PATCH 2/3] mx28evk: add USB support Fabio Estevam
2012-01-30 16:14     ` Fabio Estevam
2012-02-07  8:13   ` Stefano Babic
2012-01-18 16:07 ` [U-Boot] [PATCH 1/3] mx28evk: add RTC support Marek Vasut
2012-01-20  3:23   ` Fabio Estevam
2012-01-20  3:55     ` Marek Vasut
2012-01-23 20:01 ` Fabio Estevam
2012-02-06 12:51   ` Fabio Estevam
2012-02-06 13:11     ` Stefano Babic
2012-02-07  8:12 ` Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F171446.2060309@esd.eu \
    --to=matthias.fuchs@esd.eu \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.