Spacecast: Add TPM to the i2c bus
Change-Id: Id35e7d38deeaa7c52b48efe532b04175b25e6618
diff --git a/arch/arm/boards/optimus/optimus.c b/arch/arm/boards/optimus/optimus.c
index add205e..f8f119c 100644
--- a/arch/arm/boards/optimus/optimus.c
+++ b/arch/arm/boards/optimus/optimus.c
@@ -59,6 +59,8 @@
#define SPACECAST_BOARD_ID 2
#define SPACECAST_EMAC1_PHY_ADDR 1
+#define SPACECAST_TPM_I2C_ADDR 0x20
+
#ifdef CONFIG_SPI
//Legacy spi
@@ -190,11 +192,17 @@
.platform_data = &pdata,
};
-static struct i2c_board_info i2c_devices[] = {
+static struct i2c_board_info i2c_devices_optimus[] = {
{
I2C_BOARD_INFO("eeprom", CFG_I2C_EEPROM0_ADDR),
},
};
+
+static struct i2c_board_info i2c_devices_spacecast[] = {
+ {
+ I2C_BOARD_INFO("tpm_i2c_infineon", SPACECAST_TPM_I2C_ADDR),
+ },
+};
#endif
#ifdef CONFIG_OTP
@@ -262,7 +270,13 @@
register_device(&fast_uart_device);
#ifdef CONFIG_I2C_C2K
- i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices));
+ if (get_board_id() == SPACECAST_BOARD_ID) {
+ i2c_register_board_info(0, i2c_devices_spacecast,
+ ARRAY_SIZE(i2c_devices_spacecast));
+ } else {
+ i2c_register_board_info(0, i2c_devices_optimus,
+ ARRAY_SIZE(i2c_devices_optimus));
+ }
register_device(&c2k_i2c_dev);
#endif
@@ -448,4 +462,3 @@
}
device_initcall(c2000_device_init);
-