summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu-sensors.c
diff options
context:
space:
mode:
authorBibek Basu <bbasu@nvidia.com>2012-10-11 12:03:18 +0530
committerMatthew Pedro <mapedro@nvidia.com>2012-11-28 19:45:06 -0800
commit03c65aadf0d141033e348d01713a4fd688d949b7 (patch)
tree660720d6d3032628bcba92526c7c326e29b442f9 /arch/arm/mach-tegra/board-cardhu-sensors.c
parentfc993d9bc48f772133d8cd156c67c296477db070 (diff)
arm: tegra: cardhu: add support for PM315
Add support for PM315 Bug 1171138 Change-Id: I2e5461c656c41d4172aca60525655cb780eaa17e Original-author: Mike Thompson <mikthompson@nvidia.com> Signed-off-by: Mike Thompson <mikthompson@nvidia.com> Signed-off-by: Bibek Basu <bbasu@nvidia.com> Signed-off-by: Syed Rafiuddin <srafiuddin@nvidia.com> Reviewed-on: http://git-master/r/143506 (cherry picked from commit 4e66142b6990ca586e085aa88ae0bd6b819da0c4) Reviewed-on: http://git-master/r/166814 GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-sensors.c')
-rw-r--r--arch/arm/mach-tegra/board-cardhu-sensors.c48
1 files changed, 30 insertions, 18 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-sensors.c b/arch/arm/mach-tegra/board-cardhu-sensors.c
index 7e9774f290eb..365da60fa9ec 100644
--- a/arch/arm/mach-tegra/board-cardhu-sensors.c
+++ b/arch/arm/mach-tegra/board-cardhu-sensors.c
@@ -88,7 +88,8 @@ static int cardhu_camera_init(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and donot have TCA6416 exp for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
ret = gpio_request(CAM1_POWER_DWN_GPIO, "camera_power_en");
if (ret < 0)
pr_err("%s: gpio_request failed for gpio %s\n",
@@ -137,7 +138,8 @@ static int cardhu_left_ov5650_power_on(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and donot have TCA6416 exp for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
if (cardhu_vdd_2v8_cam1 == NULL) {
cardhu_vdd_2v8_cam1 = regulator_get(NULL, "vdd_2v8_cam1");
@@ -164,7 +166,8 @@ static int cardhu_left_ov5650_power_on(void)
mdelay(5);
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 0);
mdelay(20);
gpio_direction_output(OV5650_RESETN_GPIO, 0);
@@ -199,7 +202,8 @@ static int cardhu_left_ov5650_power_off(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and donot have TCA6416 exp for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM2_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM3_POWER_DWN_GPIO, 1);
@@ -281,7 +285,8 @@ static int cardhu_right_ov5650_power_on(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and donot have TCA6416 exp for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 0);
gpio_direction_output(CAM2_POWER_DWN_GPIO, 0);
@@ -342,7 +347,8 @@ static int cardhu_right_ov5650_power_off(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and do not have TCA6416 for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM2_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM3_POWER_DWN_GPIO, 1);
@@ -363,8 +369,8 @@ static void cardhu_ov5650_synchronize_sensors(void)
mdelay(50);
gpio_direction_output(CAM1_POWER_DWN_GPIO, 0);
mdelay(50);
- }
- else if (board_info.board_id == BOARD_E1291) {
+ } else if ((board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM2_POWER_DWN_GPIO, 1);
mdelay(50);
@@ -401,7 +407,8 @@ static int cardhu_ov2710_power_on(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and do not have TCA6416 for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
if (cardhu_vdd_cam3 == NULL) {
cardhu_vdd_cam3 = regulator_get(NULL, "vdd_cam3");
if (WARN_ON(IS_ERR(cardhu_vdd_cam3))) {
@@ -446,7 +453,8 @@ static int cardhu_ov2710_power_off(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and donot have TCA6416 exp for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM2_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM3_POWER_DWN_GPIO, 1);
@@ -473,7 +481,8 @@ static int cardhu_ov5640_power_on(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and donot have TCA6416 exp for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 0);
gpio_direction_output(CAM2_POWER_DWN_GPIO, 0);
@@ -526,7 +535,8 @@ static int cardhu_ov5640_power_off(void)
/* Boards E1198 and E1291 are of Cardhu personality
* and donot have TCA6416 exp for camera */
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291)) {
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315)) {
gpio_direction_output(CAM1_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM2_POWER_DWN_GPIO, 1);
gpio_direction_output(CAM3_POWER_DWN_GPIO, 1);
@@ -858,7 +868,8 @@ static int cardhu_nct1008_init(void)
(board_info.board_id == BOARD_E1257) ||
(board_info.board_id == BOARD_PM269) ||
(board_info.board_id == BOARD_PM305) ||
- (board_info.board_id == BOARD_PM311)) {
+ (board_info.board_id == BOARD_PM311) ||
+ (board_info.board_id == BOARD_PM315)) {
nct1008_port = TEGRA_GPIO_PCC2;
} else if ((board_info.board_id == BOARD_E1186) ||
(board_info.board_id == BOARD_E1187) ||
@@ -1109,7 +1120,7 @@ int __init cardhu_sensors_init(void)
if (board_info.sku == BOARD_SKU_B11)
i2c_register_board_info(2, cardhu_i2c2_ltr_board_info,
ARRAY_SIZE(cardhu_i2c2_ltr_board_info));
- else
+ else if (board_info.board_id != BOARD_PM315)
i2c_register_board_info(2, cardhu_i2c2_isl_board_info,
ARRAY_SIZE(cardhu_i2c2_isl_board_info));
@@ -1165,19 +1176,20 @@ int __init cardhu_ov5650_late_init(void)
return 0;
if ((board_info.board_id == BOARD_E1198) ||
- (board_info.board_id == BOARD_E1291))
+ (board_info.board_id == BOARD_E1291) ||
+ (board_info.board_id == BOARD_PM315))
return 0;
- printk("%s: \n", __func__);
+ printk(KERN_INFO "%s:\n", __func__);
for (i = 0; i < ARRAY_SIZE(ov5650_gpio_keys); i++) {
ret = gpio_request(ov5650_gpio_keys[i].gpio,
ov5650_gpio_keys[i].name);
if (ret < 0) {
- printk("%s: gpio_request failed for gpio #%d\n",
+ printk(KERN_INFO "%s: gpio_request failed for gpio #%d\n",
__func__, i);
goto fail;
}
- printk("%s: enable - %d\n", __func__, i);
+ printk(KERN_INFO "%s: enable - %d\n", __func__, i);
gpio_direction_output(ov5650_gpio_keys[i].gpio,
ov5650_gpio_keys[i].enabled);
gpio_export(ov5650_gpio_keys[i].gpio, false);