Message ID | 1364228037-21962-1-git-send-email-javier.martinez@collabora.co.uk |
---|---|
State | Changes Requested |
Delegated to: | Stefano Babic |
Headers | show |
On 25/03/2013 17:13, Javier Martinez Canillas wrote: > since commit "c1173bd0: sf command: allow default bus and chip selects" > the chip-select and bus arguments for the sf probe command are optional. > Hi Javier, > Even when passing the chip-select to sf probe says to be optional, it > makes "sf erase" and "sf write" to fail on a mx6qsabrelite board. e.g: > > MX6QSABRELITE U-Boot > sf probe 1 > MX6QSABRELITE U-Boot > sf erase 0 0x40000 > SPI flash erase failed > MX6QSABRELITE U-Boot > sf write 0x10800000 0 0x40000 > SPI flash write failed Well, the real reason is that the passed chipselect is wrong. Checking in the configuration file, I see that the value to be passed should be 0x7300. I suppose (I am not testing) that "sf probe 0x7300" make sf erase and sw write working. > > But just using "sf probe" works well. So, update the mx6qsabrelite > README so the commands will work on current U-Boot. I agree with the patch, but the description is wrong. Can you rewrite it simply stating that the chipselect "1" is wrong and that it is not strictly required (but again, is not forbidden) to pass it to sf probe ? Best regards, Stefano Babic
On Wed, Apr 3, 2013 at 11:25 AM, Stefano Babic <sbabic@denx.de> wrote: > On 25/03/2013 17:13, Javier Martinez Canillas wrote: >> since commit "c1173bd0: sf command: allow default bus and chip selects" >> the chip-select and bus arguments for the sf probe command are optional. >> > > Hi Javier, > Hi Stefano, thanks a lot for your feedback. >> Even when passing the chip-select to sf probe says to be optional, it >> makes "sf erase" and "sf write" to fail on a mx6qsabrelite board. e.g: >> >> MX6QSABRELITE U-Boot > sf probe 1 >> MX6QSABRELITE U-Boot > sf erase 0 0x40000 >> SPI flash erase failed >> MX6QSABRELITE U-Boot > sf write 0x10800000 0 0x40000 >> SPI flash write failed > > Well, the real reason is that the passed chipselect is wrong. Checking > in the configuration file, I see that the value to be passed should be > 0x7300. I suppose (I am not testing) that "sf probe 0x7300" make sf > erase and sw write working. > Just for curiosity, in which configuration file did you see that? When I had the issue I looked at include/configs/{mx6qsabrelite,mx6_common}.h and board/freescale/mx6qsabrelite/mx6qsabrelite.c but I didn't find what chip-select was supposed to be used. >> >> But just using "sf probe" works well. So, update the mx6qsabrelite >> README so the commands will work on current U-Boot. > > I agree with the patch, but the description is wrong. Can you rewrite it > simply stating that the chipselect "1" is wrong and that it is not > strictly required (but again, is not forbidden) to pass it to sf probe ? > I'll send a v2 of the patch with this description: i.MX6: mx6qsabrelite: README: don't pass chip-select to sf probe command board/freescale/mx6qsabrelite/README explain a procedure to update the SPI-NOR on the SabreLite board without Freescale manufacturing tool but following this procedure leads to both "sf erase" and "sf write" failing on a mx6qsabrelite board: MX6QSABRELITE U-Boot > sf probe 1 MX6QSABRELITE U-Boot > sf erase 0 0x40000 SPI flash erase failed MX6QSABRELITE U-Boot > sf write 0x10800000 0 0x40000 SPI flash write failed This is because the chip-select 1 is wrong and according the correct value is 0x7300. Since commit c1173bd0 ("sf command: allow default bus and chip selects"), the chip-select and bus arguments for the sf probe command are optional so let's just remove it and use "sf probe" instead. > Best regards, > Stefano Babic > > -- Thanks a lot and best regards, Javier
On 03/04/2013 11:50, Javier Martinez Canillas wrote: > Just for curiosity, in which configuration file did you see that? When > I had the issue I looked at > include/configs/{mx6qsabrelite,mx6_common}.h and > board/freescale/mx6qsabrelite/mx6qsabrelite.c but I didn't find what > chip-select was supposed to be used. include/configs/mx6qsabrelite.h: #define CONFIG_SF_DEFAULT_CS (0|(IMX_GPIO_NR(3, 19)<<8)) It should be 0x7300 Best regards, Stefano Babic
On 04/03/2013 02:25 AM, Stefano Babic wrote: > On 25/03/2013 17:13, Javier Martinez Canillas wrote: >> since commit "c1173bd0: sf command: allow default bus and chip selects" >> the chip-select and bus arguments for the sf probe command are optional. >> > > Hi Javier, > >> Even when passing the chip-select to sf probe says to be optional, it >> makes "sf erase" and "sf write" to fail on a mx6qsabrelite board. e.g: >> >> MX6QSABRELITE U-Boot > sf probe 1 >> MX6QSABRELITE U-Boot > sf erase 0 0x40000 >> SPI flash erase failed >> MX6QSABRELITE U-Boot > sf write 0x10800000 0 0x40000 >> SPI flash write failed > > Well, the real reason is that the passed chipselect is wrong. Checking > in the configuration file, I see that the value to be passed should be > 0x7300. I suppose (I am not testing) that "sf probe 0x7300" make sf > erase and sw write working. > It's 0x5300 as listed in commit c1173bd0. And the SABRE Lite README definitely needs updates. Regards, Eric
On 04/03/2013 03:13 AM, Stefano Babic wrote: > On 03/04/2013 11:50, Javier Martinez Canillas wrote: >> Just for curiosity, in which configuration file did you see that? When >> I had the issue I looked at >> include/configs/{mx6qsabrelite,mx6_common}.h and >> board/freescale/mx6qsabrelite/mx6qsabrelite.c but I didn't find what >> chip-select was supposed to be used. > > include/configs/mx6qsabrelite.h: > > #define CONFIG_SF_DEFAULT_CS (0|(IMX_GPIO_NR(3, 19)<<8)) > > It should be 0x7300 > 0x5300? (((3-1)*32)+19)<<8
On 03/04/2013 16:11, Eric Nelson wrote: > On 04/03/2013 03:13 AM, Stefano Babic wrote: >> On 03/04/2013 11:50, Javier Martinez Canillas wrote: >>> Just for curiosity, in which configuration file did you see that? When >>> I had the issue I looked at >>> include/configs/{mx6qsabrelite,mx6_common}.h and >>> board/freescale/mx6qsabrelite/mx6qsabrelite.c but I didn't find what >>> chip-select was supposed to be used. >> >> include/configs/mx6qsabrelite.h: >> >> #define CONFIG_SF_DEFAULT_CS (0|(IMX_GPIO_NR(3, 19)<<8)) >> >> It should be 0x7300 >> > 0x5300? > > (((3-1)*32)+19)<<8 > Right, forget to subtract 1. Regards, Stefano
On 04/03/2013 07:49 AM, Stefano Babic wrote: > On 03/04/2013 16:11, Eric Nelson wrote: >> On 04/03/2013 03:13 AM, Stefano Babic wrote: >>> On 03/04/2013 11:50, Javier Martinez Canillas wrote: >>>> Just for curiosity, in which configuration file did you see that? When >>>> I had the issue I looked at >>>> include/configs/{mx6qsabrelite,mx6_common}.h and >>>> board/freescale/mx6qsabrelite/mx6qsabrelite.c but I didn't find what >>>> chip-select was supposed to be used. >>> >>> include/configs/mx6qsabrelite.h: >>> >>> #define CONFIG_SF_DEFAULT_CS (0|(IMX_GPIO_NR(3, 19)<<8)) >>> >>> It should be 0x7300 >>> >> 0x5300? >> >> (((3-1)*32)+19)<<8 >> > > Right, forget to subtract 1. > I only remember this because I typed it in **many** times before adding the default ;)
diff --git a/board/freescale/mx6qsabrelite/README b/board/freescale/mx6qsabrelite/README index 6f2f534..324b116 100644 --- a/board/freescale/mx6qsabrelite/README +++ b/board/freescale/mx6qsabrelite/README @@ -40,7 +40,7 @@ enter the following commands: MX6Q SABRELITE U-Boot > mmc dev 0 MX6Q SABRELITE U-Boot > mmc read 0x10800000 0 200 - MX6Q SABRELITE U-Boot > sf probe 1 + MX6Q SABRELITE U-Boot > sf probe MX6Q SABRELITE U-Boot > sf erase 0 0x40000 MX6Q SABRELITE U-Boot > sf write 0x10800000 0 0x40000
since commit "c1173bd0: sf command: allow default bus and chip selects" the chip-select and bus arguments for the sf probe command are optional. Even when passing the chip-select to sf probe says to be optional, it makes "sf erase" and "sf write" to fail on a mx6qsabrelite board. e.g: MX6QSABRELITE U-Boot > sf probe 1 MX6QSABRELITE U-Boot > sf erase 0 0x40000 SPI flash erase failed MX6QSABRELITE U-Boot > sf write 0x10800000 0 0x40000 SPI flash write failed But just using "sf probe" works well. So, update the mx6qsabrelite README so the commands will work on current U-Boot. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- board/freescale/mx6qsabrelite/README | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)