diff options
author | Jihoon Bang <jbang@nvidia.com> | 2011-12-12 11:00:14 -0800 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-21 12:06:21 +0530 |
commit | ea8fd1600b0590293b917f0b3322a0b8be1220fe (patch) | |
tree | dafe6293e3f307449a837b03bb2e1113e8828b06 /arch/arm/mach-tegra/board-enterprise-sensors.c | |
parent | 57d2376b768c9eb8a9c669d5a06a9a75972b8669 (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.c | 20 |
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: |