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

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:
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.

On Thu, Apr 10, 2014 at 12:05 PM, Sam Catch dsblue.spam@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:
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

On Thu, Apr 10, 2014 at 12:20 PM, Fabio Estevam festevam@gmail.com wrote:
On Thu, Apr 10, 2014 at 12:05 PM, Sam Catch dsblue.spam@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:
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.
I have fixed the problem: just apply this one on top of the previous patch I sent you:
--- a/arch/arm/include/asm/arch-mx6/mx6sl_pins.h +++ b/arch/arm/include/asm/arch-mx6/mx6sl_pins.h @@ -13,7 +13,7 @@ enum { MX6_PAD_ECSPI1_MISO__ECSPI_MISO = IOMUX_PAD(0x0358, 0x0068, 0, 0x0684, 0, 0), MX6_PAD_ECSPI1_MOSI__ECSPI_MOSI = IOMUX_PAD(0x035C, 0x006C, 0, 0x0688, 0, 0), MX6_PAD_ECSPI1_SCLK__ECSPI_SCLK = IOMUX_PAD(0x0360, 0x0070, 0, 0x067C, 0, 0), - MX6_PAD_ECSPI1_SS0__GPIO4_IO11 = IOMUX_PAD(0x0364, 0x0074, 0, 0x0000, 5, 0), + MX6_PAD_ECSPI1_SS0__GPIO4_IO11 = IOMUX_PAD(0x0364, 0x0074, 5, 0x0000, 0, 0), MX6_PAD_SD2_CLK__USDHC2_CLK = IOMUX_PAD(0x055C, 0x0254, 0, 0x0000, 0, 0), MX6_PAD_SD2_CMD__USDHC2_CMD = IOMUX_PAD(0x0560, 0x0258, 0, 0x0000, 0, 0), MX6_PAD_SD2_DAT0__USDHC2_DAT0
Then it will work fine:
=> sf probe SF: Detected M25P32 with page size 256 Bytes, erase size 64 KiB, total 4 MiB
I will submit a formal patch soon.
Regards,
Fabio Estevam
participants (2)
-
Fabio Estevam
-
Sam Catch