[U-Boot] [PATCH 3/3] cpuat91: fix board support

Eric Bénard eric at eukrea.com
Sun Apr 3 18:35:55 CEST 2011


- fix board support following relocation changes
- switch to boards.cfg
- disable i2c to keep size under 128kiB (1 sector)

Signed-off-by: Eric Bénard <eric at eukrea.com>
---
 Makefile                       |   10 ---
 board/eukrea/cpuat91/Makefile  |    4 +-
 board/eukrea/cpuat91/config.mk |    1 -
 board/eukrea/cpuat91/cpuat91.c |   11 ++--
 boards.cfg                     |    2 +
 include/configs/cpuat91.h      |  141 ++++++++++++++++++++++------------------
 6 files changed, 87 insertions(+), 82 deletions(-)
 delete mode 100644 board/eukrea/cpuat91/config.mk

diff --git a/Makefile b/Makefile
index 10a856a..aeb6e7c 100644
--- a/Makefile
+++ b/Makefile
@@ -749,16 +749,6 @@ M5485HFE_config :	unconfig
 #========================================================================
 
 #########################################################################
-## Atmel AT91RM9200 Systems
-#########################################################################
-
-CPUAT91_RAM_config \
-CPUAT91_config	:	unconfig
-	@mkdir -p $(obj)include
-	@echo "#define CONFIG_$(@:_config=) 1"	>$(obj)include/config.h
-	@$(MKCONFIG) -n $@ -a cpuat91 arm arm920t cpuat91 eukrea at91
-
-#########################################################################
 ## ARM926EJ-S Systems
 #########################################################################
 
diff --git a/board/eukrea/cpuat91/Makefile b/board/eukrea/cpuat91/Makefile
index 15da3d8..1d62b13 100644
--- a/board/eukrea/cpuat91/Makefile
+++ b/board/eukrea/cpuat91/Makefile
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(BOARD).o
 
-COBJS	:= cpuat91.o
+COBJS	:= $(BOARD).o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS))
@@ -38,7 +38,7 @@ clean:
 	rm -f $(SOBJS) $(OBJS)
 
 distclean:	clean
-	rm -f $(LIB) core *.bak .depend
+	rm -f $(LIB) core *.bak $(obj).depend
 
 #########################################################################
 
diff --git a/board/eukrea/cpuat91/config.mk b/board/eukrea/cpuat91/config.mk
deleted file mode 100644
index 463f46b..0000000
--- a/board/eukrea/cpuat91/config.mk
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SYS_TEXT_BASE = 0x21F00000
diff --git a/board/eukrea/cpuat91/cpuat91.c b/board/eukrea/cpuat91/cpuat91.c
index cd4d42c..4c4dad6 100644
--- a/board/eukrea/cpuat91/cpuat91.c
+++ b/board/eukrea/cpuat91/cpuat91.c
@@ -47,24 +47,23 @@ int board_init(void)
 	/* arch number of CPUAT91-Board */
 	gd->bd->bi_arch_number = MACH_TYPE_CPUAT91;
 	/* adress of boot parameters */
-	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
+	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
 
 	return 0;
 }
 
 int dram_init(void)
 {
-	gd->bd->bi_dram[0].start = PHYS_SDRAM;
-	gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
+	/* dram_init must store complete ramsize in gd->ram_size */
+	gd->ram_size = get_ram_size((volatile long *)CONFIG_SYS_SDRAM_BASE,
+			CONFIG_SYS_SDRAM_SIZE);
 	return 0;
 }
 
 #ifdef CONFIG_DRIVER_AT91EMAC
 int board_eth_init(bd_t *bis)
 {
-	int rc = 0;
-	rc = at91emac_register(bis, 0);
-	return rc;
+	return at91emac_register(bis, (u32) AT91_EMAC_BASE);
 }
 #endif
 
