From 63e73c9a8ed5b32d9c4067ffaad953e9a8fe8f0a Mon Sep 17 00:00:00 2001 From: wdenk Date: Mon, 23 Feb 2004 22:22:28 +0000 Subject: * Patches by Reinhard Meyer, 14 Feb 2004: - update board/emk tree; use common flash driver - Corrected tested bits in machine check exception in cpu/mpc5xxx/traps.c [adapted for other PPC CPUs -- wd] - Added support for the M48T08 on the EVAL5200 board in rtc/mk48t59.c * Patch by Jon Diekema, 13 Feb 2004: Call show_boot_progress() whenever POST "FAILED" is printed. * Patch by Nishant Kamat, 13 Feb 2004: Add support for TI OMAP1610 H2 Board Fixes for cpu/arm926ejs/interrupt.c (based on Richard Woodruff's patch for arm925, 16 Oct 03) Fix for a timer bug in OMAP1610 Innovator Add support for CS0 (ROM)/CS3 (Flash) boot in OMAP1610 Innovator and H2 * Patches by Stephan Linz, 12 Feb 2004: - add support for NIOS timer with variable period preload counter value - prepare POST framework support for NIOS targets * Patch by Denis Peter, 11 Feb 2004: add POST support for the MIP405 board --- board/omap1610inn/omap1610innovator.c | 25 +++++++++++++++++- board/omap1610inn/platform.S | 49 +++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) (limited to 'board/omap1610inn') diff --git a/board/omap1610inn/omap1610innovator.c b/board/omap1610inn/omap1610innovator.c index d737f1b330..0f67a0c590 100644 --- a/board/omap1610inn/omap1610innovator.c +++ b/board/omap1610inn/omap1610innovator.c @@ -10,6 +10,8 @@ * Texas Instruments, * Kshitij Gupta * + * Modified for OMAP 1610 H2 board by Nishant Kamat, Jan 2004 + * * See file CREDITS for list of people who contributed to this * project. * @@ -105,7 +107,28 @@ void flash__init (void) *************************************************************/ void ether__init (void) { -#define ETH_CONTROL_REG 0x0400000b +#define ETH_CONTROL_REG 0x0400030b + +#ifdef CONFIG_H2_OMAP1610 + #define LAN_RESET_REGISTER 0x0400001c + + /* The debug board on which the lan chip resides may not be powered + * ON at the same time as the OMAP chip. So wait in a loop until the + * lan reset register (on the debug board) is available (powered on) + * and reset the lan chip. + */ + + *((volatile unsigned short *) LAN_RESET_REGISTER) = 0x0000; + do { + *((volatile unsigned short *) LAN_RESET_REGISTER) = 0x0001; + udelay (3); + } while (*((volatile unsigned short *) LAN_RESET_REGISTER) != 0x0001); + + do { + *((volatile unsigned short *) LAN_RESET_REGISTER) = 0x0000; + udelay (3); + } while (*((volatile unsigned short *) LAN_RESET_REGISTER) != 0x0000); +#endif *((volatile unsigned char *) ETH_CONTROL_REG) &= ~0x01; udelay (3); diff --git a/board/omap1610inn/platform.S b/board/omap1610inn/platform.S index cad152b7b2..17756953ea 100644 --- a/board/omap1610inn/platform.S +++ b/board/omap1610inn/platform.S @@ -5,6 +5,8 @@ * Texas Instruments, * Kshitij Gupta * + * Modified for OMAP 1610 H2 board by Nishant Kamat, Jan 2004 + * * See file CREDITS for list of people who contributed to this * project. * @@ -248,6 +250,22 @@ common_tc: ldr r1, VAL_TC_EMIFS_CS3_CONFIG ldr r0, REG_TC_EMIFS_CS3_CONFIG str r1, [r0] /* Chip Select 3 */ + +#ifdef CONFIG_H2_OMAP1610 + /* inserting additional 2 clock cycle hold time for LAN */ + ldr r0, REG_TC_EMIFS_CS1_ADVANCED + ldr r1, VAL_TC_EMIFS_CS1_ADVANCED + str r1, [r0] +#endif + /* Start MPU Timer 1 */ + ldr r0, REG_MPU_LOAD_TIMER + ldr r1, VAL_MPU_LOAD_TIMER + str r1, [r0] + + ldr r0, REG_MPU_CNTL_TIMER + ldr r1, VAL_MPU_CNTL_TIMER + str r1, [r0] + /* back to arch calling code */ mov pc, lr @@ -266,6 +284,11 @@ REG_TC_EMIFS_CS2_CONFIG: /* 32 bits */ REG_TC_EMIFS_CS3_CONFIG: /* 32 bits */ .word 0xfffecc1c +#ifdef CONFIG_H2_OMAP1610 +REG_TC_EMIFS_CS1_ADVANCED: /* 32 bits */ + .word 0xfffecc54 +#endif + /* MPU clock/reset/power mode control registers */ REG_ARM_CKCTL: /* 16 bits */ .word 0xfffece00 @@ -338,6 +361,11 @@ REG_DLL_LRD_CONTROL: REG_WATCHDOG: .word 0xfffec808 +REG_MPU_LOAD_TIMER: + .word 0xfffec600 +REG_MPU_CNTL_TIMER: + .word 0xfffec500 + /* 96 MHz Samsung Mobile DDR */ SDRAM_CONFIG_VAL: .word 0x001200f4 @@ -350,6 +378,7 @@ VAL_ARM_CKCTL: VAL_DPLL1_CTL: .word 0x2830 +#ifdef CONFIG_INNOVATOROMAP1610 VAL_TC_EMIFS_CS0_CONFIG: .word 0x002130b0 VAL_TC_EMIFS_CS1_CONFIG: @@ -358,6 +387,21 @@ VAL_TC_EMIFS_CS2_CONFIG: .word 0x000055f0 VAL_TC_EMIFS_CS3_CONFIG: .word 0x88011131 +#endif + +#ifdef CONFIG_H2_OMAP1610 +VAL_TC_EMIFS_CS0_CONFIG: + .word 0x00203331 +VAL_TC_EMIFS_CS1_CONFIG: + .word 0x8180fff3 +VAL_TC_EMIFS_CS2_CONFIG: + .word 0xf800f22a +VAL_TC_EMIFS_CS3_CONFIG: + .word 0x88011131 +VAL_TC_EMIFS_CS1_ADVANCED: + .word 0x00000022 +#endif + VAL_TC_EMIFF_SDRAM_CONFIG: .word 0x010290fc VAL_TC_EMIFF_MRS: @@ -376,6 +420,11 @@ WATCHDOG_VAL1: WATCHDOG_VAL2: .word 0x000000a0 +VAL_MPU_LOAD_TIMER: + .word 0xffffffff +VAL_MPU_CNTL_TIMER: + .word 0xffffffa1 + /* command values */ .equ CMD_SDRAM_NOP, 0x00000000 .equ CMD_SDRAM_PRECHARGE, 0x00000001 -- cgit v1.2.3