/* ************************************************************************** * FunctionName: hi843s_ofilm_init_reg; * Description : download initial seq for sensor init; * Input : NA; * Output : NA; * ReturnValue : NA; * Other : NA; ************************************************************************** */ static int hi843s_ofilm_init_reg(void) { int size = 0; print_info("Enter Function:%s , initsize=%d", __func__, sizeof(hi843s_ofilm_init_regs)); if (0 != k3_ispio_init_csi(hi843s_ofilm_sensor.mipi_index, hi843s_ofilm_sensor.mipi_lane_count, hi843s_ofilm_sensor.lane_clk)) { return -EFAULT; } mdelay(3); hi843s_ofilm_sensor.i2c_config.val_bits = I2C_16BIT; size = ARRAY_SIZE(hi843s_ofilm_init_regs); if (0 != hi843s_ofilm_write_seq(hi843s_ofilm_init_regs, size, 0x00)) { print_error("fail to init hi843s sensor"); hi843s_ofilm_sensor.i2c_config.val_bits = I2C_8BIT; return -EFAULT; } hi843s_ofilm_sensor.i2c_config.val_bits = I2C_8BIT; return 0; }
/* ************************************************************************** * FunctionName: ov13850_init_reg; * Description : download initial seq for sensor init; * Input : NA; * Output : NA; * ReturnValue : NA; * Other : NA; ************************************************************************** */ static int ov13850_init_reg(void) { int size = 0; print_debug("Enter Function:%s , initsize=%d", __func__, sizeof(ov13850_init_regs)); if (0 != k3_ispio_init_csi(ov13850_lit171.mipi_index, ov13850_lit171.mipi_lane_count, ov13850_lit171.lane_clk)) { return -EFAULT; } ov13850_write_reg(0x0103, 0x01, 0x00); mdelay(5); size = ARRAY_SIZE(ov13850_init_regs); if (0 != ov13850_write_seq(ov13850_init_regs, size, 0x00)) { print_error("line %d, fail to init ov13850 sensor",__LINE__); return -EFAULT; } #ifdef OV13850_LIT171_OTP if((ov13850_otp_flag & OV13850_OTP_FAIL_FLAG) != OV13850_OTP_FAIL_FLAG){ ov13850_otp_set_lsc(); ov13850_otp_set_awb(); } #endif return 0; }
/*download initial seq for sensor init*/ static int sonyimx214_init_reg(void) { print_debug("Enter %s.\n", __func__); if (0 != k3_ispio_init_csi(sonyimx214_sensor.mipi_index, sonyimx214_sensor.mipi_lane_count, sonyimx214_sensor.lane_clk)) { return -EFAULT; } if (0 != sonyimx214_write_seq(sonyimx214_init_regs, ARRAY_SIZE(sonyimx214_init_regs), 0x00)) { print_error("%s fail to init sonyimx214 sensor.\n", __func__); return -EFAULT; } return 0; }
/* ************************************************************************** * FunctionName: s5k3h2yx_samsungem_init_reg; * Description : download initial seq for sensor init; * Input : NA; * Output : NA; * ReturnValue : NA; * Other : NA; ************************************************************************** */ static int s5k3h2yx_samsungem_init_reg(void) { int size = 0; print_debug("Enter Function:%s , initsize=%d", __func__, sizeof(s5k3h2yx_samsungem_init_regs)); size = ARRAY_SIZE(isp_init_regs_s5k3h2yx_samsungem); s5k3h2yx_samsungem_write_isp_seq(isp_init_regs_s5k3h2yx_samsungem, size); //s5k3h2yx_samsungem_write_reg(0x100, 0x00); /* msleep(1); */ #if 1 if (0 != k3_ispio_init_csi(s5k3h2yx_samsungem_sensor.mipi_index, s5k3h2yx_samsungem_sensor.mipi_lane_count, s5k3h2yx_samsungem_sensor.lane_clk)) { return -EFAULT; } size = ARRAY_SIZE(s5k3h2yx_samsungem_init_regs); if (0 != s5k3h2yx_samsungem_write_seq(s5k3h2yx_samsungem_init_regs, size, 0x00)) { print_error("fail to init s5k3h2yx_samsungem sensor"); return -EFAULT; } //s5k3h2yx_samsungem_write_reg(0x0100, 0x00); //s5k3h2yx_samsungem_write_reg(0x3311, 0x00); //s5k3h2yx_samsungem_write_reg(0x0100, 0x01); #else if (0 != k3_ispio_init_csi(s5k3h2yx_samsungem_sensor.mipi_index, s5k3h2yx_samsungem_sensor.mipi_lane_count)) { return -EFAULT; } size = ARRAY_SIZE(s5k3h2yx_samsungem_init_regs); if (0 != s5k3h2yx_samsungem_write_seq(s5k3h2yx_samsungem_init_regs, size)) { print_error("fail to init s5k3h2yx_samsungem sensor"); return -EFAULT; } #endif return 0; }
/* ************************************************************************** * FunctionName: imx219_liteon_init_reg; * Description : download initial seq for sensor init; * Input : NA; * Output : NA; * ReturnValue : NA; * Other : NA; ************************************************************************** */ static int imx219_liteon_init_reg(void) { int size = 0; print_info("Enter Function:%s , initsize=%d", __func__, sizeof(imx219_liteon_init_regs)); if (0 != k3_ispio_init_csi(imx219_liteon_sensor.mipi_index, imx219_liteon_sensor.mipi_lane_count, imx219_liteon_sensor.lane_clk)) { return -EFAULT; } size = ARRAY_SIZE(imx219_liteon_init_regs); if (0 != imx219_liteon_write_seq(imx219_liteon_init_regs, size, 0x00)) { print_error("fail to init imx219 sensor"); return -EFAULT; } return 0; }
/* ************************************************************************** * FunctionName: sonyimx105_init_reg; * Description : download initial seq for sensor init; * Input : NA; * Output : NA; * ReturnValue : NA; * Other : NA; ************************************************************************** */ static int sonyimx105_init_reg(void) { int size = 0; print_debug("Enter Function:%s , initsize=%d", __func__, sizeof(sonyimx105_init_regs)); size = ARRAY_SIZE(isp_init_regs_sonyimx105); sonyimx105_write_isp_seq(isp_init_regs_sonyimx105, size); if (0 != k3_ispio_init_csi(sonyimx105_sensor.mipi_index, sonyimx105_sensor.mipi_lane_count, sonyimx105_sensor.lane_clk)) { return -EFAULT; } size = ARRAY_SIZE(sonyimx105_init_regs); if (0 != sonyimx105_write_seq(sonyimx105_init_regs, size, 0x00)) { print_error("line %d, fail to init sonyimx105 sensor",__LINE__); return -EFAULT; } return 0; }