On Wed, 2015-04-29 at 17:03 +0200, Daniel Kochmański wrote: > This patch adds a20_nandread command. It is simple function utilizing > function from SPL nand driver `nand_spl_load_image`. > > Usage: a20_nandread <address> <offset> <bytes>
This stuff should really be integrated with cmd_nand.c rather than adding an adhoc SoC specific interface. > > Signed-off-by: Daniel Kochmański <dkochman...@turtle-solutions.eu> > Cc: Ian Campbell <i...@hellion.org.uk> > Cc: Hans De Goede <hdego...@redhat.com> > --- > > common/Kconfig | 7 +++++++ > common/Makefile | 1 + > common/cmd_a20_nandread.c | 27 +++++++++++++++++++++++++++ > 3 files changed, 35 insertions(+) > create mode 100644 common/cmd_a20_nandread.c > > diff --git a/common/Kconfig b/common/Kconfig > index 5d7e48a..8edabb6 100644 > --- a/common/Kconfig > +++ b/common/Kconfig > @@ -204,6 +204,13 @@ config CMD_NAND > help > NAND support. > > +config CMD_A20_NANDREAD > + depends on SPL_NAND_SUPPORT > + bool "a20_nandread" > + help > + NAND read support for A20 SoC. Depends on SPL driver. > + Usage: a20_nandread <address> <offset> <size> > + > config CMD_SPI > bool "sspi" > help > diff --git a/common/Makefile b/common/Makefile > index fba3830..9286518 100644 > --- a/common/Makefile > +++ b/common/Makefile > @@ -138,6 +138,7 @@ obj-$(CONFIG_CMD_MMC) += cmd_mmc.o > obj-$(CONFIG_CMD_MMC_SPI) += cmd_mmc_spi.o > obj-$(CONFIG_MP) += cmd_mp.o > obj-$(CONFIG_CMD_MTDPARTS) += cmd_mtdparts.o > +obj-$(CONFIG_CMD_A20_NANDREAD) += cmd_a20_nandread.o > obj-$(CONFIG_CMD_NAND) += cmd_nand.o > obj-$(CONFIG_CMD_NET) += cmd_net.o > obj-$(CONFIG_CMD_ONENAND) += cmd_onenand.o > diff --git a/common/cmd_a20_nandread.c b/common/cmd_a20_nandread.c > new file mode 100644 > index 0000000..7361be7 > --- /dev/null > +++ b/common/cmd_a20_nandread.c > @@ -0,0 +1,27 @@ > +#include <common.h> > +#include <command.h> > + > +int nand_spl_load_image(uint32_t offs, unsigned int size, void *dest); > + > +static int do_a20_nandread(cmd_tbl_t *cmdtp, int flag, > + int argc, char *const argv[]) > +{ > + if (argc != 4) { > + printf("usage: a20_nandread <address> <offset> <bytes>\n"); > + return 1; > + } > + > + uint32_t dst = simple_strtoul(argv[1], NULL, 16); > + uint32_t src = simple_strtoul(argv[2], NULL, 16); > + uint32_t cnt = simple_strtoul(argv[3], NULL, 16); > + printf("Loading 0x%08XB @ 0x%08X -> 0x%08X...\n", cnt, src, dst); > + nand_spl_load_image(src, cnt, (void *)dst); > + return 0; > +} > + > +U_BOOT_CMD( > + a20_nandread, CONFIG_SYS_MAXARGS, 3, do_a20_nandread, > + "a20_nandread", > + "[offset size bytes]\n" > + " " > +); _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot