diff options
author | Gary King <gking@nvidia.com> | 2011-02-11 00:14:53 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:46:05 -0800 |
commit | 5561bbc1dcfd9d0f35a10beba107bd177cab408e (patch) | |
tree | 581077cd25b75892883fd04fbb8fe6bf19ee10be /arch/arm/mach-tegra/board-ventana-sensors.c | |
parent | 3bad0b8396e739542ef95295b33786c8e7c3b4d6 (diff) |
[ARM] tegra: ventana: register akm8975 compass
For Ventana board registering i2c board info for akm8975
compass on i2c bus4.
Original-Change-Id: Ie5a293699e69a9c94d89bb419db26ca81e5c4a91
Reviewed-on: http://git-master/r/7974
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: R10647df6bb1889c2a80cb4fc1d86dc48914bd624
Diffstat (limited to 'arch/arm/mach-tegra/board-ventana-sensors.c')
-rw-r--r-- | arch/arm/mach-tegra/board-ventana-sensors.c | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/board-ventana-sensors.c b/arch/arm/mach-tegra/board-ventana-sensors.c index 3527ec9b036b..c2b3ba0d4a64 100644 --- a/arch/arm/mach-tegra/board-ventana-sensors.c +++ b/arch/arm/mach-tegra/board-ventana-sensors.c @@ -21,9 +21,12 @@ #include <linux/i2c.h> #include <mach/gpio.h> #include <linux/i2c/nct1008.h> +#include <linux/akm8975.h> + #include "gpio-names.h" #define ISL29018_IRQ_GPIO TEGRA_GPIO_PZ2 +#define AKM8975_IRQ_GPIO TEGRA_GPIO_PN5 static void ventana_isl29018_init(void) { @@ -32,6 +35,19 @@ static void ventana_isl29018_init(void) gpio_direction_input(ISL29018_IRQ_GPIO); } +static void ventana_akm8975_init(void) +{ + tegra_gpio_enable(AKM8975_IRQ_GPIO); + gpio_request(AKM8975_IRQ_GPIO, "akm8975"); + gpio_direction_input(AKM8975_IRQ_GPIO); +} + +struct nct1008_platform_data ventana_nct1008_pdata = { + .conv_rate = 5, + .config = NCT1008_CONFIG_ALERT_DISABLE, + .thermal_threshold = 110, +}; + static const struct i2c_board_info ventana_i2c0_board_info[] = { { I2C_BOARD_INFO("isl29018", 0x44), @@ -45,22 +61,21 @@ static const struct i2c_board_info ventana_i2c2_board_info[] = { }, }; -struct nct1008_platform_data ventana_nct1008_pdata = { - .conv_rate = 5, - .config = NCT1008_CONFIG_ALERT_DISABLE, - .thermal_threshold = 110, -}; - static struct i2c_board_info ventana_i2c4_board_info[] = { { I2C_BOARD_INFO("nct1008", 0x4C), .platform_data = &ventana_nct1008_pdata, }, + { + I2C_BOARD_INFO("akm8975", 0x0C), + .irq = TEGRA_GPIO_TO_IRQ(AKM8975_IRQ_GPIO), + } }; int __init ventana_sensors_init(void) { ventana_isl29018_init(); + ventana_akm8975_init(); i2c_register_board_info(0, ventana_i2c0_board_info, ARRAY_SIZE(ventana_i2c0_board_info)); |