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

Reply via email to