msm8960: htc: jewel: update sensors.
*Support RUU 3.16 blobs*
*fixes incorrect compass reporting*
*source from jewelcl-jb-crc-3.4.10-19136fe*
Change-Id: I9cc02b11fa9843c6d0f318aee6f20a89b9c37483
diff --git a/arch/arm/mach-msm/htc/jet/board-jet.c b/arch/arm/mach-msm/htc/jet/board-jet.c
index 397ac29..86bdaf8 100644
--- a/arch/arm/mach-msm/htc/jet/board-jet.c
+++ b/arch/arm/mach-msm/htc/jet/board-jet.c
@@ -87,7 +87,6 @@
#include <linux/r3gd20.h>
#include <linux/akm8975.h>
#include <linux/bma250.h>
-#include <linux/ewtzmu2.h>
#ifdef CONFIG_BT
#include <mach/htc_bdaddress.h>
#endif
@@ -2220,24 +2219,21 @@
static struct r3gd20_gyr_platform_data gyro_platform_data = {
.fs_range = R3GD20_GYR_FS_2000DPS,
- .axis_map_x = 0,
- .axis_map_y = 1,
+ .axis_map_x = 1,
+ .axis_map_y = 0,
.axis_map_z = 2,
.negate_x = 0,
- .negate_y = 0,
+ .negate_y = 1,
.negate_z = 0,
.poll_interval = 50,
- .min_interval = R3GD20_MIN_POLL_PERIOD_MS, /*2 */
-
- /*.gpio_int1 = DEFAULT_INT1_GPIO,*/
- /*.gpio_int2 = DEFAULT_INT2_GPIO,*/ /* int for fifo */
+ .min_interval = R3GD20_MIN_POLL_PERIOD_MS,
.watermark = 0,
.fifomode = 0,
};
-static struct i2c_board_info __initdata msm_i2c_sensor_gsbi12_info[] = {
+static struct i2c_board_info msm_i2c_gsbi12_info[] = {
{
I2C_BOARD_INFO(BMA250_I2C_NAME, 0x30 >> 1),
.platform_data = &gsensor_bma250_platform_data,
@@ -2251,40 +2247,39 @@
{
I2C_BOARD_INFO(R3GD20_GYR_DEV_NAME, 0xD0 >> 1),
.platform_data = &gyro_platform_data,
- /*.irq = MSM_GPIO_TO_INT(JET_GYRO_INT),*/
},
};
static struct mpu3050_platform_data mpu3050_data = {
.int_config = 0x10,
- .orientation = { 1, 0, 0,
- 0, 1, 0,
- 0, 0, 1 },
+ .orientation = { 0, 1, 0,
+ -1, 0, 0,
+ 0, 0, 1 },
.level_shifter = 0,
.accel = {
.get_slave_descr = get_accel_slave_descr,
- .adapt_num = MSM_8960_GSBI12_QUP_I2C_BUS_ID, /* The i2c bus to which the mpu device is connected */
+ .adapt_num = MSM_8960_GSBI12_QUP_I2C_BUS_ID,
.bus = EXT_SLAVE_BUS_SECONDARY,
.address = 0x30 >> 1,
- .orientation = { 1, 0, 0,
- 0, 1, 0,
- 0, 0, 1
- },
+ .orientation = { 1, 0, 0,
+ 0, 1, 0,
+ 0, 0, 1 },
+
},
.compass = {
.get_slave_descr = get_compass_slave_descr,
- .adapt_num = MSM_8960_GSBI12_QUP_I2C_BUS_ID, /* The i2c bus to which the mpu device is connected */
+ .adapt_num = MSM_8960_GSBI12_QUP_I2C_BUS_ID,
.bus = EXT_SLAVE_BUS_PRIMARY,
.address = 0x1A >> 1,
- .orientation = { -1, 0, 0,
- 0, 1, 0,
- 0, 0, -1
- },
+ .orientation = { 1, 0, 0,
+ 0, 1, 0,
+ 0, 0, 1 },
},
};
+
static struct i2c_board_info __initdata mpu3050_GSBI12_boardinfo[] = {
{
I2C_BOARD_INFO("mpu3050", 0xD0 >> 1),
@@ -2334,9 +2329,9 @@
.ps1_thd_with_cal = 0xD,
.ps_calibration_rule = 1,
.ps_conf1_val = CM3629_PS_DR_1_80 | CM3629_PS_IT_1_6T |
- CM3629_PS1_PERS_4,
+ CM3629_PS1_PERS_4,
.ps_conf2_val = CM3629_PS_ITB_1 | CM3629_PS_ITR_1 |
- CM3629_PS2_INT_DIS | CM3629_PS1_INT_DIS,
+ CM3629_PS2_INT_DIS | CM3629_PS1_INT_DIS,
.ps_conf3_val = CM3629_PS2_PROL_32,
.enable_polling_ignore = 1,
.mapping_table = cm3629_mapping_table,
@@ -3216,7 +3211,7 @@
};
static struct msm_i2c_platform_data msm8960_i2c_qup_gsbi5_pdata = {
- .clk_freq = 100000,
+ .clk_freq = 400000,
.src_clk_rate = 24000000,
.msm_i2c_config_gpio = gsbi_qup_i2c_gpio_config,
};
@@ -3425,12 +3420,12 @@
static void __init msm8960_i2c_init(void)
{
- msm8960_device_qup_i2c_gsbi4.dev.platform_data =
- &msm8960_i2c_qup_gsbi4_pdata;
-
msm8960_device_qup_i2c_gsbi3.dev.platform_data =
&msm8960_i2c_qup_gsbi3_pdata;
+ msm8960_device_qup_i2c_gsbi4.dev.platform_data =
+ &msm8960_i2c_qup_gsbi4_pdata;
+
msm8960_device_qup_i2c_gsbi5.dev.platform_data =
&msm8960_i2c_qup_gsbi5_pdata;
@@ -3928,8 +3923,8 @@
if (gy_type == 2) {
i2c_register_board_info(MSM_8960_GSBI12_QUP_I2C_BUS_ID,
- msm_i2c_sensor_gsbi12_info,
- ARRAY_SIZE(msm_i2c_sensor_gsbi12_info));
+ msm_i2c_gsbi12_info,
+ ARRAY_SIZE(msm_i2c_gsbi12_info));
} else {
i2c_register_board_info(MSM_8960_GSBI12_QUP_I2C_BUS_ID,
mpu3050_GSBI12_boardinfo,