summaryrefslogtreecommitdiff
path: root/board/ti/logic/logic.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/ti/logic/logic.c')
-rw-r--r--board/ti/logic/logic.c78
1 files changed, 45 insertions, 33 deletions
diff --git a/board/ti/logic/logic.c b/board/ti/logic/logic.c
index b6c16b1d402..82ee77ce15c 100644
--- a/board/ti/logic/logic.c
+++ b/board/ti/logic/logic.c
@@ -196,6 +196,38 @@ char *get_mtdids_default(void)
return omap3logic_mtdids_default;
}
+char *get_mtdflags_default(void)
+{
+#if defined(MTDFLAGS_NAND_DEFAULT) || defined(MTDFLAGS_NOR_DEFAULT)
+ static char str[
+# ifdef MTDFLAGS_NOR_DEFAULT
+ ARRAY_SIZE(MTDFLAGS_NOR_DEFAULT) +
+# endif
+# ifdef MTDFLAGS_NAND_DEFAULT
+ ARRAY_SIZE(MTDFLAGS_NAND_DEFAULT) +
+# endif
+ 10] = "";
+
+ if (str[0] == '\0') {
+ str[0] = '\0';
+#ifdef MTDFLAGS_NAND_DEFAULT
+ if (nand_size())
+ strcpy(str, MTDFLAGS_NAND_DEFAULT);
+#endif
+#ifdef MTDFLAGS_NOR_DEFAULT
+ if (omap3logic_nor_exists) {
+ if (strlen(str))
+ strcat(str, ";");
+ strcat(str, MTDFLAGS_NOR_DEFAULT);
+ }
+#endif
+ }
+ return str;
+#else
+ return NULL;
+#endif
+}
+
/*
* Touchup the environment, specificaly "defaultecc", the display,
* and mtdids/mtdparts on default environment
@@ -218,6 +250,7 @@ void touchup_env(int initial_env)
/* Need to set mdtids/mtdparts to computed defaults */
setenv("mtdparts", get_mtdparts_default());
setenv("mtdids", get_mtdids_default());
+ setenv("mtdflags", get_mtdflags_default());
}
}
@@ -331,35 +364,6 @@ int board_late_init(void)
return 0;
}
-/* Turn on VAUX1 voltage to 3.0 volts to drive level shifters and
- * power 3.0v parts (tsc2004 and Product ID chip) */
-#define I2C_TRITON2 0x4b /* Address of Triton power group */
-
-void init_vaux1_voltage(void)
-{
-#ifdef CONFIG_DRIVER_OMAP34XX_I2C
- unsigned char data;
- unsigned short msg;
-
- /* Select the output voltage */
- data = 0x04;
- i2c_write(I2C_TRITON2, 0x72, 1, &data, 1);
- /* Select the Processor resource group */
- data = 0x20;
- i2c_write(I2C_TRITON2, 0x72, 1, &data, 1);
- /* Enable I2C access to the Power bus */
- data = 0x02;
- i2c_write(I2C_TRITON2, 0x4a, 1, &data, 1);
- /* Send message MSB */
- msg = (1<<13) | (1<<4) | (0xd<<0); /* group(process_grp1):resource(vaux1):res_active; */
- data = msg >> 8;
- i2c_write(I2C_TRITON2, 0x4b, 1, &data, 1);
- /* Send message LSB */
- data = msg & 0xff;
- i2c_write(I2C_TRITON2, 0x4c, 1, &data, 1);
-#endif
-}
-
/* Mux I2C bus pins appropriately for this board */
int i2c_mux_bux_pins(int bus)
{
@@ -410,10 +414,15 @@ static void check_sysconfig_regs(void)
*/
int misc_init_r(void)
{
- /* Turn on vaux1 to make sure voltage is to the product ID chip.
- * Extract production data from ID chip, used to selectively
+ /* Turn on VAUX1 voltage to 3.0 volts to drive level shifters and
+ * power 3.0v parts (tsc2004 and Product ID chip) */
+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX1_DEDICATED,
+ TWL4030_PM_RECEIVER_VAUX1_VSEL_30,
+ TWL4030_PM_RECEIVER_VAUX1_DEV_GRP,
+ TWL4030_PM_RECEIVER_DEV_GRP_P1);
+
+ /** Extract production data from ID chip, used to selectively
* initialize portions of the system */
- init_vaux1_voltage();
fetch_production_data();
#if defined(CONFIG_CMD_NET)
@@ -1173,6 +1182,7 @@ void set_muxconf_regs(void)
MUX_VAL(CP(UART3_RTS_SD), (IEN | PTD | EN | M7)); /*UART3_RTS_SD */
MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD | EN | M7)); /*UART3_RX_IRRX*/
MUX_VAL(CP(UART3_TX_IRTX), (IEN | PTD | EN | M7)); /*UART3_TX_IRTX*/
+#if 0
MUX_VAL(CP(HSUSB0_CLK), (IEN | PTD | EN | M7)); /*HSUSB0_CLK*/
MUX_VAL(CP(HSUSB0_STP), (IEN | PTD | EN | M7)); /*HSUSB0_STP*/
MUX_VAL(CP(HSUSB0_DIR), (IEN | PTD | EN | M7)); /*HSUSB0_DIR*/
@@ -1185,6 +1195,7 @@ void set_muxconf_regs(void)
MUX_VAL(CP(HSUSB0_DATA5), (IEN | PTD | EN | M7)); /*HSUSB0_DATA5*/
MUX_VAL(CP(HSUSB0_DATA6), (IEN | PTD | EN | M7)); /*HSUSB0_DATA6*/
MUX_VAL(CP(HSUSB0_DATA7), (IEN | PTD | EN | M7)); /*HSUSB0_DATA7*/
+#endif
#else
MUX_VAL(CP(MCBSP4_CLKX), (IDIS | PTD | DIS | M4)); /*GPIO_152*/
/* - LCD_INI*/
@@ -1207,6 +1218,7 @@ void set_muxconf_regs(void)
MUX_VAL(CP(UART3_RTS_SD), (IDIS | PTD | DIS | M0)); /*UART3_RTS_SD */
MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD | DIS | M0)); /*UART3_RX_IRRX*/
MUX_VAL(CP(UART3_TX_IRTX), (IDIS | PTD | DIS | M0)); /*UART3_TX_IRTX*/
+#endif
MUX_VAL(CP(HSUSB0_CLK), (IEN | PTD | DIS | M0)); /*HSUSB0_CLK*/
MUX_VAL(CP(HSUSB0_STP), (IDIS | PTU | EN | M0)); /*HSUSB0_STP*/
MUX_VAL(CP(HSUSB0_DIR), (IEN | PTD | DIS | M0)); /*HSUSB0_DIR*/
@@ -1219,7 +1231,7 @@ void set_muxconf_regs(void)
MUX_VAL(CP(HSUSB0_DATA5), (IEN | PTD | DIS | M0)); /*HSUSB0_DATA5*/
MUX_VAL(CP(HSUSB0_DATA6), (IEN | PTD | DIS | M0)); /*HSUSB0_DATA6*/
MUX_VAL(CP(HSUSB0_DATA7), (IEN | PTD | DIS | M0)); /*HSUSB0_DATA7*/
-#endif
+
MUX_VAL(CP(I2C1_SCL), (IEN | PTU | EN | M0)); /*I2C1_SCL*/
MUX_VAL(CP(I2C1_SDA), (IEN | PTU | EN | M0)); /*I2C1_SDA*/
#ifdef SAFE_MODE_PINS_5