aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pv210
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-s5pv210')
-rw-r--r--arch/arm/mach-s5pv210/include/mach/gpio-herring.h11
-rw-r--r--arch/arm/mach-s5pv210/mach-herring.c25
2 files changed, 24 insertions, 12 deletions
diff --git a/arch/arm/mach-s5pv210/include/mach/gpio-herring.h b/arch/arm/mach-s5pv210/include/mach/gpio-herring.h
index 3330bd0..7a17ed6 100644
--- a/arch/arm/mach-s5pv210/include/mach/gpio-herring.h
+++ b/arch/arm/mach-s5pv210/include/mach/gpio-herring.h
@@ -99,11 +99,8 @@
#define GPIO_CAM_SCL_29V S5PV210_GPD1(1)
#define GPIO_CAM_SCL_29V_AF 2
-#define GPIO_FM_SDA_28V S5PV210_GPD1(2)
-#define GPIO_FM_SDA_28V_AF 2
-
-#define GPIO_FM_SCL_28V S5PV210_GPD1(3)
-#define GPIO_FM_SCL_28V_AF 2
+#define GYRO_SDA_28V S5PV210_GPD1(2)
+#define GYRO_SCL_28V S5PV210_GPD1(3)
#define GPIO_TSP_SDA_28V S5PV210_GPD1(4)
#define GPIO_TSP_SDA_28V_AF 2
@@ -439,10 +436,6 @@
#define GPIO_CAM_MEGA_nRST S5PV210_GPJ1(5)
-#define GYRO_SDA_28V S5PV210_GPJ2(0)
-
-#define GYRO_SCL_28V S5PV210_GPJ2(1)
-
#define GPIO_OLED_DET S5PV210_GPJ2(2)
#define GPIO_EAR_SEL S5PV210_GPJ2(3)
diff --git a/arch/arm/mach-s5pv210/mach-herring.c b/arch/arm/mach-s5pv210/mach-herring.c
index c5c2b4e..69836ea 100644
--- a/arch/arm/mach-s5pv210/mach-herring.c
+++ b/arch/arm/mach-s5pv210/mach-herring.c
@@ -78,7 +78,7 @@
#include <plat/regs-otg.h>
#include <linux/gp2a.h>
#include <linux/kr3dm.h>
-
+#include <linux/input/k3g.h>
#include <../../../drivers/video/samsung/s3cfb.h>
#include <linux/max17040_battery.h>
@@ -958,8 +958,8 @@ static struct platform_device herring_i2c7_device = {
};
static struct i2c_gpio_platform_data herring_i2c8_platdata = {
- .sda_pin = GPIO_FM_SDA_28V,
- .scl_pin = GPIO_FM_SCL_28V,
+ .sda_pin = GYRO_SDA_28V,
+ .scl_pin = GYRO_SCL_28V,
.udelay = 2, /* 250KHz */
.sda_is_open_drain = 0,
.scl_is_open_drain = 0,
@@ -1438,6 +1438,23 @@ static struct i2c_board_info i2c_devs5[] __initdata = {
},
};
+static struct k3g_platform_data k3g_pdata = {
+ .axis_map_x = 1,
+ .axis_map_y = 1,
+ .axis_map_z = 1,
+ .negate_x = 0,
+ .negate_y = 0,
+ .negate_z = 0,
+};
+
+static struct i2c_board_info i2c_devs8[] __initdata = {
+ {
+ I2C_BOARD_INFO("k3g", 0x69),
+ .platform_data = &k3g_pdata,
+ },
+};
+
+
static struct fsa9480_i2c_platform_data fsa9480_pdata = {
.usb_sel = GPIO_USB_SEL,
.uart_sel = GPIO_UART_SEL,
@@ -2837,6 +2854,7 @@ static struct platform_device *herring_devices[] __initdata = {
&herring_i2c5_device, /* accel sensor */
&herring_i2c6_device,
&herring_i2c7_device,
+ &herring_i2c8_device, /* gyro sensor */
&herring_i2c9_device, /* max1704x:fuel_guage */
&herring_i2c11_device, /* optical sensor */
&herring_i2c12_device, /* magnetic sensor */
@@ -3106,6 +3124,7 @@ static void __init herring_machine_init(void)
/* FSA9480 */
fsa9480_gpio_init();
i2c_register_board_info(7, i2c_devs7, ARRAY_SIZE(i2c_devs7));
+ i2c_register_board_info(8, i2c_devs8, ARRAY_SIZE(i2c_devs8));
i2c_register_board_info(9, i2c_devs9, ARRAY_SIZE(i2c_devs9));
/* optical sensor */
gp2a_gpio_init();