本文基于展锐的ums9620-2h10平台上讲解Camera驱动的移植和配置的完整过程。
一、Camera驱动代码结构
展锐平台SDK的很多功能一般都是以模块化为主。camera的驱动位于libcamera这个模块。驱动代码具体路径为:vendor/sprd/modules/libcamera/。整个模块的驱动代码结构如下:
二、配置流程
编译型配置: bsp/kernel5.4/kernel5.4/arch/arm64/boot/dts/sprd/ums9620-2h10-overlay.dts
编译型配置:vendor/sprd/modules/libcamera/sensor/sensor_drv/classic/
解析型配置:vendor/sprd/modules/libcamera/sensor/its_param/qogirl6/
解析型配置:device/sprd/qogirl6/ums9620-2h10/module/camera/sensor_config.xml
1、硬件配置---->DTS文件配置
文件路径如下:bsp/kernel5.4/kernel5.4/arch/arm64/boot/dts/sprd/ums9260-2h10-overlay.dts。要根据实际使用平台的硬件原理图配置,确定Camera挂在哪一路I2C上,reset-gpiod的引脚以及IOVDD、AVDD、DVDD和AFVDD的供电
&i2c0 {
status = "okay";
clock-frequency = <400000>;
#address-cells = <1>;
#size-cells = <0>;
//senor_main: sensor_id 0 (一般为后主摄)
//senor_main2: sensor_id 2 (一般为后辅摄