summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-aruba-sensors.c
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2010-12-07 11:20:05 -0800
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:45:24 -0800
commite8c4914e040999d075b562ea671d99ab64cf45a4 (patch)
tree153a5500a8a1639f7ae6b95bc04d43a20145209c /arch/arm/mach-tegra/board-aruba-sensors.c
parent5a5ed447904971aa146e15966b2d9c982fa157b0 (diff)
[ARM/tegra] Add Aruba board definition files
Bug 764354 Original-Change-Id: I23d0ddc5107c02195ef58cab0e0c49ea65c72a87 Reviewed-on: http://git-master/r/12229 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Tested-by: Scott Williams <scwilliams@nvidia.com> Original-Change-Id: Ibaa7f1e4cd5a3e3475d56601b420e40985194197 Rebase-Id: Rbdcbee634d19419502574f356a35370797db473a
Diffstat (limited to 'arch/arm/mach-tegra/board-aruba-sensors.c')
-rw-r--r--arch/arm/mach-tegra/board-aruba-sensors.c98
1 files changed, 98 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-aruba-sensors.c b/arch/arm/mach-tegra/board-aruba-sensors.c
new file mode 100644
index 000000000000..c50467976621
--- /dev/null
+++ b/arch/arm/mach-tegra/board-aruba-sensors.c
@@ -0,0 +1,98 @@
+/*
+ * arch/arm/mach-tegra/board-aruba-sensors.c
+ *
+ * Copyright (c) 2010, NVIDIA, All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <linux/i2c.h>
+#include <mach/gpio.h>
+#include <linux/i2c/nct1008.h>
+#include <linux/akm8975.h>
+
+#include "gpio-names.h"
+
+#if 0 // !!!FIXME!!! IMPLEMENT ME
+
+#define ISL29018_IRQ_GPIO TEGRA_GPIO_PZ2
+#define AKM8975_IRQ_GPIO TEGRA_GPIO_PN5
+
+static void aruba_isl29018_init(void)
+{
+ tegra_gpio_enable(ISL29018_IRQ_GPIO);
+ gpio_request(ISL29018_IRQ_GPIO, "isl29018");
+ gpio_direction_input(ISL29018_IRQ_GPIO);
+}
+
+static void aruba_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 aruba_nct1008_pdata = {
+ .conv_rate = 5,
+ .config = NCT1008_CONFIG_ALERT_DISABLE,
+ .thermal_threshold = 110,
+};
+
+static const struct i2c_board_info aruba_i2c0_board_info[] = {
+ {
+ I2C_BOARD_INFO("isl29018", 0x44),
+ .irq = TEGRA_GPIO_TO_IRQ(TEGRA_GPIO_PZ2),
+ },
+};
+
+static const struct i2c_board_info aruba_i2c2_board_info[] = {
+ {
+ I2C_BOARD_INFO("bq20z75-battery", 0x0B),
+ },
+};
+
+static struct i2c_board_info aruba_i2c4_board_info[] = {
+ {
+ I2C_BOARD_INFO("nct1008", 0x4C),
+ .platform_data = &aruba_nct1008_pdata,
+ },
+ {
+ I2C_BOARD_INFO("akm8975", 0x0C),
+ .irq = TEGRA_GPIO_TO_IRQ(AKM8975_IRQ_GPIO),
+ }
+};
+
+int __init aruba_sensors_init(void)
+{
+ aruba_isl29018_init();
+ aruba_akm8975_init();
+
+ i2c_register_board_info(0, aruba_i2c0_board_info,
+ ARRAY_SIZE(aruba_i2c0_board_info));
+
+ i2c_register_board_info(2, aruba_i2c2_board_info,
+ ARRAY_SIZE(aruba_i2c2_board_info));
+
+ i2c_register_board_info(4, aruba_i2c4_board_info,
+ ARRAY_SIZE(aruba_i2c4_board_info));
+
+ return 0;
+}
+#else
+int __init aruba_sensors_init(void)
+{
+ return 0;
+}
+#endif