此次调试的是Linux系统的kernel5.10
dts配置
ite_bridge: it6122@6c {
status = "okay";
compatible = "ite,it6122";
reg = <0x6c>;
ite,bypass_mode;
ite,bypass_hsw = <40>;
ite,bypass_vsw = <2>;
//ite,hresync;
ite,dsi-lanes = <4>;
ite,dsi-channel = <0>;
ite,skip-stage = <3>;
ite,hs-settle = <4>;
mipi-inv-mclk;
lvds-dual-mode;
lvds-vesa-mode;
lvds-swing-level=<6>;
//lvds-ssc-enable;
lvds-sdm = <0x3333>;
lvds-sdm-inv = <0x106>;
pinctrl-0 = <&it612x_irq>;
interrupt-parent = <&gpio1>;
interrupts = ;
reset-gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
vcc1v2-gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
vcc1v8-gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_HIGH>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
mipi_in: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
port@1 {
reg = <1>;
lvds_out: endpoint {
remote-endpoint = <&lvds_panel>;
};
};
};
};
&dsi0 {
status = "disabled";
//rockchip,lane-rate = <1000>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&mipi_in>;
};
};
};
};
lvds_panel0: panel {
status = "okay";
compatible = "auo,g190ean01","simple-panel";
backlight = <&backlight>;
reset-delay-ms = <10>;
enable-delay-ms = <10>;
prepare-delay-ms = <10>;
unprepare-delay-ms = <10>;
disable-delay-ms = <60>;
disp_timings0: display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <132000000>;
hactive = <1080>;
vactive = <1920>;
hfront-porch = <15>;
hsync-len = <4>;
hback-porch = <30>;
vfront-porch = <15>;
vsync-len = <2>;
vback-porch = <15>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lvds_panel: endpoint {
remote-endpoint = <&lvds_out>;
};
};
};
};

本文详细解析了Linux内核5.10版本中关于ITE IT6122驱动的实现,特别是其作为DRM Bridge的角色。在`dw_mipi_dsi2_bind`函数中,通过`drm_of_find_panel_or_bridge`函数查找并连接到DSI bridge或panel。当找到ITE IT6122时,通过`drm_bridge_add`将其添加到bridge_list中。接着,`drm_simple_encoder_init`和`drm_encoder_helper_add`用于将DSI host注册为encoder。最后,`drm_bridge_attach`调用桥接器的attach函数完成连接。整个过程涉及设备树配置、驱动probe及DRM框架的交互,确保了显示子系统的正确配置和操作。
最低0.47元/天 解锁文章
575





