diff options
Diffstat (limited to 'arch/arm/mach-tegra/board-loki-sensors.c')
-rw-r--r-- | arch/arm/mach-tegra/board-loki-sensors.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-loki-sensors.c b/arch/arm/mach-tegra/board-loki-sensors.c index c31b7b61ab24..f98f7a9485cc 100644 --- a/arch/arm/mach-tegra/board-loki-sensors.c +++ b/arch/arm/mach-tegra/board-loki-sensors.c @@ -53,6 +53,17 @@ static struct mpu_platform_data mpu6050_gyro_data = { }; /* MPU board file definition */ +static struct mpu_platform_data mpu6050_gyro_data_fab_0 = { + .int_config = 0x10, + .level_shifter = 0, + /* Located in board_[platformname].h */ + .orientation = MPU_GYRO_ORIENTATION_FAB0, + .sec_slave_type = SECONDARY_SLAVE_TYPE_NONE, + .key = {0x4E, 0xCC, 0x7E, 0xEB, 0xF6, 0x1E, 0x35, 0x22, + 0x00, 0x34, 0x0D, 0x65, 0x32, 0xE9, 0x94, 0x89}, +}; + +/* MPU board file definition */ static struct mpu_platform_data mpu6050_gyro_data_t_1_95 = { .int_config = 0x10, .level_shifter = 0, @@ -97,6 +108,13 @@ static void mpuirq_init(void) if (board_info.board_id == BOARD_E2549) inv_mpu6050_i2c0_board_info[0].platform_data = &mpu6050_gyro_data_t_1_95; + else { + struct board_info displayboard_info; + tegra_get_display_board_info(&displayboard_info); + if (displayboard_info.fab == 0x0) + inv_mpu6050_i2c0_board_info[0].platform_data = + &mpu6050_gyro_data_fab_0; + } inv_mpu6050_i2c0_board_info[0].irq = gpio_to_irq(MPU_GYRO_IRQ_GPIO); i2c_register_board_info(gyro_bus_num, inv_mpu6050_i2c0_board_info, ARRAY_SIZE(inv_mpu6050_i2c0_board_info)); |