diff --git a/boards.cfg b/boards.cfg
index 2f0d1df..64b5f95 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -52,6 +52,8 @@ a320evb                      arm         arm920t     -                   faraday
 at91rm9200ek                 arm         arm920t     at91rm9200ek        atmel          at91        at91rm9200ek
 at91rm9200ek_ram             arm         arm920t     at91rm9200ek        atmel          at91        at91rm9200ek:RAMBOOT
 eb_cpux9k2                   arm         arm920t     -                   BuS            at91
+cpuat91                      arm         arm920t     cpuat91             eukrea         at91        cpuat91
+cpuat91_ram                  arm         arm920t     cpuat91             eukrea         at91        cpuat91:RAMBOOT
 cmc_pu2                      arm         arm920t     -                   -              at91rm9200
 csb637                       arm         arm920t     -                   -              at91rm9200
 kb9202                       arm         arm920t     -                   -              at91rm9200
diff --git a/include/configs/cpuat91.h b/include/configs/cpuat91.h
index f31081d..cfaef15 100644
--- a/include/configs/cpuat91.h
+++ b/include/configs/cpuat91.h
@@ -26,30 +26,36 @@
 #ifndef _CONFIG_CPUAT91_H
 #define _CONFIG_CPUAT91_H
 
-#ifdef CONFIG_CPUAT91_RAM
-#define CONFIG_SKIP_LOWLEVEL_INIT	1
+#include <asm/sizes.h>
+
+#ifdef CONFIG_RAMBOOT
+#define CONFIG_SKIP_LOWLEVEL_INIT
+#define CONFIG_SYS_TEXT_BASE		0x21F00000
 #else
 #define CONFIG_BOOTDELAY		1
+#define CONFIG_SYS_TEXT_BASE		0
 #endif
 
-#define AT91C_MAIN_CLOCK		179712000
-#define AT91C_MASTER_CLOCK		59904000
-
-#define AT91_SLOW_CLOCK			32768
+#define AT91C_XTAL_CLOCK		18432000
+#define AT91C_MAIN_CLOCK		((AT91C_XTAL_CLOCK / 4) * 39)
+#define AT91C_MASTER_CLOCK		(AT91C_MAIN_CLOCK / 3)
+#define CONFIG_SYS_HZ_CLOCK		(AT91C_MASTER_CLOCK / 2)
+#define CONFIG_SYS_HZ			1000
 
-#define CONFIG_ARM920T			1
-#define CONFIG_AT91RM9200		1
-#define CONFIG_CPUAT91			1
+#define CONFIG_ARM920T
+#define CONFIG_AT91RM9200
+#define CONFIG_CPUAT91
+#define CONFIG_AT91FAMILY
 
 #undef CONFIG_USE_IRQ
-#define USE_920T_MMU			1
+#define USE_920T_MMU
 
-#define CONFIG_CMDLINE_TAG		1
-#define CONFIG_SETUP_MEMORY_TAGS	1
-#define CONFIG_INITRD_TAG		1
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_INITRD_TAG
 
 #ifndef CONFIG_SKIP_LOWLEVEL_INIT
-#define CONFIG_SYS_USE_MAIN_OSCILLATOR	1
+#define CONFIG_SYS_USE_MAIN_OSCILLATOR
 /* flash */
 #define CONFIG_SYS_MC_PUIA_VAL	0x00000000
 #define CONFIG_SYS_MC_PUP_VAL	0x00000000
@@ -81,17 +87,15 @@
 #endif	/* CONFIG_SKIP_LOWLEVEL_INIT */
 
 /* define one of these to choose the DBGU, USART0 or USART1 as console */
-#define CONFIG_AT91RM9200_USART		1
-#define CONFIG_DBGU			1
-#undef CONFIG_USART0
-#undef CONFIG_USART1
+#define CONFIG_AT91RM9200_USART
+#define CONFIG_DBGU
 
 #undef CONFIG_HARD_I2C
-#define CONFIG_SOFT_I2C			1
+#undef CONFIG_SOFT_I2C
 #define AT91_PIN_SDA			(1<<25)
 #define AT91_PIN_SCL			(1<<26)
 
-#define CONFIG_SYS_I2C_INIT_BOARD	1
+#define CONFIG_SYS_I2C_INIT_BOARD
 #define	CONFIG_SYS_I2C_SPEED		50000
 #define CONFIG_SYS_I2C_SLAVE		0
 
@@ -117,70 +121,77 @@
 #define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW	1
 #define	CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	10
 
-#define CONFIG_BOOTP_BOOTFILESIZE	1
-#define CONFIG_BOOTP_BOOTPATH		1
-#define CONFIG_BOOTP_GATEWAY		1
-#define CONFIG_BOOTP_HOSTNAME		1
+#define CONFIG_BOOTP_BOOTFILESIZE
+#define CONFIG_BOOTP_BOOTPATH
+#define CONFIG_BOOTP_GATEWAY
+#define CONFIG_BOOTP_HOSTNAME
 
 #include <config_cmd_default.h>
 
-#define CONFIG_CMD_DHCP			1
-#define CONFIG_CMD_PING			1
-#define CONFIG_CMD_MII			1
-#define CONFIG_CMD_CACHE		1
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_MII
+#define CONFIG_CMD_CACHE
 #undef CONFIG_CMD_USB
 #undef CONFIG_CMD_FPGA
 #undef CONFIG_CMD_IMI
 #undef CONFIG_CMD_LOADS
 #undef CONFIG_CMD_NFS
+#undef CONFIG_CMD_DHCP
 
-#define CONFIG_CMD_EEPROM		1
-#define CONFIG_CMD_I2C			1
+#ifdef CONFIG_SOFT_I2C
+#define CONFIG_CMD_EEPROM
+#define CONFIG_CMD_I2C
+#endif
 
 #define CONFIG_NR_DRAM_BANKS			1
-#define PHYS_SDRAM				0x20000000
-#define PHYS_SDRAM_SIZE				0x02000000
+#define CONFIG_SYS_SDRAM_BASE			0x20000000
+#define CONFIG_SYS_SDRAM_SIZE			(32 * 1024 * 1024)
 
-#define CONFIG_SYS_MEMTEST_START		PHYS_SDRAM
+#define CONFIG_SYS_MEMTEST_START		CONFIG_SYS_SDRAM_BASE
 #define CONFIG_SYS_MEMTEST_END			\
-	(CONFIG_SYS_MEMTEST_START + PHYS_SDRAM_SIZE - 512 * 1024)
+	(CONFIG_SYS_MEMTEST_START + CONFIG_SYS_SDRAM_SIZE - 512 * 1024)
 
-#define CONFIG_NET_MULTI		1
-#define CONFIG_DRIVER_AT91EMAC		1
-#define CONFIG_SYS_RX_ETH_BUFFER	8
-#define CONFIG_RMII			1
-#define CONFIG_MII			1
+#define CONFIG_NET_MULTI
+#define CONFIG_DRIVER_AT91EMAC
+#define CONFIG_SYS_RX_ETH_BUFFER	16
+#define CONFIG_RMII
+#define CONFIG_MII
 #define CONFIG_DRIVER_AT91EMAC_PHYADDR	1
 #define CONFIG_NET_RETRY_COUNT			20
-#define CONFIG_KS8721_PHY			1
+#define CONFIG_KS8721_PHY
 
-#define CONFIG_SYS_FLASH_CFI			1
-#define CONFIG_FLASH_CFI_DRIVER			1
-#define CONFIG_SYS_FLASH_EMPTY_INFO		1
-#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
+#define CONFIG_SYS_FLASH_CFI
+#define CONFIG_FLASH_CFI_DRIVER
+#define CONFIG_SYS_FLASH_EMPTY_INFO
+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
 #define CONFIG_SYS_MAX_FLASH_BANKS		1
-#define CONFIG_SYS_FLASH_PROTECTION		1
+#define CONFIG_SYS_FLASH_PROTECTION
 #define PHYS_FLASH_1				0x10000000
 #define CONFIG_SYS_FLASH_BASE			PHYS_FLASH_1
 #define CONFIG_SYS_MAX_FLASH_SECT		128
 #define CONFIG_SYS_FLASH_CFI_WIDTH		FLASH_CFI_16BIT
+#define CONFIG_SYS_MONITOR_BASE			PHYS_FLASH_1
+#define PHYS_FLASH_SIZE				(16 * 1024 * 1024)
+#define CONFIG_SYS_FLASH_BANKS_LIST		\
+		{ PHYS_FLASH_1 }
 
 #if defined(CONFIG_CMD_USB)
-#define CONFIG_USB_OHCI_NEW			1
-#define CONFIG_USB_STORAGE			1
-#define CONFIG_DOS_PARTITION			1
-#define CONFIG_AT91C_PQFP_UHPBU			1
+#define CONFIG_USB_ATMEL
+#define CONFIG_USB_OHCI_NEW
+#define CONFIG_USB_STORAGE
+#define CONFIG_DOS_PARTITION
+#define CONFIG_AT91C_PQFP_UHPBU
 #undef CONFIG_SYS_USB_OHCI_BOARD_INIT
-#define CONFIG_SYS_USB_OHCI_CPU_INIT		1
+#define CONFIG_SYS_USB_OHCI_CPU_INIT
 #define CONFIG_SYS_USB_OHCI_REGS_BASE		AT91_USB_HOST_BASE
 #define CONFIG_SYS_USB_OHCI_SLOT_NAME		"at91rm9200"
 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	15
 #endif
 
-#define CONFIG_ENV_IS_IN_FLASH		1
-#define CONFIG_ENV_ADDR			(PHYS_FLASH_1 + 0x20000)
-#define CONFIG_ENV_SIZE			0x20000
-#define CONFIG_ENV_SECT_SIZE		0x20000
+#define CONFIG_ENV_IS_IN_FLASH
+#define CONFIG_ENV_ADDR				(PHYS_FLASH_1 + 128 * 1024)
+#define CONFIG_ENV_SIZE				(128 * 1024)
+#define CONFIG_ENV_SECT_SIZE		(128 * 1024)
 
 #define CONFIG_SYS_LOAD_ADDR		0x21000000
 
@@ -192,29 +203,33 @@
 #define CONFIG_SYS_MAXARGS		32
 #define CONFIG_SYS_PBSIZE		\
 	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_CMDLINE_EDITING		1
-#define CONFIG_SYS_LONGHELP		1
+#define CONFIG_CMDLINE_EDITING
 
-#define CONFIG_SYS_HZ			1000
-#define CONFIG_SYS_HZ_CLOCK		(AT91C_MASTER_CLOCK / 2)
+#define CONFIG_SYS_MALLOC_LEN		\
+			ROUND(3 * CONFIG_ENV_SIZE + 128 * 1024, 4 * 1024)
+
+#define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_SDRAM_BASE + 4 * 1024 - \
+				GENERATED_GBL_DATA_SIZE)
 
-#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128 * 1024)
 #define CONFIG_STACKSIZE		(32 * 1024)
+#define CONFIG_STACKSIZE_IRQ		(4 * 1024)
+#define CONFIG_STACKSIZE_FIQ		(4 * 1024)
+
 
 #if defined(CONFIG_USE_IRQ)
 #error CONFIG_USE_IRQ not supported
 #endif
 
-#define CONFIG_DEVICE_NULLDEV	 	1
-#define CONFIG_SILENT_CONSOLE		1
+#define CONFIG_DEVICE_NULLDEV
+#define CONFIG_SILENT_CONSOLE
 
-#define CONFIG_AUTOBOOT_KEYED		1
+#define CONFIG_AUTOBOOT_KEYED
 #define CONFIG_AUTOBOOT_PROMPT		\
 	"Press SPACE to abort autoboot\n"
 #define CONFIG_AUTOBOOT_STOP_STR	" "
 #define CONFIG_AUTOBOOT_DELAY_STR	"d"
 
-#define CONFIG_VERSION_VARIABLE		1
+#define CONFIG_VERSION_VARIABLE
 
 #define MTDIDS_DEFAULT			"nor0=physmap-flash.0"
 #define MTDPARTS_DEFAULT		\
-- 
1.7.4



More information about the U-Boot mailing list