[U-Boot] [PATCH 1/1] i.MX6: mx6qsabrelite: README: don't pass chip-select to sf probe command

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(-)
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

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 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 ;)

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
participants (3)
-
Eric Nelson
-
Javier Martinez Canillas
-
Stefano Babic