summaryrefslogtreecommitdiff
path: root/board/ti/logic
diff options
context:
space:
mode:
Diffstat (limited to 'board/ti/logic')
-rw-r--r--board/ti/logic/logic-at24.c2
-rw-r--r--board/ti/logic/logic-data.c4
-rw-r--r--board/ti/logic/logic-product-id.c11
-rw-r--r--board/ti/logic/logic.c78
-rw-r--r--board/ti/logic/prod-id/query.c2
5 files changed, 59 insertions, 38 deletions
diff --git a/board/ti/logic/logic-at24.c b/board/ti/logic/logic-at24.c
index e1f03db2ce..f5e70c50d2 100644
--- a/board/ti/logic/logic-at24.c
+++ b/board/ti/logic/logic-at24.c
@@ -65,6 +65,8 @@ int at24_shutdown(void)
gpio_i2c_config_pin(GPIO_I2C_SCLK, GPIO_I2C_INPUT);
/* Restore pins back to their intended use */
gpio_i2c_restore_pins();
+
+ return 0;
}
/* Send the offset to the AT24 chip */
diff --git a/board/ti/logic/logic-data.c b/board/ti/logic/logic-data.c
index ba4633bf89..dfcfb61cba 100644
--- a/board/ti/logic/logic-data.c
+++ b/board/ti/logic/logic-data.c
@@ -589,10 +589,14 @@ void _dump_production_data(void)
extract_model_number_revision(&product_id_data, buf, sizeof(buf));
if (strlen(buf))
+ {
printf("Model Name : %s\n", buf);
+ setenv("logic_model", buf);
+ }
extract_serial_number(&product_id_data, buf, sizeof(buf));
printf("Serial Number: %s\n", buf);
+ setenv("logic_serial", buf);
ret = extract_mac_address(&product_id_data, 0, mac);
if (!ret) {
diff --git a/board/ti/logic/logic-product-id.c b/board/ti/logic/logic-product-id.c
index 3142511d97..edc440945f 100644
--- a/board/ti/logic/logic-product-id.c
+++ b/board/ti/logic/logic-product-id.c
@@ -189,9 +189,9 @@ int logic_dump_serialization_info(void)
int ret;
struct id_cookie cookie;
int part_number;
- u8 model_name[32];
+ u8 model_name[33];
u32 model_name_size;
- u8 serial_number[10];
+ u8 serial_number[11];
u32 serial_number_size;
if (!found_id_data) {
@@ -212,7 +212,7 @@ int logic_dump_serialization_info(void)
}
/* Find serial_number */
- serial_number_size = sizeof(serial_number);
+ serial_number_size = sizeof(serial_number) - 1;
ret = id_find_string(&cookie, ID_KEY_serial_number, serial_number, &serial_number_size);
if (ret != ID_EOK) {
printf("%s:%d ret %d\n", __FUNCTION__, __LINE__, ret);
@@ -241,13 +241,16 @@ int logic_dump_serialization_info(void)
}
/* Find model name */
- model_name_size = sizeof(model_name);
+ model_name_size = sizeof(model_name) - 1;
ret = id_find_string(&cookie, ID_KEY_model_name, model_name, &model_name_size);
if (ret != ID_EOK) {
printf("%s:%d ret %d\n", __FUNCTION__, __LINE__, ret);
return ret;
}
+ model_name[model_name_size] = '\0';
+ serial_number[serial_number_size] = '\0';
+
printf("Part Number : %u\n", part_number);
printf("Model Name : %.*s\n", model_name_size, model_name);
printf("Serial Number: %.*s\n", serial_number_size, serial_number);
diff --git a/board/ti/logic/logic.c b/board/ti/logic/logic.c
index b6c16b1d40..82ee77ce15 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
diff --git a/board/ti/logic/prod-id/query.c b/board/ti/logic/prod-id/query.c
index 1429039220..69a2e2b3ca 100644
--- a/board/ti/logic/prod-id/query.c
+++ b/board/ti/logic/prod-id/query.c
@@ -21,7 +21,7 @@ int id_dict_find_key(struct id_cookie *cookie, id_keys_t key)
{
int err;
unsigned int size;
- id_keys_t d_key;
+ id_keys_t d_key = (id_keys_t)-1;
idenum_t type;
struct id_cookie d_cookie = *cookie;
struct id_cookie t_cookie;