On 10:32 Fri 24 Jul , Albin Tonnerre wrote: > The Calao TNY-A9260 and TNY-9G20 are boards manufactured and sold by Calao > Systems <http://www.calao-systems.com>. Their components are very > similar to the AT91SAM9260EK board, so their configuration is based on > the configuration of this board. There are however some differences: > different clocks, no LCD, no ethernet. They also uses SPI EEPROM to store > the environment. eeprom for the env? why not in the same storage as u-boot > The SPI chip is a STM95080, and as it's used in a number of CALAO boards > which should be supported soon, the corresponding spi_read and spi_write > functions have been put in drivers/spi/eeprom_m95xxx.c > > Signed-off-by: Albin Tonnerre <albin.tonne...@free-electrons.com> > --- > Changelog since v1: > - Make the Makefile less verbose > - Add error checking for the result of get_ram_size > - Remove definition of the ROUND macro in configs/tny_a9260.h > - Move the MAINTAINERS entry to the correct place > - Add support for TNY-A9G20 in the process. The board is similar > to the TNY-A9260 except for the CPU, so this only adds a couple > ifdefs > - Minor formatting changes in comments please split in two patch one the the eeprom and one for the board > > MAINTAINERS | 4 + > MAKEALL | 1 + > Makefile | 18 ++++ > board/calao/tny_a9260/Makefile | 55 ++++++++++ > board/calao/tny_a9260/config.mk | 1 + > board/calao/tny_a9260/spi.c | 50 +++++++++ > board/calao/tny_a9260/tny_a9260.c | 110 ++++++++++++++++++++ > cpu/arm926ejs/at91/at91sam9260_devices.c | 2 +- > drivers/spi/Makefile | 1 + > drivers/spi/eeprom_m95xxx.c | 115 +++++++++++++++++++++ > include/configs/tny_a9260.h | 165 > ++++++++++++++++++++++++++++++ > 11 files changed, 521 insertions(+), 1 deletions(-) > create mode 100644 board/calao/tny_a9260/Makefile > create mode 100644 board/calao/tny_a9260/config.mk > create mode 100644 board/calao/tny_a9260/spi.c > create mode 100644 board/calao/tny_a9260/tny_a9260.c > create mode 100644 drivers/spi/eeprom_m95xxx.c > create mode 100644 include/configs/tny_a9260.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 17b2f9c..54477b3 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -675,6 +675,10 @@ Andrea Scian <andrea.sc...@dave-tech.it> > > B2 ARM7TDMI (S3C44B0X) > > +Albin Tonnerre <albin.tonne...@free-electrons.com> > + > + tny_a9260 ARM926EJS (AT91SAM9260 SoC) > + > Greg Ungerer <greg.unge...@opengear.com> > > cm4008 ks8695p > diff --git a/MAKEALL b/MAKEALL > index d38904a..20b22a6 100755 > --- a/MAKEALL > +++ b/MAKEALL > @@ -602,6 +602,7 @@ LIST_at91=" \ > m501sk \ > pm9261 \ > pm9263 \ > + tny_a9260 \ > " > > ######################################################################### > diff --git a/Makefile b/Makefile > index 2320db6..d9a093d 100644 > --- a/Makefile > +++ b/Makefile > @@ -2811,6 +2811,24 @@ at91sam9g45ekes_config : unconfig > pm9263_config : unconfig > @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9263 ronetix at91 > > +tny_a9g20_nandflash_config \ > +tny_a9g20_eeprom_config \ > +tny_a9g20_config \ > +tny_a9260_nandflash_config \ > +tny_a9260_eeprom_config \ > +tny_a9260_config : unconfig please add @mkdir $(obj)include otherwise the out of tree build will not work > + @if [ "$(findstring _nandflash,$@)" ] ; then \ > + echo "#define CONFIG_ENV_IS_IN_NAND" > >>$(obj)include/config.h ; \ > + else \ > + echo "#define CONFIG_ENV_IS_IN_EEPROM" > >>$(obj)include/config.h ; \ > + fi; > + @if [ "$(findstring _a9g20,$@)" ] ; then \ > + echo "#define CONFIG_TNY_A9G20" >>$(obj)include/config.h ; \ > + else \ > + echo "#define CONFIG_TNY_A9260" >>$(obj)include/config.h ; \ > + fi; > + @$(MKCONFIG) -a tny_a9260 arm arm926ejs tny_a9260 calao at91 > + > ######################################################################## > ## ARM Integrator boards - see doc/README-integrator for more info. > integratorap_config \ <snip> > + > +int board_init(void) > +{ > + /* Enable Ctrlc */ > + console_init_f(); > + > +#if defined(CONFIG_TNY_A9260) > + gd->bd->bi_arch_number = MACH_TYPE_TNY_A9260; > +#elif defined(CONFIG_TNY_A9G20) > + gd->bd->bi_arch_number = MACH_TYPE_TNY_A9G20; > +#endif > + /* adress of boot parameters */ > + gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; > + > + at91_serial_hw_init(); > + tny_a9260_nand_hw_init(); > + at91_spi0_hw_init(1 << 5 | 1 << 1); you can remove the 1 << 1 as the dataflash driver is deprecated now > + return 0; > +} > + > +int dram_init(void) > +{ > + gd->bd->bi_dram[0].start = PHYS_SDRAM; > + if(get_ram_size((long *) PHYS_SDRAM, PHYS_SDRAM_SIZE) != > PHYS_SDRAM_SIZE) > + return -1; > + > + gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE; > + return 0; > +} > diff --git a/cpu/arm926ejs/at91/at91sam9260_devices.c > b/cpu/arm926ejs/at91/at91sam9260_devices.c > index 5309ba2..f86cb99 100644 <qnip> > + > +/* SPI EEPROM */ > +#define CONFIG_SPI > +#define CONFIG_CMD_SPI > +#define CONFIG_ATMEL_SPI > +#define CONFIG_SYS_SPI_WRITE_TOUT (5*CONFIG_SYS_HZ) > +#define AT91_SPI_CLK 15000000 no need please remove > + > +#define CONFIG_CMD_EEPROM > +#define CONFIG_M95XXX_SPI > +#define CONFIG_SYS_EEPROM_SIZE 0x10000 > +#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 > + > +/* NAND flash */ > +#define CONFIG_CMD_NAND > +#define CONFIG_NAND_ATMEL > +#define CONFIG_SYS_MAX_NAND_DEVICE 1 > +#define CONFIG_SYS_NAND_BASE 0x40000000 > +#define CONFIG_SYS_NAND_DBW_8 1 > +/* our ALE is AD21 */ > +#define CONFIG_SYS_NAND_MASK_ALE (1 << 21) > +/* our CLE is AD22 */ > +#define CONFIG_SYS_NAND_MASK_CLE (1 << 22) > +#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PC14 > +#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC13 > + > +/* NOR flash - no real flash on this board */ > +#define CONFIG_SYS_NO_FLASH 1 > + > +#define CONFIG_DOS_PARTITION 1 > +#define CONFIG_CMD_FAT 1 > + > +#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address > */ > + > +#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM > +#define CONFIG_SYS_MEMTEST_END 0x23e00000 > + > +/* Env in EEPROM, bootstrap + u-boot in NAND*/ > +#ifdef CONFIG_ENV_IS_IN_EEPROM > +#define CONFIG_ENV_OFFSET 0x20 > +#define CONFIG_ENV_SIZE 0x1000 > +#endif > + > +/* Env, bootstrap and u-boot in NAND */ > +#ifdef CONFIG_ENV_IS_IN_NAND > +#define CONFIG_ENV_OFFSET 0x60000 > +#define CONFIG_ENV_OFFSET_REDUND 0x80000 > +#define CONFIG_ENV_SIZE 0x20000 > +#endif > + > +#define CONFIG_BOOTCOMMAND "nboot 0x21000000 0 400000" > +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ whispace please fix and so on > + "root=/dev/mtdblock1 " \ > + "mtdparts=atmel_nand:16M(kernel)ro," \ > + "120M(rootfs),-(other) " \ > + "rw rootfstype=jffs2" > + > +#define CONFIG_BAUDRATE 115200 > +#define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 } > + Best Regards, J. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Support for the Calao TNY-A9260/TNY-A9G20 boards
Jean-Christophe PLAGNIOL-VILLARD Sat, 01 Aug 2009 07:20:44 -0700
- [U-Boot] [PATCH] Support for the Calao TN... Albin Tonnerre
- Re: [U-Boot] [PATCH] Support for the... Wolfgang Denk
- Re: [U-Boot] [PATCH] Support for... Albin Tonnerre
- Re: [U-Boot] [PATCH] Support... Wolfgang Denk
- Re: [U-Boot] [PATCH] Sup... Albin Tonnerre
- Re: [U-Boot] [PATCH... Wolfgang Denk
- Re: [U-Boot] [P... Albin Tonnerre
- Re: [U-Boot... Wolfgang Denk
- [U-Boot] [PATCH] Support for the... Albin Tonnerre
- Re: [U-Boot] [PATCH] Support... Jean-Christophe PLAGNIOL-VILLARD
- Re: [U-Boot] [PATCH] Sup... Albin Tonnerre
- Re: [U-Boot] [PATCH... Jean-Christophe PLAGNIOL-VILLARD
- [U-Boot] [PATCH... Albin Tonnerre
- [U-Boot] [P... Albin Tonnerre
- Re: [U-Boot... Jean-Christophe PLAGNIOL-VILLARD
- Re: [U-Boot... Albin Tonnerre
- Re: [U-Boot... Jean-Christophe PLAGNIOL-VILLARD
- [U-Boot] [P... Albin Tonnerre
- [U-Boot] [P... Albin Tonnerre
- Re: [U-Boot... Jean-Christophe PLAGNIOL-VILLARD