static int enterprise_ov9726_power_off(void) { pr_info("ov9726 power off\n"); enterprise_cam_pwr(CAM_FRONT, false); return 0; }
static int enterprise_ov9726_power_on(void) { pr_info("ov9726 power on\n"); /* switch mipi mux to front camera */ gpio_set_value(CAM_CSI_MUX_SEL_GPIO, CAM_CSI_MUX_SEL_FRONT); enterprise_cam_pwr(CAM_FRONT, true); return 0; }
static int enterprise_ar0832_le_power_off(int is_stereo) { int ret; pr_info("%s: ++\n", __func__); ret = enterprise_cam_pwr(CAM_REAR_LEFT, false); /* Assert Reset */ gpio_set_value(CAM2_RST_L_GPIO, 0); return ret; }
static int enterprise_ar0832_ri_power_on(int is_stereo) { int ret = 0; ret = enterprise_cam_pwr(CAM_REAR_RIGHT, true); /* Release Reset */ if (is_stereo) { gpio_set_value(CAM1_RST_L_GPIO, 1); gpio_set_value(CAM2_RST_L_GPIO, 1); } else gpio_set_value(CAM1_RST_L_GPIO, 1); /* It takes 2400 EXTCLK for ar0832 to be ready for I2c. EXTCLK is 10 ~ 24MHz. 1 ms should be enough to cover at least 2400 EXTCLK within frequency range. */ enterprise_msleep(1); return ret; }
static int enterprise_ar0832_le_power_on(int is_stereo) { int ret = 0; pr_info("%s: ++\n", __func__); ret = enterprise_cam_pwr(CAM_REAR_LEFT, true); /* Release Reset */ gpio_set_value(CAM2_RST_L_GPIO, 1); /* It takes 2400 EXTCLK for ar0832 to be ready for I2c. EXTCLK is 10 ~ 24MHz. 1 ms should be enough to cover at least 2400 EXTCLK within frequency range. */ enterprise_msleep(1); /* CSI B is shared between Front camera and Rear Left camera */ gpio_set_value(CAM_CSI_MUX_SEL_GPIO, 1); return ret; }