it6122 mipi2lvds芯片调试

Linux内核5.10中DRM Bridge与ITE IT6122驱动分析
本文详细解析了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框架的交互,确保了显示子系统的正确配置和操作。

此次调试的是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>;
				};
			};
		};
	};


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

autho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值