upate:更新双目sensor驱动

This commit is contained in:
2025-03-06 20:04:44 +08:00
parent e265e27c69
commit 2077a3997d
20 changed files with 44204 additions and 8790 deletions

View File

@@ -159,8 +159,8 @@
status = "okay";
ch_id = <0>;//vipp_num
codec_type = <0>;//0//0:H264; 1:JPG; 2:H265
res_w = <1920>;
res_h = <1080>;
res_w = <1600>;
res_h = <1200>;
fps = <15>;
bit_rate = <1536>;//kb
gop = <40>;
@@ -190,8 +190,8 @@
status = "disabled";
ch_id = <1>;//vipp_num
codec_type = <0>;//0//0:H264; 1:JPG; 2:H265
res_w = <1920>;
res_h = <1080>;
res_w = <1600>;
res_h = <1200>;
fps = <15>;
bit_rate = <1536>;//kb
gop = <40>;
@@ -262,11 +262,12 @@
tdm0:tdm@0 {
iommus = <&mmu_aw 4 0>;
work_mode = <0>;
work_mode = <1>;
delay_init = <1>;
};
isp00:isp@0 {
work_mode = <0>;
work_mode = <1>;
rpbuf = <&rpbuf_controller0>;
iommus = <&mmu_aw 4 0>;
isp-region = <&isp_reserved>;
@@ -274,6 +275,11 @@
};
isp01:isp@1 {
/*
rpbuf = <&rpbuf_controller0>;
iommus = <&mmu_aw 4 0>;
delay_init = <1>;
*/
status = "disabled";
};
@@ -291,13 +297,14 @@
};
scaler00:scaler@0 {
work_mode = <0>;
work_mode = <1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler01:scaler@1 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler02:scaler@2 {
@@ -309,13 +316,14 @@
};
scaler10:scaler@4 {
work_mode = <0>;
work_mode = <1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler11:scaler@5 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler12:scaler@6 {
@@ -327,13 +335,14 @@
};
scaler20:scaler@8 {
work_mode = <0>;
work_mode = <1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler21:scaler@9 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler22:scaler@10 {
@@ -345,13 +354,14 @@
};
scaler30:scaler@12 {
work_mode = <0>;
work_mode = <1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler31:scaler@13 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler32:scaler@14 {
@@ -384,25 +394,17 @@
sensor0:sensor@0 {
device_type = "sensor0";
sensor0_mname = "gc2083_mipi";
sensor0_twi_cci_id = <1>;
sensor0_twi_addr = <0x6e>;
sensor0_mclk_id = <0>;
sensor0_mname = "sc202cs_mipi";
sensor0_twi_cci_id = <0>;
sensor0_twi_addr = <0x20>;
sensor0_mclk_id = <1>;
sensor0_pos = "rear";
sensor0_isp_used = <1>;
sensor0_fmt = <1>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
/* sensor0_iovdd-supply = <&reg_aldo2>; */
/* sensor0_iovdd_vol = <1800000>; */
/* sensor0_avdd-supply = <&reg_bldo2>; */
/* sensor0_avdd_vol = <2800000>; */
/* sensor0_dvdd-supply = <&reg_dldo2>; */
/* sensor0_dvdd_vol = <1200000>; */
/* sensor0_power_en = <>; */
/* sensor0_reset = <&pio PA 10 1 0 1 0>; */
sensor0_pwdn = <&pio PA 9 1 0 1 0>;
sensor0_reset = <&pio PE 10 1 0 1 0>;
sensor0_sm_hs = <>;
sensor0_sm_vs = <>;
sensor0_power_en = <>;
@@ -413,9 +415,9 @@
sensor1:sensor@1 {
device_type = "sensor1";
sensor1_mname = "imx386_mipi_2";
sensor1_mname = "sc202cs_mipi_2";
sensor1_twi_cci_id = <0>;
sensor1_twi_addr = <0x20>;
sensor1_twi_addr = <0x6c>;
sensor1_mclk_id = <1>;
sensor1_pos = "front";
sensor1_isp_used = <1>;
@@ -423,15 +425,7 @@
sensor1_stby_mode = <0>;
sensor1_vflip = <0>;
sensor1_hflip = <0>;
/* sensor1_iovdd-supply = <&reg_aldo2>; */
/* sensor1_iovdd_vol = <1800000>; */
/* sensor1_avdd-supply = <&reg_bldo2>; */
/* sensor1_avdd_vol = <2800000>; */
/* sensor1_dvdd-supply = <&reg_dldo2>; */
/* sensor1_dvdd_vol = <1200000>; */
/* sensor1_power_en = <>; */
sensor1_reset = <&pio PA 20 1 0 1 0>;
sensor1_pwdn = <&pio PA 21 1 0 1 0>;
sensor1_reset = <&pio PE 11 1 0 1 0>;
sensor1_sm_hs = <>;
sensor1_sm_vs = <>;
flash_handle = <>;
@@ -448,21 +442,24 @@
vinc0_rear_sensor_sel = <0>;
vinc0_front_sensor_sel = <0>;
vinc0_sensor_list = <0>;
work_mode = <0x0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc01:vinc@1 {
vinc1_csi_sel = <2>;
vinc1_mipi_sel = <0xff>;
vinc1_csi_sel = <1>;
vinc1_mipi_sel = <1>;
vinc1_isp_sel = <1>;
vinc1_isp_tx_ch = <1>;
vinc1_isp_tx_ch = <0>;
vinc1_tdm_rx_sel = <1>;
vinc1_rear_sensor_sel = <0>;
vinc1_front_sensor_sel = <0>;
vinc1_rear_sensor_sel = <1>;
vinc1_front_sensor_sel = <1>;
vinc1_sensor_list = <0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "disabled";
};
@@ -499,21 +496,24 @@
vinc4_rear_sensor_sel = <0>;
vinc4_front_sensor_sel = <0>;
vinc4_sensor_list = <0>;
work_mode = <0x0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc11:vinc@5 {
vinc5_csi_sel = <2>;
vinc5_mipi_sel = <0xff>;
vinc5_csi_sel = <1>;
vinc5_mipi_sel = <1>;
vinc5_isp_sel = <1>;
vinc5_isp_tx_ch = <1>;
vinc5_isp_tx_ch = <0>;
vinc5_tdm_rx_sel = <1>;
vinc5_rear_sensor_sel = <0>;
vinc5_front_sensor_sel = <0>;
vinc5_rear_sensor_sel = <1>;
vinc5_front_sensor_sel = <1>;
vinc5_sensor_list = <0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "disabled";
};
@@ -543,28 +543,31 @@
vinc20:vinc@8 {
vinc8_csi_sel = <0>;
vinc8_mipi_sel = <0x0>;
vinc8_mipi_sel = <0>;
vinc8_isp_sel = <0>;
vinc8_isp_tx_ch = <0>;
vinc8_tdm_rx_sel = <0>;
vinc8_rear_sensor_sel = <0>;
vinc8_front_sensor_sel = <0>;
vinc8_sensor_list = <0>;
work_mode = <0x0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc21:vinc@9 {
vinc9_csi_sel = <2>;
vinc9_mipi_sel = <0xff>;
vinc9_isp_sel = <0>;
vinc9_csi_sel = <1>;
vinc9_mipi_sel = <1>;
vinc9_isp_sel = <1>;
vinc9_isp_tx_ch = <0>;
vinc9_tdm_rx_sel = <0>;
vinc9_rear_sensor_sel = <0>;
vinc9_front_sensor_sel = <0>;
vinc9_tdm_rx_sel = <1>;
vinc9_rear_sensor_sel = <1>;
vinc9_front_sensor_sel = <1>;
vinc9_sensor_list = <0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "disabled";
};
@@ -594,28 +597,31 @@
vinc30:vinc@12 {
vinc12_csi_sel = <0>;
vinc12_mipi_sel = <0x0>;
vinc12_mipi_sel = <0>;
vinc12_isp_sel = <0>;
vinc12_isp_tx_ch = <0>;
vinc12_tdm_rx_sel = <0>;
vinc12_rear_sensor_sel = <0>;
vinc12_front_sensor_sel = <0>;
vinc12_sensor_list = <0>;
work_mode = <0x0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "disabled";
status = "okay";
};
vinc31:vinc@13 {
vinc13_csi_sel = <2>;
vinc13_mipi_sel = <0xff>;
vinc13_isp_sel = <0>;
vinc13_csi_sel = <1>;
vinc13_mipi_sel = <1>;
vinc13_isp_sel = <1>;
vinc13_isp_tx_ch = <0>;
vinc13_tdm_rx_sel = <0>;
vinc13_rear_sensor_sel = <0>;
vinc13_front_sensor_sel = <0>;
vinc13_tdm_rx_sel = <1>;
vinc13_rear_sensor_sel = <1>;
vinc13_front_sensor_sel = <1>;
vinc13_sensor_list = <0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "disabled";
};
@@ -655,12 +661,6 @@
pinctrl-0 = <&key_pins_pcduino>;*/
#address-cells = <1>;
#size-cells = <0>;
set_key@0 {
label = "Key Back";
linux,code = <28>;
gpios = <&pio PE 4 0 1 1 1>;
};
};
};
@@ -887,8 +887,8 @@
};
mipib_pins_a: mipib@0 {
allwinner,pins = "PA8", "PA9", "PA10", "PA11";
allwinner,pname = "mipib_d1n", "mipib_d1p", "mipib_ck0n", "mipib_ck0p";
allwinner,pins = "PA10", "PA11";
allwinner,pname = "mipib_ck0n", "mipib_ck0p";
allwinner,function = "mipib_rx";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
@@ -896,14 +896,14 @@
};
mipib_pins_b: mipib@1 {
allwinner,pins = "PA8", "PA9", "PA10", "PA11";
allwinner,pins = "PA10", "PA11";
allwinner,pname = "mipib_d1n", "mipib_d1p", "mipib_ck0n", "mipib_ck0p";
allwinner,function = "io_disabled";
allwinner,muxsel = <0xf>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
/*
mipib_4lane_pins_a: mipib_4lane@0 {
allwinner,pins = "PA8", "PA9";
allwinner,pname = "mipib_d1n", "mipib_d1p";
@@ -921,18 +921,18 @@
allwinner,drive = <1>;
allwinner,pull = <0>;
};
*/
twi0_pins_a: twi0@0 {
allwinner,pins = "PA16", "PA17";
allwinner,pins = "PE4", "PE5";
allwinner,pname = "twi0_scl", "twi0_sda";
allwinner,function = "twi0";
allwinner,muxsel = <4>;
allwinner,muxsel = <8>;
allwinner,drive = <0>;
allwinner,pull = <1>;
};
twi0_pins_b: twi0@1 {
allwinner,pins = "PA16", "PA17";
allwinner,pins = "PE4", "PE5";
allwinner,function = "io_disabled";
allwinner,muxsel = <0xf>;
allwinner,drive = <0>;
@@ -1055,6 +1055,20 @@
allwinner,pull = <0>;
};
pwm0_pin_a: pwm0@0 {
pins = "PH0";
function = "pwm0";
muxsel = <2>;
drive-strength = <10>;
bias-pull-up;
};
pwm0_pin_b: pwm0@1 {
pins = "PH0";
function = "gpio_in";
muxsel = <0>;
};
pwm4_pin_a: pwm4@0 {
pins = "PH11";
function = "pwm4";
@@ -1134,16 +1148,16 @@
};
csi_mclk0_pins_a: csi_mclk0@0 {
allwinner,pins = "PA10";
allwinner,pins = "PE12";
allwinner,pname = "mipi_csi_mclk0";
allwinner,function = "mipi_csi_mclk0";
allwinner,muxsel = <4>;
allwinner,muxsel = <5>;
allwinner,drive = <2>;
allwinner,pull = <0>;
};
csi_mclk0_pins_b: csi_mclk0@1 {
allwinner,pins = "PA10";
allwinner,pins = "PE12";
allwinner,pname = "mipi_csi_mclk0";
allwinner,function = "io_disabled";
allwinner,muxsel = <0xf>;
@@ -1152,16 +1166,16 @@
};
csi_mclk1_pins_a: csi_mclk1@0 {
allwinner,pins = "PA13";
allwinner,pins = "PE13";
allwinner,pname = "mipi_csi_mclk1";
allwinner,function = "mipi_csi_mclk1";
allwinner,muxsel = <4>;
allwinner,muxsel = <5>;
allwinner,drive = <2>;
allwinner,pull = <0>;
};
csi_mclk1_pins_b: csi_mclk1@1 {
allwinner,pins = "PA13";
allwinner,pins = "PE13";
allwinner,pname = "mipi_csi_mclk1";
allwinner,function = "io_disabled";
allwinner,muxsel = <0xf>;
@@ -1335,7 +1349,9 @@
twi_drv_used = <0>;
/* twi-supply = <&reg_dcdc1>; */
twi_pkt_interval = <0>;
status = "disabled";
rproc-name = "e907_rproc@0";
no_suspend = <1>;
status = "okay";
};
&twi1 {
@@ -1349,7 +1365,7 @@
twi_pkt_interval = <0>;
rproc-name = "e907_rproc@0";
no_suspend = <1>;
status = "okay";
status = "disabled";
};
&twi2 {
@@ -1377,7 +1393,7 @@
};
&twi4 {
clock-frequency = <200000>;
clock-frequency = <100000>;
//<400000>;
pinctrl-0 = <&twi4_pins_a>;
pinctrl-1 = <&twi4_pins_b>;
@@ -1458,7 +1474,7 @@
/* mic1-single; */
/* mic2-single; */
pa-pin-max = <1>; /* set pa */
pa-pin-0 = <&pio PE 11 1 1 1 0>;
/* pa-pin-0 = <&pio PE 11 1 1 1 0>; */
pa-pin-level-0 = <1>;
pa-pin-msleep-0 = <0>;
// tx-hub-en;
@@ -1599,6 +1615,13 @@
status = "okay";
};
&pwm0 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_pin_a>;
pinctrl-1 = <&pwm0_pin_b>;
status = "okay";
};
&pwm4 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm4_pin_a>;

View File

@@ -1648,9 +1648,12 @@ CONFIG_ENABLE_SENSOR_FLIP_OPTION=y
# CONFIG_VIN_LOG is not set
# CONFIG_PIPELINE_RESET is not set
# CONFIG_MULTI_FRAME is not set
# CONFIG_SUPPORT_ISP_TDM is not set
CONFIG_SUPPORT_ISP_TDM=y
# CONFIG_TDM_LBC_EN is not set
# CONFIG_TDM_ONE_BUFFER is not set
# CONFIG_TDM_OFFLINE_HANDLE_RAW is not set
# CONFIG_MIPI_VC is not set
# CONFIG_AVG_TDM_FIFO is not set
CONFIG_AVG_TDM_FIFO=y
# CONFIG_DISPPLAY_SYNC is not set
CONFIG_VIN_IOMMU=y
CONFIG_D3D=y
@@ -1685,7 +1688,7 @@ CONFIG_VIDEO_SUNXI_VIN_SPECIAL=y
# CONFIG_SENSOR_GC0310_MIPI is not set
# CONFIG_SENSOR_GC2355_MIPI is not set
# CONFIG_SENSOR_GC2053_MIPI is not set
CONFIG_SENSOR_GC2083_MIPI=y
# CONFIG_SENSOR_GC2083_MIPI is not set
# CONFIG_SENSOR_GC2093_MIPI is not set
# CONFIG_SENSOR_GC4023_MIPI is not set
# CONFIG_SENSOR_GC4663_MIPI is not set
@@ -1745,7 +1748,7 @@ CONFIG_SENSOR_GC2083_MIPI=y
# CONFIG_SENSOR_GC0406_MIPI is not set
# CONFIG_SENSOR_SC2336P_MIPI is not set
# CONFIG_SENSOR_BF2257CS_MIPI is not set
# CONFIG_SENSOR_SC202CS_MIPI is not set
CONFIG_SENSOR_SC202CS_MIPI=y
# CONFIG_SENSOR_POWER is not set
# CONFIG_VIDEO_SUNXI_VFE is not set
# CONFIG_V4L_MEM2MEM_DRIVERS is not set