summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ungar <david.ungar@timesys.com>2010-10-11 14:22:24 -0400
committerDavid Ungar <david.ungar@timesys.com>2010-10-11 14:22:24 -0400
commitb52e80bcc86390b6d2f09cec70a1a4bc5e970cb9 (patch)
tree740774739212f18f6a46cc1ef9850475e584665d
parentb845332053375e0b40e9fa7e7502d269aeda1815 (diff)
isp1760 support
-rw-r--r--board/omap3/logic/logic.c35
-rw-r--r--board/omap3/logic/logic.h14
-rw-r--r--include/configs/omap3_logic.h1
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