ARM: tegra: cardhu: fix 5650 power on sequence
Anton Kondratenko [Tue, 13 Dec 2011 03:06:17 +0000 (19:06 -0800)]
Since front and back right camera are multiplexed,
back right camera needs to be selected on power on.

Bug 890780

Change-Id: I6c9ecb95c42b3faedfede98b7e7de7e778d720b6
Signed-off-by: Anton Kondratenko <akondratenko@nvidia.com>
Reviewed-on: http://git-master/r/69662
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>

arch/arm/mach-tegra/board-cardhu-sensors.c

index 8dbdb42..e8c3b33 100644 (file)
@@ -277,6 +277,9 @@ static struct i2c_board_info cardhu_i2c_board_info_e1214[] = {
 
 static int cardhu_right_ov5650_power_on(void)
 {
+       /* CSI-B and front sensor are muxed on cardhu */
+       gpio_direction_output(CAMERA_CSI_MUX_SEL_GPIO, 0);
+
        /* Boards E1198 and E1291 are of Cardhu personality
         * and donot have TCA6416 exp for camera */
        if ((board_info.board_id == BOARD_E1198) ||
@@ -335,6 +338,9 @@ reg_alloc_fail:
 
 static int cardhu_right_ov5650_power_off(void)
 {
+       /* CSI-B and front sensor are muxed on cardhu */
+       gpio_direction_output(CAMERA_CSI_MUX_SEL_GPIO, 0);
+
        /* Boards E1198 and E1291 are of Cardhu personality
         * and donot have TCA6416 exp for camera */
        if ((board_info.board_id == BOARD_E1198) ||
@@ -380,7 +386,7 @@ struct ov5650_platform_data cardhu_right_ov5650_data = {
 
 static int cardhu_ov2710_power_on(void)
 {
-       /* CSI-B and front sensor are muxed on verbier */
+       /* CSI-B and front sensor are muxed on cardhu */
        gpio_direction_output(CAMERA_CSI_MUX_SEL_GPIO, 1);
 
        /* Boards E1198 and E1291 are of Cardhu personality
@@ -433,6 +439,7 @@ reg_alloc_fail:
 
 static int cardhu_ov2710_power_off(void)
 {
+       /* CSI-B and front sensor are muxed on cardhu */
        gpio_direction_output(CAMERA_CSI_MUX_SEL_GPIO, 1);
 
        /* Boards E1198 and E1291 are of Cardhu personality