[评测分享]
【飞凌嵌入式RK3568J开发板测评】+ 驱动基础-调试mipi Sensor
#板卡评测
2611 人阅读
|
0 人回复
|
2022-12-10
TA的每日心情 | 奋斗 2025-6-6 13:54 |
|---|
签到天数: 49 天 连续签到: 1 天 [LV.5]常住居民I
进士
- 积分
- 1093
|
本帖最后由 eefocus_3828686 于 2022-12-10 13:38 编辑
1、概述
飞凌嵌入式RK3568J开发板的Sensor接口支持mipi csi。本文使用mipi接口调试Sensor驱动,使用的Sensor型号为GC5035。使用飞凌嵌入式RK3568J开发板的调试mipi Sensor驱动,从硬件和软件两个部分进行展开。
2、硬件部分
2.1首先来看飞凌嵌入式RK3568J开发板底板留出的mipi csi接口端子位号是P16
电路如下:
可见留出的mipi csi接口端子规格为:4线mipi csi,一组IIC线,一个控制复位的gpio,一个控制PWEDN的gpio,一路时钟输出,电源有1V2、1V8、2V8,可以满足大多数sensor模组的接口需求
实际板子上的接口位置如下:
2.2、再来看看用户实际手上的MIPI CSI情况
模组接口如下:
和飞凌嵌入式RK3568J开发板底板接口线序和端子引脚对不上,但是电气信号都是有的,需要外接转接板进行线序匹配。依然使用mipi dsi 屏幕驱动调试时同型号的转接板 https://www.cirmall.com/bbs/thread-225851-1-1.html
空板效果:
线序调整完成后的效果:
3、软件部分
3.1 首先看,在电路图中留出的IIC号为IIC2(I2C2_SDA_M1和I2C2_SCL_M1),找到飞凌嵌入式RK3568J开发板底板所用到设备树文件 kernel\arch\arm64\boot\dts\rockchip\OK3568-C-common.dtsi 下IIC2对应的设备节点:&i2c2,在节点内部加入Sensor的配置如下:
其中
compatible = "galaxycore,gc5035"; 用于和驱动进行匹配
pinctrl-0 = <&cif_clk>, <&gc5035_default_pin>;
pwdn-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>; 用于控制复位和待机的gpio,按照实际使用情况配置即可,这里使用PB2和PD6
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "gc5035-csi";
rockchip,camera-module-lens-name = "gc5035-lens"; 一些模组参数
port {
gc5035_out: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2>;
};
}; sensor对应的port配置,gc5035只用2个lanes,lane1和lane2.
物理层这里配置使用 csi_dphy0 :
设备数的配置先这样
3.2 下面是驱动程序的配置
飞凌嵌入式RK3568J开发板的Sensor驱动在/OK3568-linux-source/kernel/drivers/media/i2c目录下,可见在该目录下已经包含了对gc5035.c的支持
接下来配置编译选项make menuconfig,直接把gc5035.c加进来编译,位置如下:
配置如下:
保存退出,查看kernel目录.config文件,确认我们配置已经配上
重新编译烧录试试看
4、调试查看
重新烧录开机后,查看log,发现已经可以识别到Sensor
detected gc5035 sensor
节点生成情况:
本文主要对飞凌嵌入式RK3568J开发板mipi csi接口的驱动调试,验证了外接Sensor通信时序和IIC配置连接正常,这里记录一下过程;
关于Sensor图像信号后续再做调试。
|
|
|
|
|
|
|
|
|