update(driver): adapt v1.1 hardware configuration.
This commit is contained in:
@@ -1049,11 +1049,11 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
|
||||
usleep_range(1000, 1200);
|
||||
vin_gpio_set_status(sd, PWDN, 1);
|
||||
vin_gpio_set_status(sd, RESET, 1);
|
||||
vin_gpio_set_status(sd, POWER_EN, 1);
|
||||
// vin_gpio_set_status(sd, POWER_EN, 1);
|
||||
vin_gpio_write(sd, PWDN, CSI_GPIO_LOW);
|
||||
vin_gpio_write(sd, RESET, CSI_GPIO_LOW);
|
||||
usleep_range(1000, 1200);
|
||||
vin_gpio_write(sd, POWER_EN, CSI_GPIO_LOW);
|
||||
// vin_gpio_write(sd, POWER_EN, CSI_GPIO_LOW);
|
||||
//vin_set_pmu_channel(sd, CMBCSI, ON);
|
||||
vin_set_pmu_channel(sd, IOVDD, ON);
|
||||
usleep_range(1000, 1200);
|
||||
@@ -1072,7 +1072,7 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
|
||||
sensor_dbg("PWR_OFF!do nothing\n");
|
||||
cci_lock(sd);
|
||||
vin_set_mclk(sd, OFF);
|
||||
vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH);
|
||||
// vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH);
|
||||
//vin_set_pmu_channel(sd, CMBCSI, OFF);
|
||||
vin_set_pmu_channel(sd, AVDD, OFF);
|
||||
vin_set_pmu_channel(sd, DVDD, OFF);
|
||||
|
||||
@@ -27,7 +27,7 @@ MODULE_LICENSE("GPL");
|
||||
#define MCLK (24*1000*1000)
|
||||
#define V4L2_IDENT_SENSOR (0x002B)
|
||||
|
||||
#define HC_ORIGIN_DEFINED_BOARD
|
||||
// #define HC_ORIGIN_DEFINED_BOARD
|
||||
|
||||
/*
|
||||
* Our nominal (default) frame rate.
|
||||
@@ -42,8 +42,8 @@ MODULE_LICENSE("GPL");
|
||||
#define OV02B10_I2C_ADDR (0x7A>>1)
|
||||
|
||||
#define SENSOR_NUM 2
|
||||
#define SENSOR_NAME "ov02b1b_mipi"
|
||||
#define SENSOR_NAME_2 "ov02b10_mipi"
|
||||
#define SENSOR_NAME "ov02b10_mipi"
|
||||
#define SENSOR_NAME_2 "ov02b1b_mipi"
|
||||
|
||||
#define SENSOR_1600x1200_30FPS 1
|
||||
#define SENSOR_1280x720_30FPS 0
|
||||
@@ -666,7 +666,7 @@ static struct regval_list sensor_1600x1200_30fps_regs[] = {
|
||||
{0xfd, 0x01},
|
||||
{0x0e, 0x02},
|
||||
{0x0f, 0x1a},
|
||||
{0x12, 0x01}, //mirror and flip
|
||||
{0x12, 0x03}, //mirror and flip
|
||||
{0x18, 0x00},
|
||||
{0x22, 0xff},
|
||||
{0x23, 0x02},
|
||||
@@ -955,7 +955,8 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
|
||||
cci_lock(sd);
|
||||
|
||||
vin_gpio_set_status(sd, RESET, 1);
|
||||
vin_gpio_set_status(sd, POWER_EN, 1);
|
||||
// vin_gpio_set_status(sd, POWER_EN, 1);
|
||||
// vin_gpio_write(sd, POWER_EN, CSI_GPIO_LOW);
|
||||
#ifdef HC_ORIGIN_DEFINED_BOARD
|
||||
if (pwdn_flag == 0)
|
||||
{
|
||||
@@ -967,7 +968,7 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
|
||||
vin_gpio_write(sd, PWDN, CSI_GPIO_LOW);
|
||||
#endif
|
||||
vin_gpio_write(sd, RESET, CSI_GPIO_LOW);
|
||||
vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH);
|
||||
// vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH);
|
||||
usleep_range(5000, 6000);
|
||||
|
||||
vin_set_mclk_freq(sd, MCLK);
|
||||
@@ -1105,7 +1106,8 @@ static int sensor_get_fmt_mbus_core(struct v4l2_subdev *sd, int *code)
|
||||
// *code = info->fmt->mbus_code;
|
||||
// }
|
||||
// *code = MEDIA_BUS_FMT_SRGGB10_1X10;//MEDIA_BUS_FMT_SBGGR10_1X10;
|
||||
*code = MEDIA_BUS_FMT_SGRBG10_1X10;//MEDIA_BUS_FMT_SBGGR10_1X10;
|
||||
// *code = MEDIA_BUS_FMT_SGRBG10_1X10;//MEDIA_BUS_FMT_SBGGR10_1X10;
|
||||
*code = MEDIA_BUS_FMT_SBGGR10_1X10;//MEDIA_BUS_FMT_SBGGR10_1X10;
|
||||
sensor_print("%s(), L:%d, MEDIA_BUS_FMT_SBGGR10_1X10\n", __func__, __LINE__);
|
||||
return 0;
|
||||
}
|
||||
@@ -1160,7 +1162,8 @@ static struct sensor_format_struct sensor_formats[] = {
|
||||
{
|
||||
.desc = "Raw RGB Bayer",
|
||||
//.mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
.mbus_code = MEDIA_BUS_FMT_SGRBG10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
// .mbus_code = MEDIA_BUS_FMT_SGRBG10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
.regs = sensor_fmt_raw,
|
||||
.regs_size = ARRAY_SIZE(sensor_fmt_raw),
|
||||
.bpp = 1
|
||||
|
||||
Reference in New Issue
Block a user