summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-ventana-sensors.c
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-09-17 15:25:03 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2010-10-19 13:34:59 -0700
commita84fbfed575fee180699b4e01a0b9bf704cad4ae (patch)
treead8c09eb9090c616bede71bc8c669c92e7ccdb4a /arch/arm/mach-tegra/board-ventana-sensors.c
parent8ba980cd4ee7b5423757afc0d093167571b25bce (diff)
[ARM] tegra: ventana: register akm8975 compass
For Ventana board registering i2c board info for akm8975 compass on i2c bus4. Change-Id: Ie5a293699e69a9c94d89bb419db26ca81e5c4a91 Reviewed-on: http://git-master/r/7974 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-ventana-sensors.c')
-rw-r--r--arch/arm/mach-tegra/board-ventana-sensors.c27
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));