summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-enterprise-sensors.c
diff options
context:
space:
mode:
authorJihoon Bang <jbang@nvidia.com>2011-12-12 11:00:14 -0800
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-21 12:06:21 +0530
commitea8fd1600b0590293b917f0b3322a0b8be1220fe (patch)
treedafe6293e3f307449a837b03bb2e1113e8828b06 /arch/arm/mach-tegra/board-enterprise-sensors.c
parent57d2376b768c9eb8a9c669d5a06a9a75972b8669 (diff)
arm: tegra: enterprise: support A01 camera module
Change if statement to support E1513 A01 board in E1197. Add tegra_get_camera_board_info to parse camera module id that is passed in from bootloader. Bug 914552 Change-Id: I20c3bcaf181e29446aa254ea189d917bc6905488 Signed-off-by: Jihoon Bang <jbang@nvidia.com> Reviewed-on: http://git-master/r/69504 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-enterprise-sensors.c')
-rw-r--r--arch/arm/mach-tegra/board-enterprise-sensors.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise-sensors.c b/arch/arm/mach-tegra/board-enterprise-sensors.c
index b7b10109286c..31f365ac366c 100644
--- a/arch/arm/mach-tegra/board-enterprise-sensors.c
+++ b/arch/arm/mach-tegra/board-enterprise-sensors.c
@@ -555,6 +555,8 @@ static int enterprise_cam_init(void)
int ret;
int i;
struct board_info bi;
+ struct board_info cam_bi;
+ bool i2c_mux = false;
pr_info("%s:++\n", __func__);
memset(ent_vicsi_pwr, 0, sizeof(ent_vicsi_pwr));
@@ -573,11 +575,24 @@ static int enterprise_cam_init(void)
}
tegra_get_board_info(&bi);
+ tegra_get_camera_board_info(&cam_bi);
+
+ if (bi.board_id == BOARD_E1205) {
+ if (bi.fab == BOARD_FAB_A00 || bi.fab == BOARD_FAB_A01)
+ i2c_mux = false;
+ else if (bi.fab == BOARD_FAB_A02)
+ i2c_mux = true;
+ } else if (bi.board_id == BOARD_E1197) {
+ if (cam_bi.fab == BOARD_FAB_A00)
+ i2c_mux = false;
+ else if (cam_bi.fab == BOARD_FAB_A01)
+ i2c_mux = true;
+ }
- if (bi.fab == BOARD_FAB_A00 || bi.fab == BOARD_FAB_A01)
+ if (!i2c_mux)
i2c_register_board_info(2, ar0832_i2c2_boardinfo,
ARRAY_SIZE(ar0832_i2c2_boardinfo));
- else if (bi.fab == BOARD_FAB_A02) {
+ else {
i2c_register_board_info(2, enterprise_i2c2_boardinfo,
ARRAY_SIZE(enterprise_i2c2_boardinfo));
/*
@@ -589,7 +604,6 @@ static int enterprise_cam_init(void)
i2c_register_board_info(PCA954x_I2C_BUS1, enterprise_i2c7_boardinfo,
ARRAY_SIZE(enterprise_i2c7_boardinfo));
}
-
return 0;
fail_free_gpio: