diff options
author | David Ungar <david.ungar@timesys.com> | 2010-10-11 14:22:24 -0400 |
---|---|---|
committer | David Ungar <david.ungar@timesys.com> | 2010-10-11 14:22:24 -0400 |
commit | b52e80bcc86390b6d2f09cec70a1a4bc5e970cb9 (patch) | |
tree | 740774739212f18f6a46cc1ef9850475e584665d | |
parent | b845332053375e0b40e9fa7e7502d269aeda1815 (diff) |
isp1760 support
-rw-r--r-- | board/omap3/logic/logic.c | 35 | ||||
-rw-r--r-- | board/omap3/logic/logic.h | 14 | ||||
-rw-r--r-- | include/configs/omap3_logic.h | 1 |
3 files changed, 41 insertions, 9 deletions
diff --git a/board/omap3/logic/logic.c b/board/omap3/logic/logic.c index 4d5809bb7d..95d609d4bd 100644 --- a/board/omap3/logic/logic.c +++ b/board/omap3/logic/logic.c @@ -96,6 +96,7 @@ int board_init(void) static void setup_net_chip(void); +static void setup_isp1760_chip(void); /* * Routine: misc_init_r @@ -116,6 +117,9 @@ int misc_init_r(void) setup_net_chip(); #endif + /* Setup access to the isp1760 chip on CS6 */ + setup_isp1760_chip(); + twl4030_power_init(); twl4030_led_init(); @@ -157,8 +161,6 @@ void set_muxconf_regs(void) #define LOGIC_NET_GPMC_CONFIG6 0x00000000 #define LOGIC_NET_GPMC_CONFIG7 0x00000f48 -#define LOGIC_NET_BASE 0x08000000 - /* * Routine: setup_net_chip * Description: Setting up the configuration GPMC registers specific to the @@ -187,6 +189,35 @@ static void setup_net_chip(void) } +// GPMC settings for LOGIC 1760 chip +#define LOGIC_ISP1760_GPMC_CONFIG1 0x00001200 +#define LOGIC_ISP1760_GPMC_CONFIG2 0x00090901 +#define LOGIC_ISP1760_GPMC_CONFIG3 0x00091001 +#define LOGIC_ISP1760_GPMC_CONFIG4 0x07031002 +#define LOGIC_ISP1760_GPMC_CONFIG5 0x00080c0a +#define LOGIC_ISP1760_GPMC_CONFIG6 0x08030200 +#define LOGIC_ISP1760_GPMC_CONFIG7 0x00000f5c + +/* + * Routine: setup_net_chip + * Description: Setting up the configuration GPMC registers specific to the + * Ethernet hardware. + */ +static void setup_isp1760_chip(void) +{ + struct ctrl *ctrl_base = (struct ctrl *)OMAP34XX_CTRL_BASE; + + /* Configure GPMC registers */ + writel(LOGIC_ISP1760_GPMC_CONFIG1, &gpmc_cfg->cs[6].config1); + writel(LOGIC_ISP1760_GPMC_CONFIG2, &gpmc_cfg->cs[6].config2); + writel(LOGIC_ISP1760_GPMC_CONFIG3, &gpmc_cfg->cs[6].config3); + writel(LOGIC_ISP1760_GPMC_CONFIG4, &gpmc_cfg->cs[6].config4); + writel(LOGIC_ISP1760_GPMC_CONFIG5, &gpmc_cfg->cs[6].config5); + writel(LOGIC_ISP1760_GPMC_CONFIG6, &gpmc_cfg->cs[6].config6); + writel(LOGIC_ISP1760_GPMC_CONFIG7, &gpmc_cfg->cs[6].config7); +} + + int board_eth_init(bd_t *bis) { int rc = 0; diff --git a/board/omap3/logic/logic.h b/board/omap3/logic/logic.h index 4ff37d8dd0..4fdff2653f 100644 --- a/board/omap3/logic/logic.h +++ b/board/omap3/logic/logic.h @@ -108,22 +108,22 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(GPMC_NCS0), (IDIS | PTU | EN | M0)) /*GPMC_nCS0*/\ MUX_VAL(CP(GPMC_NCS1), (IDIS | PTU | EN | M0)) /*GPMC_nCS1*/\ MUX_VAL(CP(GPMC_NCS2), (IDIS | PTU | EN | M0)) /*GPMC_nCS2*/\ - MUX_VAL(CP(GPMC_NCS3), (IDIS | PTU | EN | M0)) /*GPMC_nCS3*/\ - MUX_VAL(CP(GPMC_NCS4), (IDIS | PTU | EN | M0)) /*GPMC_nCS4*/\ - MUX_VAL(CP(GPMC_NCS5), (IDIS | PTD | DIS | M0)) /*GPMC_nCS5*/\ - MUX_VAL(CP(GPMC_NCS6), (IEN | PTD | EN | M0)) /*SYS_nDMA_REQ2*/\ + MUX_VAL(CP(GPMC_NCS3), (IEN | PTD | DIS | M0)) /*GPMC_nCS3*/\ + MUX_VAL(CP(GPMC_NCS4), (IDIS | PTU | EN | M7)) /*GPMC_nCS4*/\ + MUX_VAL(CP(GPMC_NCS5), (IDIS | PTD | DIS | M7)) /*GPMC_nCS5*/\ + MUX_VAL(CP(GPMC_NCS6), (IDIS | PTU | EN | M0)) /*GPMC_nCS6*/\ MUX_VAL(CP(GPMC_NCS7), (IEN | PTU | EN | M1)) /*GPMC_IO_DIR*/\ MUX_VAL(CP(GPMC_NBE1), (IDIS | PTU | EN | M0)) /*GPMC_nBE1*/\ MUX_VAL(CP(GPMC_WAIT0), (IEN | PTU | EN | M0)) /*GPMC_WAIT0*/\ MUX_VAL(CP(GPMC_WAIT1), (IEN | PTU | EN | M0)) /*GPMC_WAIT1*/\ MUX_VAL(CP(GPMC_WAIT2), (IEN | PTU | EN | M0)) /*GPMC_WAIT2*/\ - MUX_VAL(CP(GPMC_WAIT3), (IEN | PTU | EN | M0)) /*GPMC_WAIT3*/\ + MUX_VAL(CP(GPMC_WAIT3), (IEN | PTU | EN | M1)) /*uP_DREQ1*/\ MUX_VAL(CP(GPMC_CLK), (IEN | PTD | DIS | M0)) /*GPMC_CLK*/\ MUX_VAL(CP(GPMC_NADV_ALE), (IDIS | PTD | DIS | M0)) /*GPMC_nADV_ALE*/\ MUX_VAL(CP(GPMC_NOE), (IDIS | PTD | DIS | M0)) /*GPMC_nOE*/\ MUX_VAL(CP(GPMC_NWE), (IDIS | PTD | DIS | M0)) /*GPMC_nWE*/\ - MUX_VAL(CP(GPMC_NBE0_CLE), (IEN | PTU | DIS | M0)) /*GPMC_nBE0_CLE*/\ - MUX_VAL(CP(GPMC_NWP), (IEN | PTU | DIS | M0)) /*GPMC_nWP*/\ + MUX_VAL(CP(GPMC_NWP), (IEN | PTU | EN | M0)) /*GPMC_nWP*/\ + MUX_VAL(CP(GPMC_NBE0_CLE), (IEN | PTU | EN | M0)) /*GPMC_nBE0_CLE*/\ /*DSS*/\ MUX_VAL(CP(DSS_PCLK), (IDIS | PTD | DIS | M0)) /*DSS_PCLK*/\ MUX_VAL(CP(DSS_HSYNC), (IDIS | PTD | DIS | M0)) /*DSS_HSYNC*/\ diff --git a/include/configs/omap3_logic.h b/include/configs/omap3_logic.h index 7aff55554d..97f7a9bf82 100644 --- a/include/configs/omap3_logic.h +++ b/include/configs/omap3_logic.h @@ -122,6 +122,7 @@ #define CONFIG_CMD_PING /* ping */ #define CONFIG_CMD_DHCP /* dhcp */ #undef CONFIG_CMD_NFS /* NFS support */ +#define CONFIG_CMD_ASKENV /* askenv */ #define CONFIG_SYS_NO_FLASH #define CONFIG_SYS_I2C_SPEED 100000 |