On 01/24/2012 11:08 AM, Mike Frysinger wrote:
On Tuesday 24 January 2012 11:18:22 Eric Nelson wrote:
This patch allows a board configuration file to provide a default
chip-select for serial flash so that first argument to the 'sf' command
is optional.
On boards that use the mxc_spi driver and a GPIO for chip select, this
allows a much simpler command line:
U-Boot> sf probe
instead of
U-Boot> sf probe 0x5300
NAK (to this version of the patch): missing README update, and other issues
below
Which README? The only references I find to serial flash support
are in board-specific README files.
~/u-boot$ find . -iname \*readme\* | xargs grep -w sf
./doc/README.p2041rdb: => sf erase 0 100000
./doc/README.p2041rdb: => sf write 1000000 0 $filesize
./doc/README.p2041rdb: => sf erase 110000 10000
./doc/README.p2041rdb: => sf write 1000000 110000 $filesize
./doc/README.sh7757lcr: => sf probe 0
./doc/README.sh7757lcr: => sf erase 0 80000
./doc/README.sh7757lcr: => sf write 0x89000000 0 80000
I can start one of those for the SabreLite board, but that's un-related
to this patch.
--- a/common/cmd_sf.c
+++ b/common/cmd_sf.c
+#ifndef CONFIG_SPI_FLASH_CS
+ if (argc< 2) {
+ printf("%s: missing arguments\n", __func__);
return -1;
return cmd_usage(cmdtp);
- if (*endp == ':') {
- if (endp[1] == 0)
- return -1;
+ }
+#else
+ cs = CONFIG_SPI_FLASH_CS ;
+#endif
you're setting the default CS, not locking it in. so a better config knob name
would be something like:
CONFIG_SF_DEFAULT_CS
this matches the existing CONFIG_SF_XXX defines
also, you have a spurious space before the semicolon there
Thanks Mike,
FWIW, I chose this name on purpose to make life easier on a couple of
other boards immediately (efika and vision2):
~/u-boot$ grep CONFIG_SPI_FLASH_CS include/configs/*
include/configs/efikamx.h:#define CONFIG_SPI_FLASH_CS (1 | 121 << 8)
include/configs/m28evk.h:#define CONFIG_SPI_FLASH_CS 2
include/configs/mx6qsabrelite.h.rej: #define CONFIG_SPI_FLASH_CS 1
include/configs/vision2.h:#define CONFIG_SPI_FLASH_CS (1 | (121 << 8))
U_BOOT_CMD(
sf, 5, 1, do_spi_flash,
"SPI flash sub-system",
+#ifndef CONFIG_SPI_FLASH_CS
"probe [bus:]cs [hz] [mode] - init flash device on given SPI
bus\n"
+#else
+ "probe [[bus:]cs] [hz] [mode] - init flash device on given SPI
bus\n"
+#endif
" and chip select\n"
"sf read addr offset len - read `len' bytes starting at\n"
" `offset' to memory at `addr'\n"
this is ugly. i'd rather just omit it and not worry about the syntax being
perfect.
Works for me.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot