diff options
author | Heiko Schocher <hs@denx.de> | 2010-01-07 08:55:50 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-01-18 00:43:54 +0100 |
commit | 4897ee33c98b4b29efd62854052eb7862380b5ae (patch) | |
tree | 5a08d904a6dc7e449614f0194e42505dda2d73ab /board/keymile/mgcoge | |
parent | 1567b596d9f4a7ff49ebdca29e15a33777dfd670 (diff) | |
download | u-boot-imx-4897ee33c98b4b29efd62854052eb7862380b5ae.zip u-boot-imx-4897ee33c98b4b29efd62854052eb7862380b5ae.tar.gz u-boot-imx-4897ee33c98b4b29efd62854052eb7862380b5ae.tar.bz2 |
powerpc: keymile boards updates
- malloc size 4 MB for all keymile boards
- use generic FDT code for fixing up the DTS
- enable unit-led at startup for keymile boards
- remove some dts updates for keymile boards
- ppc_83xx, kmeter1: take FE/GbE PHYs out of reset
- ppc_83xx, kmeter1: change from Intel Strata to Spansion 64MB flash
changed from Intel Strata to Spansion 64MB flash and changed flash layout.
+---------+----------+-----------------------+-----------------------------+
| name | size | range | description |
+---------+----------+-----------------------+-----------------------------+
| u-boot | 768 KB | 0xf0000000-0xf00bffff | for u-boot |
| env | 128 KB | 0xf00c0000-0xf00dffff | for environment |
| envred | 128 KB | 0xf00e0000-0xf00fffff | for environment (redundant) |
| ubi0 | 64512 KB | 0xf0100000-0xf3ffffff | ubi0 for ubi volumes |
+---------+----------+-----------------------+-----------------------------+
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'board/keymile/mgcoge')
-rw-r--r-- | board/keymile/mgcoge/mgcoge.c | 62 |
1 files changed, 3 insertions, 59 deletions
diff --git a/board/keymile/mgcoge/mgcoge.c b/board/keymile/mgcoge/mgcoge.c index 932a805..5c9496c 100644 --- a/board/keymile/mgcoge/mgcoge.c +++ b/board/keymile/mgcoge/mgcoge.c @@ -299,7 +299,9 @@ int checkboard(void) int board_early_init_r (void) { /* setup the UPIOx */ - out_8((u8 *)(CONFIG_SYS_PIGGY_BASE + 0x02), 0xc0); + /* General Unit Reset disabled, Flash Bank enabled, UnitLed on */ + out_8((u8 *)(CONFIG_SYS_PIGGY_BASE + 0x02), 0xc2); + /* SCC4 enable, halfduplex, FCC1 powerdown */ out_8((u8 *)(CONFIG_SYS_PIGGY_BASE + 0x03), 0x15); return 0; } @@ -311,66 +313,8 @@ int hush_init_var (void) } #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) -/* - * update "flash" property in the blob - */ -void ft_blob_update (void *blob, bd_t *bd) -{ - ulong *flash_data = NULL; - ulong flash_reg[6] = {0}; - flash_info_t *info; - int len; - int size; - int i = 0; - - len = fdt_get_node_and_value (blob, "/localbus", "ranges", - (void *)&flash_data); - - if (flash_data == NULL) { - printf ("%s: error /localbus/ranges entry\n", __FUNCTION__); - return; - } - - /* update Flash addr, size */ - while ( i < (len / 4)) { - switch (flash_data[i]) { - case 0: - info = flash_get_info(CONFIG_SYS_FLASH_BASE); - flash_data[i + 1] = 0; - flash_data[i + 2] = cpu_to_be32 (CONFIG_SYS_FLASH_BASE); - flash_data[i + 3] = cpu_to_be32 (info->size); - break; - case 5: - info = flash_get_info(CONFIG_SYS_FLASH_BASE_1); - size = info->size; - info = flash_get_info(CONFIG_SYS_FLASH_BASE_2); - size += info->size; - flash_data[i + 1] = 0; - flash_data[i + 2] = cpu_to_be32 (CONFIG_SYS_FLASH_BASE_1); - flash_data[i + 3] = cpu_to_be32 (size); - break; - default: - break; - } - i += 4; - } - fdt_set_node_and_value (blob, "/localbus", "ranges", flash_data, - len); - - info = flash_get_info(CONFIG_SYS_FLASH_BASE_1); - flash_reg[0] = cpu_to_be32 (5); - flash_reg[2] = cpu_to_be32 (info->size); - flash_reg[3] = flash_reg[0]; - flash_reg[4] = flash_reg[2]; - info = flash_get_info(CONFIG_SYS_FLASH_BASE_2); - flash_reg[5] = cpu_to_be32 (info->size); - fdt_set_node_and_value (blob, "/localbus/flash@5,0", "reg", flash_reg, - sizeof (flash_reg)); -} - void ft_board_setup (void *blob, bd_t *bd) { ft_cpu_setup (blob, bd); - ft_blob_update (blob, bd); } #endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */ |