diff options
author | Scott Williams <scwilliams@nvidia.com> | 2010-12-07 11:20:05 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:45:24 -0800 |
commit | e8c4914e040999d075b562ea671d99ab64cf45a4 (patch) | |
tree | 153a5500a8a1639f7ae6b95bc04d43a20145209c /arch/arm/mach-tegra/board-aruba-sensors.c | |
parent | 5a5ed447904971aa146e15966b2d9c982fa157b0 (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.c | 98 |
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 |