diff options
author | Pritesh Raithatha <praithatha@nvidia.com> | 2012-01-17 15:35:40 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2012-01-19 16:15:49 -0800 |
commit | 5f98d1bc3fcaf91f4a4d72a3dd30a901e6b534ac (patch) | |
tree | bb2ea0982e724eeaa77235970573fea5a8bd3935 | |
parent | 45843059ea8675ca806a9adbd265d542c764e1b4 (diff) |
arm: tegra: ventana: add defines and cleanup header file
-move sensors defines to board header file.
-add defines for pca954x i2c mux instead of using direct i2c
bus number.
-cleanup board-ventana.h.
Bug 925547
Change-Id: I76a42b66f3a3fa0adbc8c06b2edb9fd006c7ae44
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-on: http://git-master/r/75689
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
-rw-r--r-- | arch/arm/mach-tegra/board-ventana-sensors.c | 21 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-ventana.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-ventana.h | 73 |
3 files changed, 55 insertions, 41 deletions
diff --git a/arch/arm/mach-tegra/board-ventana-sensors.c b/arch/arm/mach-tegra/board-ventana-sensors.c index c9c2f5441612..dd3ab863e536 100644 --- a/arch/arm/mach-tegra/board-ventana-sensors.c +++ b/arch/arm/mach-tegra/board-ventana-sensors.c @@ -1,7 +1,7 @@ /* * arch/arm/mach-tegra/board-ventana-sensors.c * - * Copyright (c) 2011, NVIDIA CORPORATION, All rights reserved. + * Copyright (c) 2011-2012, NVIDIA CORPORATION, All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -53,13 +53,6 @@ #include "board-ventana.h" #include "cpu-tegra.h" -#define ISL29018_IRQ_GPIO TEGRA_GPIO_PZ2 -#define AKM8975_IRQ_GPIO TEGRA_GPIO_PN5 -#define CAMERA_POWER_GPIO TEGRA_GPIO_PV4 -#define CAMERA_CSI_MUX_SEL_GPIO TEGRA_GPIO_PBB4 -#define CAMERA_FLASH_ACT_GPIO TEGRA_GPIO_PD2 -#define NCT1008_THERM2_GPIO TEGRA_GPIO_PN6 - static int ventana_camera_init(void) { int err; @@ -254,18 +247,18 @@ static const struct i2c_board_info ventana_i2c2_board_info[] = { }; static struct pca953x_platform_data ventana_tca6416_data = { - .gpio_base = TEGRA_NR_GPIOS + 4, /* 4 gpios are already requested by tps6586x */ + .gpio_base = TCA6416_GPIO_BASE, }; static struct pca954x_platform_mode ventana_pca9546_modes[] = { - { .adap_id = 6, .deselect_on_exit = 1 }, /* REAR CAM1 */ - { .adap_id = 7, .deselect_on_exit = 1 }, /* REAR CAM2 */ - { .adap_id = 8, .deselect_on_exit = 1 }, /* FRONT CAM3 */ + { .adap_id = PCA954x_I2C_BUS0, .deselect_on_exit = 1 }, /* REAR CAM1 */ + { .adap_id = PCA954x_I2C_BUS1, .deselect_on_exit = 1 }, /* REAR CAM2 */ + { .adap_id = PCA954x_I2C_BUS2, .deselect_on_exit = 1 }, /* FRONT CAM3 */ }; static struct pca954x_platform_data ventana_pca9546_data = { - .modes = ventana_pca9546_modes, - .num_modes = ARRAY_SIZE(ventana_pca9546_modes), + .modes = ventana_pca9546_modes, + .num_modes = ARRAY_SIZE(ventana_pca9546_modes), }; static const struct i2c_board_info ventana_i2c3_board_info_tca6416[] = { diff --git a/arch/arm/mach-tegra/board-ventana.c b/arch/arm/mach-tegra/board-ventana.c index e0ca2c65f143..23f946f643c6 100644 --- a/arch/arm/mach-tegra/board-ventana.c +++ b/arch/arm/mach-tegra/board-ventana.c @@ -232,7 +232,7 @@ static struct wm8903_platform_data ventana_wm8903_pdata = { .irq_active_low = 0, .micdet_cfg = 0, .micdet_delay = 100, - .gpio_base = VENTANA_GPIO_WM8903(0), + .gpio_base = WM8903_GPIO_BASE, .gpio_cfg = { (WM8903_GPn_FN_DMIC_LR_CLK_OUTPUT << WM8903_GP1_FN_SHIFT), (WM8903_GPn_FN_DMIC_LR_CLK_OUTPUT << WM8903_GP2_FN_SHIFT) | diff --git a/arch/arm/mach-tegra/board-ventana.h b/arch/arm/mach-tegra/board-ventana.h index 61b75363a19c..d9c142fba223 100644 --- a/arch/arm/mach-tegra/board-ventana.h +++ b/arch/arm/mach-tegra/board-ventana.h @@ -27,43 +27,64 @@ int ventana_kbc_init(void); int ventana_emc_init(void); int ventana_charger_init(void); -/* external gpios */ +/* PCA954x I2C bus expander bus addresses */ +#define PCA954x_I2C_BUS_BASE 6 +#define PCA954x_I2C_BUS0 (PCA954x_I2C_BUS_BASE + 0) +#define PCA954x_I2C_BUS1 (PCA954x_I2C_BUS_BASE + 1) +#define PCA954x_I2C_BUS2 (PCA954x_I2C_BUS_BASE + 2) + +/* Sensor gpios */ +#define ISL29018_IRQ_GPIO TEGRA_GPIO_PZ2 +#define AKM8975_IRQ_GPIO TEGRA_GPIO_PN5 +#define NCT1008_THERM2_GPIO TEGRA_GPIO_PN6 + +#define CAMERA_POWER_GPIO TEGRA_GPIO_PV4 +#define CAMERA_CSI_MUX_SEL_GPIO TEGRA_GPIO_PBB4 +#define CAMERA_FLASH_ACT_GPIO TEGRA_GPIO_PD2 /* TPS6586X gpios */ #define TPS6586X_GPIO_BASE TEGRA_NR_GPIOS -#define AVDD_DSI_CSI_ENB_GPIO (TPS6586X_GPIO_BASE + 1) /* gpio2 */ +#define TPS6586X_GPIO(_x_) (TPS6586X_GPIO_BASE + (_x_)) +#define TPS6586X_NR_GPIOS 4 +#define AVDD_DSI_CSI_ENB_GPIO TPS6586X_GPIO(1) /* gpio2 */ +#define TPS6586X_GPIO_END TPS6586X_GPIO(TPS6586X_NR_GPIOS - 1) /* TCA6416 gpios */ -#define TCA6416_GPIO_BASE (TEGRA_NR_GPIOS + 4) -#define CAM1_PWR_DN_GPIO (TCA6416_GPIO_BASE + 0) /* gpio0 */ -#define CAM1_RST_L_GPIO (TCA6416_GPIO_BASE + 1) /* gpio1 */ -#define CAM1_AF_PWR_DN_L_GPIO (TCA6416_GPIO_BASE + 2) /* gpio2 */ -#define CAM1_LDO_SHUTDN_L_GPIO (TCA6416_GPIO_BASE + 3) /* gpio3 */ -#define CAM2_PWR_DN_GPIO (TCA6416_GPIO_BASE + 4) /* gpio4 */ -#define CAM2_RST_L_GPIO (TCA6416_GPIO_BASE + 5) /* gpio5 */ -#define CAM2_AF_PWR_DN_L_GPIO (TCA6416_GPIO_BASE + 6) /* gpio6 */ -#define CAM2_LDO_SHUTDN_L_GPIO (TCA6416_GPIO_BASE + 7) /* gpio7 */ -#define CAM3_PWR_DN_GPIO (TCA6416_GPIO_BASE + 8) /* gpio8 */ -#define CAM3_RST_L_GPIO (TCA6416_GPIO_BASE + 9) /* gpio9 */ -#define CAM3_AF_PWR_DN_L_GPIO (TCA6416_GPIO_BASE + 10) /* gpio10 */ -#define CAM3_LDO_SHUTDN_L_GPIO (TCA6416_GPIO_BASE + 11) /* gpio11 */ -#define CAM_I2C_MUX_RST_GPIO (TCA6416_GPIO_BASE + 15) /* gpio15 */ -#define TCA6416_GPIO_END (TCA6416_GPIO_BASE + 31) +#define TCA6416_GPIO_BASE (TPS6586X_GPIO_END + 1) +#define TCA6416_GPIO(_x_) (TCA6416_GPIO_BASE + (_x_)) +#define TCA6416_NR_GPIOS 16 +#define CAM1_PWR_DN_GPIO TCA6416_GPIO(0) /* gpio0 */ +#define CAM1_RST_L_GPIO TCA6416_GPIO(1) /* gpio1 */ +#define CAM1_AF_PWR_DN_L_GPIO TCA6416_GPIO(2) /* gpio2 */ +#define CAM1_LDO_SHUTDN_L_GPIO TCA6416_GPIO(3) /* gpio3 */ +#define CAM2_PWR_DN_GPIO TCA6416_GPIO(4) /* gpio4 */ +#define CAM2_RST_L_GPIO TCA6416_GPIO(5) /* gpio5 */ +#define CAM2_AF_PWR_DN_L_GPIO TCA6416_GPIO(6) /* gpio6 */ +#define CAM2_LDO_SHUTDN_L_GPIO TCA6416_GPIO(7) /* gpio7 */ +#define CAM3_PWR_DN_GPIO TCA6416_GPIO(8) /* gpio8 */ +#define CAM3_RST_L_GPIO TCA6416_GPIO(9) /* gpio9 */ +#define CAM3_AF_PWR_DN_L_GPIO TCA6416_GPIO(10) /* gpio10 */ +#define CAM3_LDO_SHUTDN_L_GPIO TCA6416_GPIO(11) /* gpio11 */ +#define CAM_LED_GPIO TCA6416_GPIO(12) /* gpio12 */ +#define CAM_I2C_MUX_RST_GPIO TCA6416_GPIO(15) /* gpio15 */ +#define TCA6416_GPIO_END TCA6416_GPIO(TCA6416_NR_GPIOS - 1) /* WM8903 GPIOs */ -#define VENTANA_GPIO_WM8903(_x_) (TCA6416_GPIO_END + 1 + (_x_)) -#define VENTANA_GPIO_WM8903_END VENTANA_GPIO_WM8903(4) +#define WM8903_GPIO_BASE (TCA6416_GPIO_END + 1) +#define WM8903_GPIO(_x_) (WM8903_GPIO_BASE + (_x_)) +#define WM8903_NR_GPIOS 4 +#define WM8903_GPIO_END WM8903_GPIO(WM8903_NR_GPIOS - 1) /* Audio-related GPIOs */ -#define TEGRA_GPIO_CDC_IRQ TEGRA_GPIO_PX3 -#define TEGRA_GPIO_SPKR_EN VENTANA_GPIO_WM8903(2) -#define TEGRA_GPIO_HP_DET TEGRA_GPIO_PW2 -#define TEGRA_GPIO_HP_DET TEGRA_GPIO_PW2 -#define TEGRA_GPIO_INT_MIC_EN TEGRA_GPIO_PX0 -#define TEGRA_GPIO_EXT_MIC_EN TEGRA_GPIO_PX1 +#define TEGRA_GPIO_CDC_IRQ TEGRA_GPIO_PX3 +#define TEGRA_GPIO_SPKR_EN WM8903_GPIO(2) +#define TEGRA_GPIO_HP_DET TEGRA_GPIO_PW2 +#define TEGRA_GPIO_HP_DET TEGRA_GPIO_PW2 +#define TEGRA_GPIO_INT_MIC_EN TEGRA_GPIO_PX0 +#define TEGRA_GPIO_EXT_MIC_EN TEGRA_GPIO_PX1 /* AC detect GPIO */ -#define AC_PRESENT_GPIO TEGRA_GPIO_PV3 +#define AC_PRESENT_GPIO TEGRA_GPIO_PV3 /* Interrupt numbers from external peripherals */ #define TPS6586X_INT_BASE TEGRA_NR_IRQS |