[U-Boot] board/freescale/mx6slevk: Add support for SPI NOR on the Freescale MCIMX6SLEVK Board

Nikolay Dimitrov picmaster at mail.bg
Sat Apr 12 01:53:59 CEST 2014


Hi,

 From what I remember when working with imx6d, the ecspi controller had 
a special behavior that it
insisted on toggling the CS line for each 8-bit transfer. U-Boot has a 
workaround for this: using
additional pin as "bit-banged CS". Here's how it worked on a project of 
mine:

static iomux_v3_cfg_t const spi1_pads[] =
{
     MX6_PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL), // <= 
this is the new CS
     MX6_PAD_KEY_COL1__ECSPI1_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL),
     MX6_PAD_KEY_ROW0__ECSPI1_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL),
     MX6_PAD_KEY_COL0__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)
};

...and here's what I defined in my board-config-file:

#define CONFIG_SF_DEFAULT_CS            (0 | (IMX_GPIO_NR(4, 9) << 8))

Then you need to double-check your ecspi config options, like speed, 
mode. You can check with
a scope whether the clock pulses are within supported timing of your SPI 
chip.

Kind regards,
Nikolay


On 4/11/2014 8:55 AM, u-boot-request at lists.denx.de wrote:
> Message: 28 Date: Thu, 10 Apr 2014 12:20:58 -0300 From: Fabio Estevam 
> <festevam at gmail.com> Subject: Re: [U-Boot] board/freescale/mx6slevk: 
> Add support for SPI NOR on the Freescale MCIMX6SLEVK Board To: Sam 
> Catch <dsblue.spam at gmail.com> Cc: Marek Va?ut <marex at denx.de>, 
> U-Boot-Denx <u-boot at lists.denx.de> Message-ID: 
> <CAOMZO5DvBqqAAzb5LwDNajMDj=+jm-nTz+FjQyGYLPXgKq-A2g at mail.gmail.com> 
> Content-Type: text/plain; charset=UTF-8 On Thu, Apr 10, 2014 at 12:05 
> PM, Sam Catch <dsblue.spam at gmail.com> wrote:
>> >I hope this email is now in the right format.
>> >
>> >Hi All,
>> >
>> >I am trying to add support for the SPI NOR device on the  Freescale
>> >MCIMX6SLEVK Board.  I have created a patch that should enable support but
>> >the u-boot probe command still does not find the device.  The process fails
>> >during the ECSPI transfer.
>> >
>> >I have tried the following patch to the latest git master of u-boot:
>> >
>> >http://pastebin.com/hamK7Ybb
>> >
>> >U-Boot Output:
>> >
>> >=> sf probe
>> >SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000
>> >Failed to initialize SPI flash at 0:27392
>> >
>> >Does anyone have any insight as to why the Probe may be failing?  I modeled
>> >the changes on the mx6sabresd board.
> I see the same error here. I measured with a scope and the chip select
> signal behaves very differently compared to the mx6qsabresd board.
>
> When I do 'sf probe' on a mx6qsabresd the chip select line stays low
> for 10us and then stays high.
>
> On mx6slevk the chip select line stays low for 0.5us, then it goes
> high, goes low for 2us and they stays high.
>
> So there is something very wrong with the timings on mx6sl, but I
> haven't had a chance to debug this yet.
>
> Regards,
>
> Fabio Estevam



More information about the U-Boot mailing list