11.6寸eDP显示屏添加以及所遇问题总结

本文档记录了在ROCKCHIP RK3399平台上,使用Android 7.1.2系统配置EDP屏幕遇到的问题及解决办法。包括带宽不足导致的黑屏问题,以及PWM响应失败的故障排查,涉及硬件连接、驱动配置和DTS设置。解决方案包括调整VOP资源分配,检查GPIO复用和背光节点设置,以及确认EDP屏线路接触。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Platform: ROCKCHIP
Chip: RK3399
OS: Android7.1.2
Kernel: 4.4.126

edp屏添加
edp驱动被分成两个文件,一个是rk驱动文件: analogix_dp-rockchip.c, 另一个是drm驱动文件analogix_dp_core.c

1.硬件原理图:
电源IO对应gpio1_b5,gpio1_b5所在模块的电源供电是VCC_3V0,在rk808电源模块对应VLDO8,在对应dtsi里查找其名称
对应流程如下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

EDP屏硬件直接按照上电时序连接好控制,软件无需干预。
EDP_HPD pin可接可不接。
所以要做的就是配置edp屏的背光使能脚以及edp屏的供电脚, 对应的是GPIO4_D6与GPIO1_B5

eDP屏参数
在这里插入图片描述

3.板级dts配置

  • edp_panel: edp-panel {
  •   status = "disabled";
    
  •   ports {
    
  •   	panel_in_edp: endpoint {
    
  •   		remote-endpoint = <&edp_out_panel>;
    
  •   	};
    
  •   };
    
  • };

+&edp {

  • force-hpd;
  • status = “okay”;
  • ports {
  •   edp_out: port@1 {
    
  •   	reg = <1>;
    
  •   	#address-cells = <1>;
    
  •   	#size-cells = <0>;
    
  •   	edp_out_panel: endpoint {
    
  •   		reg = <0>;
    
  •   		remote-endpoint = <&panel_in_edp>;
    
  •   	};
    
  •   };
    
  • };
    +};

+&edp_panel {

  • status = “okay”;
  • compatible = “lg,lp079qx1-sp0v”,“simple-panel”;//
  • backlight = <&backlight>;
  • //enable-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;//gpio4_c6 backlight使能
  • enable-delay-ms = <120>;
  • power-supply = <&vcc_lcd>;
  • edp_disp_timings: display-timings {
  •   native-mode = <&timing2>;
    
  •   timing2: timing2 {
    
  •   	clock-frequency = <139000000>;
    
  •   	hactive = <1920>;
    
  •   	vactive = <1080>;
    
  •   	hfront-porch = <60>;
    
  •   	hsync-len = <40>;
    
  •   	hback-porch = <60>;
    
  •   	vfront-porch = <13>;
    
  •   	vsync-len = <5>;
    
  •   	vback-porch = <13>;
    
  •   	hsync-active = <0>;
    
  •   	vsync-active = <0>;
    
  •   	de-active = <0>;
    
  •   	pixelclk-active = <0>;
    
  •   };
    
  • };
    +};

+&route_edp {

  • status = “okay”;
  • connect = <&vopb_out_edp>;
    };

+&edp_in_vopb {

  • status = “okay”;
    +};
    +&edp_in_vopl {
  • status = “disabled”;
    +};

所遇问题
1.edp屏:当时我用的是hdmi+edp屏,设备uboot有显示,起kernel后,黑屏没输出
设备刷屏打印:
rockchip-vop ff8f0000.vop: [drm:vop_isr] ERROR POST_BUF_EMPTY irq err
在这里插入图片描述

原因:表示带宽不足,要调整vopl与vopb,ff8f0000–对应vopl,绑定的是hdmi,出现带宽不足,
解决:hdmi绑定vopb ;edp绑定vopl
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.pwm没回应 设备起不来
设备刷屏打印:
rockchip_dp_component_ops): -517
17:33:17[ 4.035073] rockchip-drm display-subsystem: master bind failed: -517
17:33:17[ 4.036974] panel-simple edp-panel: failed to find backlight: -517
17:33:17[ 4.038823] rockchip-drm display-subsystem: devfreq is ready
17:33:17[ 4.039073] mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
17:33:17[ 4.039459] rockchip-vop ff900000.vop: missing rockchip,grf property
17:33:17[ 4.039964] rockchip-vop ff900000.vop: unable to request PWM
17:33:17[ 4.040073] rockchip-drm display-subsystem: bound ff900000.vop (ops vop_component_ops)
17:33:17[ 4.040337] rockchip-vop ff8f0000.vop: missing rockchip,grf property
17:33:17[ 4.040629] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
17:33:17[ 4.040753] rockchip-vop ff8f0000.vop: unable to request PWM
17:33:17[ 4.040932] rockchip-drm display-subsystem: bound ff8f0000.vop (ops vop_component_ops)
17:33:17[ 4.041523] rockchip-drm display-subsystem: failed to bind ff970000.edp (ops
原因:有两个情况1.backlight没使能,没找到backlight节点 2.backlight的使能管脚被其他处用到(管脚被重复用)
解决:找到对应的节点 加上正确的gpio即可,其他处有引用的看是否写错或者没用到的屏掉
3.设备闪屏或设备黑屏打印如下
AUX CH command reply failed!
analogix_dp_read_byte_from_dpcd: Aux Transaction fail!
analogix_dp_read_byte_from_dpcd: Aux Transaction fail!
原因:edp屏线路接触不良 导致 没应答
解决:测电路是否能通
————————————————
版权声明:本文为CSDN博主「sz勿扰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_38022615/article/details/113312988

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值