diff options
-rw-r--r-- | board/amcc/acadia/config.mk | 2 | ||||
-rw-r--r-- | board/amcc/yosemite/yosemite.c | 23 | ||||
-rw-r--r-- | cpu/ppc4xx/fdt.c | 26 | ||||
-rw-r--r-- | cpu/ppc4xx/speed.c | 2 | ||||
-rw-r--r-- | include/configs/acadia.h | 21 | ||||
-rw-r--r-- | include/configs/bamboo.h | 6 | ||||
-rw-r--r-- | include/configs/bubinga.h | 5 | ||||
-rw-r--r-- | include/configs/ebony.h | 6 | ||||
-rw-r--r-- | include/configs/katmai.h | 2 | ||||
-rw-r--r-- | include/configs/kilauea.h | 2 | ||||
-rw-r--r-- | include/configs/luan.h | 5 | ||||
-rw-r--r-- | include/configs/ocotea.h | 5 | ||||
-rw-r--r-- | include/configs/taihu.h | 5 | ||||
-rw-r--r-- | include/configs/taishan.h | 5 | ||||
-rw-r--r-- | include/configs/walnut.h | 6 | ||||
-rw-r--r-- | include/configs/yosemite.h | 6 | ||||
-rw-r--r-- | include/configs/yucca.h | 4 |
17 files changed, 117 insertions, 14 deletions
diff --git a/board/amcc/acadia/config.mk b/board/amcc/acadia/config.mk index af5a46c2a5d..290415c9d03 100644 --- a/board/amcc/acadia/config.mk +++ b/board/amcc/acadia/config.mk @@ -28,7 +28,7 @@ sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp ifndef TEXT_BASE -TEXT_BASE = 0xFFFC0000 +TEXT_BASE = 0xFFF80000 endif ifeq ($(debug),1) diff --git a/board/amcc/yosemite/yosemite.c b/board/amcc/yosemite/yosemite.c index 6ec922ab007..212fab8d08e 100644 --- a/board/amcc/yosemite/yosemite.c +++ b/board/amcc/yosemite/yosemite.c @@ -26,6 +26,8 @@ #include <asm/processor.h> #include <asm/io.h> #include <spd_sdram.h> +#include <libfdt.h> +#include <fdt_support.h> DECLARE_GLOBAL_DATA_PTR; @@ -554,3 +556,24 @@ void board_reset(void) /* give reset to BCSR */ *(unsigned char *)(CFG_BCSR_BASE | 0x06) = 0x09; } + +#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) +void ft_board_setup(void *blob, bd_t *bd) +{ + u32 val[4]; + int rc; + + ft_cpu_setup(blob, bd); + + /* Fixup NOR mapping */ + val[0] = 0; /* chip select number */ + val[1] = 0; /* always 0 */ + val[2] = gd->bd->bi_flashstart; + val[3] = gd->bd->bi_flashsize; + rc = fdt_find_and_setprop(blob, "/plb/opb/ebc", "ranges", + val, sizeof(val), 1); + if (rc) + printf("Unable to update property NOR mapping, err=%s\n", + fdt_strerror(rc)); +} +#endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */ diff --git a/cpu/ppc4xx/fdt.c b/cpu/ppc4xx/fdt.c index 02dece0c0ff..ccc73d5d64e 100644 --- a/cpu/ppc4xx/fdt.c +++ b/cpu/ppc4xx/fdt.c @@ -1,5 +1,5 @@ /* - * (C) Copyright 2007 + * (C) Copyright 2007-2008 * Stefan Roese, DENX Software Engineering, sr@denx.de. * * See file CREDITS for list of people who contributed to this @@ -27,7 +27,7 @@ #include <asm/cache.h> #include <ppc4xx.h> -#if defined(CONFIG_OF_LIBFDT) +#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) #include <libfdt.h> #include <libfdt_env.h> #include <fdt_support.h> @@ -35,6 +35,26 @@ DECLARE_GLOBAL_DATA_PTR; +void __ft_board_setup(void *blob, bd_t *bd) +{ + u32 val[4]; + int rc; + + ft_cpu_setup(blob, bd); + + /* Fixup NOR mapping */ + val[0] = 0; /* chip select number */ + val[1] = 0; /* always 0 */ + val[2] = gd->bd->bi_flashstart; + val[3] = gd->bd->bi_flashsize; + rc = fdt_find_and_setprop(blob, "/plb/opb/ebc", "ranges", + val, sizeof(val), 1); + if (rc) + printf("Unable to update property NOR mapping, err=%s\n", + fdt_strerror(rc)); +} +void ft_board_setup(void *blob, bd_t *bd) __attribute__((weak, alias("__ft_board_setup"))); + /* * Fixup all PCIe nodes by setting the device_type property * to "pci-endpoint" instead is "pci" for endpoint ports. @@ -109,4 +129,4 @@ void ft_cpu_setup(void *blob, bd_t *bd) */ fdt_pcie_setup(blob); } -#endif /* CONFIG_OF_LIBFDT */ +#endif /* CONFIG_OF_LIBFDT && CONFIG_OF_BOARD_SETUP */ diff --git a/cpu/ppc4xx/speed.c b/cpu/ppc4xx/speed.c index 05b42fec977..8b4e64a19cb 100644 --- a/cpu/ppc4xx/speed.c +++ b/cpu/ppc4xx/speed.c @@ -238,7 +238,7 @@ static u8 pll_fbdv_multi_bits[] = { /* values for: 101 - 200 */ 0x78, 0xf1, 0x62, 0xc5, 0x0a, 0x94, 0x28, 0xd0, 0x21, 0xc3, 0x06, 0x8c, 0x18, 0xb0, 0x60, 0xc1, 0x02, 0x84, 0x08, 0x90, - 0x20, 0xc0, 0x01, 0x83, 0x77, 0xff, 0x1f, 0xbf, 0x7f, 0xfe, + 0x20, 0xc0, 0x01, 0x83, 0x07, 0x8f, 0x1f, 0xbf, 0x7f, 0xfe, 0x7d, 0xfa, 0x75, 0xea, 0x55, 0xaa, 0x54, 0xa9, 0x53, 0xa6, 0x4c, 0x99, 0x33, 0xe7, 0x4e, 0x9d, 0x3b, 0xf7, 0x6e, 0xdd, 0x3a, 0xf4, 0x69, 0xd2, 0x25, 0xcb, 0x16, 0xac, 0x58, 0xb1, diff --git a/include/configs/acadia.h b/include/configs/acadia.h index 3cd5ad62c02..bbf726dc625 100644 --- a/include/configs/acadia.h +++ b/include/configs/acadia.h @@ -59,16 +59,16 @@ * Base addresses -- Note these are effective addresses where the * actual resources get mapped (not physical addresses) *----------------------------------------------------------------------*/ -#define CFG_MONITOR_LEN (256 * 1024)/* Reserve 256 kB for Monitor */ -#define CFG_MALLOC_LEN (512 * 1024)/* Reserve 512 kB for malloc() */ - #define CFG_SDRAM_BASE 0x00000000 #define CFG_FLASH_BASE 0xfe000000 -#define CFG_MONITOR_BASE TEXT_BASE #define CFG_CPLD_BASE 0x80000000 #define CFG_NAND_ADDR 0xd0000000 #define CFG_USB_HOST 0xef603000 /* USB OHCI 1.1 controller */ +#define CFG_MONITOR_BASE TEXT_BASE +#define CFG_MONITOR_LEN (0xFFFFFFFF - CFG_MONITOR_BASE + 1) +#define CFG_MALLOC_LEN (512 * 1024)/* Reserve 512 kB for malloc() */ + /*----------------------------------------------------------------------- * Initial RAM & stack pointer *----------------------------------------------------------------------*/ @@ -237,6 +237,7 @@ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_NET_MULTI 1 #define CFG_RX_ETH_BUFFER 16 /* # of rx buffers & descriptors*/ +#define CONFIG_HAS_ETH0 1 #define CONFIG_NETCONSOLE /* include NetConsole support */ @@ -246,6 +247,9 @@ #undef CONFIG_BOOTARGS +#define xstr(s) str(s) +#define str(s) #s + #define CONFIG_EXTRA_ENV_SETTINGS \ "netdev=eth0\0" \ "hostname=acadia\0" \ @@ -268,8 +272,9 @@ "ramdisk_addr=fff20000\0" \ "initrd_high=30000000\0" \ "load=tftp 200000 acadia/u-boot.bin\0" \ - "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ - "cp.b ${fileaddr} fffc0000 ${filesize};" \ + "update=protect off " xstr(CFG_MONITOR_BASE) " FFFFFFFF;" \ + "era " xstr(CFG_MONITOR_BASE) " FFFFFFFF;" \ + "cp.b ${fileaddr} " xstr(CFG_MONITOR_BASE) " ${filesize};" \ "setenv filesize;saveenv\0" \ "upd=run load update\0" \ "nload=tftp 200000 acadia/u-boot-nand.bin\0" \ @@ -501,4 +506,8 @@ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/bamboo.h b/include/configs/bamboo.h index 4ea040bc228..2f0df8ad2d0 100644 --- a/include/configs/bamboo.h +++ b/include/configs/bamboo.h @@ -291,6 +291,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ +#define CONFIG_HAS_ETH0 #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address, See schematics */ #define CONFIG_PHY1_ADDR 1 @@ -426,4 +427,9 @@ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif + +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/bubinga.h b/include/configs/bubinga.h index 784e7c0f8b3..cbd74a0d8db 100644 --- a/include/configs/bubinga.h +++ b/include/configs/bubinga.h @@ -128,6 +128,7 @@ #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 1 /* PHY address */ +#define CONFIG_HAS_ETH0 #define CONFIG_HAS_ETH1 #define CONFIG_PHY1_ADDR 2 /* EMAC1 PHY address */ #define CONFIG_NET_MULTI 1 @@ -435,4 +436,8 @@ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/ebony.h b/include/configs/ebony.h index 88fd7caa7a3..ba68fd4b967 100644 --- a/include/configs/ebony.h +++ b/include/configs/ebony.h @@ -201,6 +201,7 @@ #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 8 /* PHY address */ +#define CONFIG_HAS_ETH0 #define CONFIG_HAS_ETH1 #define CONFIG_PHY1_ADDR 9 /* EMAC1 PHY address */ #define CONFIG_NET_MULTI 1 @@ -306,4 +307,9 @@ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif + +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/katmai.h b/include/configs/katmai.h index d2f6b1021a3..cce883fd85f 100644 --- a/include/configs/katmai.h +++ b/include/configs/katmai.h @@ -79,7 +79,7 @@ #define CFG_ACE_BASE 0xfe000000 /* Xilinx ACE controller - Compact Flash */ #define CFG_MONITOR_BASE TEXT_BASE -#define CFG_MONITOR_LEN (0xFFFFFFFF - CFG_MONITOR_LEN + 1) +#define CFG_MONITOR_LEN (0xFFFFFFFF - CFG_MONITOR_BASE + 1) #define CFG_MALLOC_LEN (512 * 1024) /* Reserve 512 kB for malloc */ /*----------------------------------------------------------------------- diff --git a/include/configs/kilauea.h b/include/configs/kilauea.h index f4cf42c3116..57cc90a6de7 100644 --- a/include/configs/kilauea.h +++ b/include/configs/kilauea.h @@ -490,7 +490,7 @@ * Some Kilauea stuff..., mainly fpga registers */ #define CFG_FPGA_REG_BASE CFG_FPGA_BASE -#define CFG_FPGA_FIFO_BASE (in32(CFG_FPGA_BASE) | (1 << 11)) +#define CFG_FPGA_FIFO_BASE (in32(CFG_FPGA_BASE) | (1 << 10)) /* interrupt */ #define CFG_FPGA_SLIC0_R_DPRAM_INT 0x80000000 diff --git a/include/configs/luan.h b/include/configs/luan.h index af237d9be0b..37151d31fdd 100644 --- a/include/configs/luan.h +++ b/include/configs/luan.h @@ -195,6 +195,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ +#define CONFIG_HAS_ETH0 #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 1 #define CONFIG_CIS8201_PHY 1 /* Enable 'special' RGMII mode for Cicada phy */ @@ -306,4 +307,8 @@ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/ocotea.h b/include/configs/ocotea.h index 5a6eb4a37d4..be2b3ec7efd 100644 --- a/include/configs/ocotea.h +++ b/include/configs/ocotea.h @@ -330,4 +330,9 @@ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif + +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/taihu.h b/include/configs/taihu.h index 7db973676ba..8a1ff1acba4 100644 --- a/include/configs/taihu.h +++ b/include/configs/taihu.h @@ -114,6 +114,7 @@ #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0x14 /* PHY address */ +#define CONFIG_HAS_ETH0 #define CONFIG_HAS_ETH1 #define CONFIG_PHY1_ADDR 0x10 /* EMAC1 PHY address */ #define CONFIG_NET_MULTI 1 @@ -433,4 +434,8 @@ unsigned char spi_read(void); #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/taishan.h b/include/configs/taishan.h index 851a7ad40ae..1879d385220 100644 --- a/include/configs/taishan.h +++ b/include/configs/taishan.h @@ -331,4 +331,9 @@ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif + +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/walnut.h b/include/configs/walnut.h index f6e99aca777..adc420b9ade 100644 --- a/include/configs/walnut.h +++ b/include/configs/walnut.h @@ -92,6 +92,7 @@ #define CONFIG_PHY_ADDR 1 /* PHY address */ #define CFG_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */ +#define CONFIG_HAS_ETH0 1 #define CONFIG_NETCONSOLE /* include NetConsole support */ #define CONFIG_NET_MULTI /* needed for NetConsole */ @@ -346,4 +347,9 @@ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif + +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/yosemite.h b/include/configs/yosemite.h index c9323f60740..f22e79824cd 100644 --- a/include/configs/yosemite.h +++ b/include/configs/yosemite.h @@ -139,7 +139,6 @@ #define CFG_KBYTES_SDRAM (128 * 1024) /* 128MB */ #define CFG_SDRAM_BANKS (2) - /*----------------------------------------------------------------------- * I2C *----------------------------------------------------------------------*/ @@ -227,6 +226,7 @@ #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_NET_MULTI 1 /* required for netconsole */ #define CONFIG_PHY1_ADDR 3 +#define CONFIG_HAS_ETH0 1 /* add support for "ethaddr" */ #define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */ #define CONFIG_PHY_ADDR 1 /* PHY address, See schematics */ @@ -383,4 +383,8 @@ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ diff --git a/include/configs/yucca.h b/include/configs/yucca.h index 1e3571eb4dc..6f9d3e3c6f3 100644 --- a/include/configs/yucca.h +++ b/include/configs/yucca.h @@ -541,4 +541,8 @@ /*---------------------------------------------------------------------------*/ +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */ |