diff options
Diffstat (limited to 'board')
-rw-r--r-- | board/Marvell/openrd/Makefile (renamed from board/Marvell/openrd_base/Makefile) | 2 | ||||
-rw-r--r-- | board/Marvell/openrd/kwbimage.cfg (renamed from board/Marvell/openrd_base/kwbimage.cfg) | 0 | ||||
-rw-r--r-- | board/Marvell/openrd/openrd.c (renamed from board/Marvell/openrd_base/openrd_base.c) | 33 | ||||
-rw-r--r-- | board/Marvell/openrd/openrd.h (renamed from board/Marvell/openrd_base/openrd_base.h) | 0 | ||||
-rw-r--r-- | board/davinci/da8xxevm/da850evm.c | 4 | ||||
-rw-r--r-- | board/freescale/mx31pdk/mx31pdk.c | 16 |
6 files changed, 47 insertions, 8 deletions
diff --git a/board/Marvell/openrd_base/Makefile b/board/Marvell/openrd/Makefile index d6d0ed3379..19020e435f 100644 --- a/board/Marvell/openrd_base/Makefile +++ b/board/Marvell/openrd/Makefile @@ -31,7 +31,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).o -COBJS := openrd_base.o +COBJS := openrd.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS)) diff --git a/board/Marvell/openrd_base/kwbimage.cfg b/board/Marvell/openrd/kwbimage.cfg index 757eb2816f..757eb2816f 100644 --- a/board/Marvell/openrd_base/kwbimage.cfg +++ b/board/Marvell/openrd/kwbimage.cfg diff --git a/board/Marvell/openrd_base/openrd_base.c b/board/Marvell/openrd/openrd.c index 10109c1322..87939decf3 100644 --- a/board/Marvell/openrd_base/openrd_base.c +++ b/board/Marvell/openrd/openrd.c @@ -31,7 +31,7 @@ #include <miiphy.h> #include <asm/arch/kirkwood.h> #include <asm/arch/mpp.h> -#include "openrd_base.h" +#include "openrd.h" DECLARE_GLOBAL_DATA_PTR; @@ -110,7 +110,13 @@ int board_init(void) /* * arch number of board */ +#if defined(CONFIG_BOARD_IS_OPENRD_BASE) gd->bd->bi_arch_number = MACH_TYPE_OPENRD_BASE; +#elif defined(CONFIG_BOARD_IS_OPENRD_CLIENT) + gd->bd->bi_arch_number = MACH_TYPE_OPENRD_CLIENT; +#elif defined(CONFIG_BOARD_IS_OPENRD_ULTIMATE) + gd->bd->bi_arch_number = MACH_TYPE_OPENRD_ULTIMATE; +#endif /* adress of boot parameters */ gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100; @@ -118,12 +124,11 @@ int board_init(void) } #ifdef CONFIG_RESET_PHY_R -/* Configure and enable MV88E1116 PHY */ -void reset_phy(void) +/* Configure and enable MV88E1116/88E1121 PHY */ +void mv_phy_init(char *name) { u16 reg; u16 devadr; - char *name = "egiga0"; if (miiphy_set_current_dev(name)) return; @@ -148,6 +153,24 @@ void reset_phy(void) /* reset the phy */ miiphy_reset(name, devadr); - printf("88E1116 Initialized on %s\n", name); + printf(PHY_NO" Initialized on %s\n", name); +} + +void reset_phy(void) +{ + mv_phy_init("egiga0"); + +#ifdef CONFIG_BOARD_IS_OPENRD_CLIENT + /* Kirkwood ethernet driver is written with the assumption that in case + * of multiple PHYs, their addresses are consecutive. But unfortunately + * in case of OpenRD-Client, PHY addresses are not consecutive.*/ + miiphy_write("egiga1", 0xEE, 0xEE, 24); +#endif + +#if defined(CONFIG_BOARD_IS_OPENRD_CLIENT) || \ + defined(CONFIG_BOARD_IS_OPENRD_ULTIMATE) + /* configure and initialize both PHY's */ + mv_phy_init("egiga1"); +#endif } #endif /* CONFIG_RESET_PHY_R */ diff --git a/board/Marvell/openrd_base/openrd_base.h b/board/Marvell/openrd/openrd.h index f3daf176aa..f3daf176aa 100644 --- a/board/Marvell/openrd_base/openrd_base.h +++ b/board/Marvell/openrd/openrd.h diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c index b088c9c3e3..73eaa48b0b 100644 --- a/board/davinci/da8xxevm/da850evm.c +++ b/board/davinci/da8xxevm/da850evm.c @@ -179,12 +179,12 @@ int board_init(void) * Linux kernel @ 25MHz EMIFA */ writel((DAVINCI_ABCR_WSETUP(0) | - DAVINCI_ABCR_WSTROBE(0) | + DAVINCI_ABCR_WSTROBE(1) | DAVINCI_ABCR_WHOLD(0) | DAVINCI_ABCR_RSETUP(0) | DAVINCI_ABCR_RSTROBE(1) | DAVINCI_ABCR_RHOLD(0) | - DAVINCI_ABCR_TA(0) | + DAVINCI_ABCR_TA(1) | DAVINCI_ABCR_ASIZE_8BIT), &davinci_emif_regs->ab2cr); /* CS3 */ #endif diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index 826fb4a86d..08addd29e1 100644 --- a/board/freescale/mx31pdk/mx31pdk.c +++ b/board/freescale/mx31pdk/mx31pdk.c @@ -28,9 +28,17 @@ #include <netdev.h> #include <asm/arch/clock.h> #include <asm/arch/imx-regs.h> +#include <watchdog.h> DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_HW_WATCHDOG +void hw_watchdog_reset(void) +{ + mxc_hw_watchdog_reset(); +} +#endif + int dram_init(void) { /* dram_init must store complete ramsize in gd->ram_size */ @@ -68,6 +76,14 @@ int board_init(void) return 0; } +int board_late_init(void) +{ +#ifdef CONFIG_HW_WATCHDOG + mxc_hw_watchdog_enable(); +#endif + return 0; +} + int checkboard(void) { printf("Board: MX31PDK\n"); |