背景
硬件:T113-i + emmc
软件:uboot2018 + linux5.4 + QT应用
分支:longan
模块:max96708 (BT601接口,通道0输入)
需求
项目要求支持高清倒车,模块使用一款解串芯片max96708。
T113-i添加max96708驱动
1、管脚配置
T113-i驱动中默认配置为ITU656模式,本项目使用的是BT601模式,所以首先要添加行场引脚配置。D0~D7数据管脚配置不变,HS使用PE0管脚,VS使用PE1管脚,设备树对应行场管脚配置改动如下所示。
diff --git a/arch/arm/boot/dts/sun8iw20p1.dtsi b/arch/arm/boot/dts/sun8iw20p1.dtsi
index 9a0a53b..17569a9 100755
--- a/arch/arm/boot/dts/sun8iw20p1.dtsi
+++ b/arch/arm/boot/dts/sun8iw20p1.dtsi
@@ -514,13 +514,13 @@
function = "gpio_in";
};
csi0_pins_a: csi0@0 {
- pins = "PE2", "PE4", "PE5",
+ pins = "PE0", "PE1", "PE2", "PE4", "PE5",
"PE6", "PE7", "PE8", "PE9", "PE10", "PE11";
function = "ncsi0";
drive-strength = <10>;
};
csi0_pins_b: csi0@1 {
- pins = "PE2", "PE4", "PE5",
+ pins = "PE0", "PE1", "PE2", "PE4", "PE5",
"PE6", "PE7", "PE8", "PE9", "PE10", "PE11";
function = "io_disabled";
drive-strength = <10>;
2、设备树中添加驱动参数
设备树中修改驱动参数,其中复位和供电脚改为自定义控制,方便根据自己的需求进行控制,避免系统自动控制。
# vi device/product/configs/evb1_auto/board.dts
&vind0 {
...... //略
sensor0:sensor@5809470 {
device_type = "sensor0";
sensor0_mname = "max96708"; //sensor名
sensor0_twi_cci_id = <1>; //twi id
sensor0_twi_addr = <0xfc>; //max96708 i2c设备地址
sensor0_mclk_id = <0>;
sensor0_pos = "rear";
sensor0_isp_used = <0>;
sensor0_fmt = <0>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
sensor0_iovdd-supply = <>;
sensor0_iovdd_vol = <3300000>;
sensor0_avdd-supply = <>;
sensor0_avdd_vol = <1200000>;
sensor0_dvdd-supply = <>;
sensor0_dvdd_vol = <1200000>;
sensor0_power_en = <>;
sensor0_reset = <>; // 屏蔽系统复位管脚
sensor0_pwdn = <>; //屏蔽系统电源控制管脚
cam_lock_gpio = <&pio PE 12 GPIO_ACTIVE_LOW>; //摄像头lock中断引脚
pwdn-gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>; //自定义电源控制引脚
power_en = <&pio PB 2 GPIO_ACTIVE_HIGH>; //自定义供电引脚
status = "okay";