sizeok 发表于 2022-9-9 12:45:43

调试edp屏幕,开机显示 firefly logo了,然后进入系统就黑屏

1、使用AIO-3399J-HDMI_IN的开发板,使用edp屏幕,根据edp屏幕的datesheet修改kernel下的rk3399-firefly-edp.dts里面的ttiming参数。修改内容如下:
修改1

edp_panel: edp-panel {
                compatible = "simple-panel";
                status = "okay";

                backlight = <&backlight>;
      display-timings {
                native-mode = <&timing0>;

                timing0: timing0 {
                        clock-frequency = <139000000>;
                        hactive = <1920>;//1536   根据datesheet修改了参数。
                        vactive = <1080>;//2048
                        hfront-porch = <55>;//12
                        hsync-len = <50>;//16
                        hback-porch = <55>;//48
                        vfront-porch = <12>;//8
                        vsync-len = <8>;//4
                        vback-porch = <12>;//8
                        hsync-active = <0>;
                        vsync-active = <0>;
                        de-active = <0>;
                        pixelclk-active = <0>;
                };
      };


修改2
power_ctr: power_ctr {
                        rockchip,debug = <0>;
                        lcd_en: lcd-en {
                                        gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&lcd_panel_enable>;
                                        rockchip,delay = <20>;
                        };
                        lcd_rst: lcd-rst {
                                        gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&lcd_panel_reset>;
                                        rockchip,delay = <20>;
                        };

            lcd_pwr_en: lcd-pwr-en { //增加了这部分内容。
                gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&lcd_panel_pwr_en>;
                rockchip,delay = <20>;
            };
                };

修改3
&pinctrl {
        lcd-panel {
                lcd_panel_reset: lcd-panel-reset {
                        rockchip,pins = <4 29 RK_FUNC_GPIO &pcfg_pull_up>;
                };
                lcd_panel_enable: lcd-panel-enable {
                        rockchip,pins = <1 1 RK_FUNC_GPIO &pcfg_pull_up>;
                };
                lcd_panel_pwr_en: lcd-panel-pwr-en { // 增加了这部分内容。
                        rockchip,pins = <1 4 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
};

2、使用官方编译脚本进行编译kernel   ./FFtools/make.sh -k -d rk3399-firefly-edp -j8 -l rk3399_firefly_edp-userdebug .
3、输入AIO-3399J_Industry7.1.2_HDMI_211214 固件后更新编译出来的resource.img
4、出现现象,
(1)开机后点亮屏幕,显示firefly的开机logo。
(2)开机edp-hdp管脚始终没有电压。
(3)在屏幕显示时,BL_EN、PMW0有2.8电压,在屏幕熄灭后电压为0。
问:哪位大神能指点下,半路出家搞这个,现在还是个大白。搞不明白时什么地方对 BL_EN和PMW0进行了控制。

sizeok 发表于 2022-9-9 13:34:06

abcxyztt 发表于 2022-9-9 13:17
Q我

已经Q,添加好友等待通过

sizeok 发表于 2022-9-9 20:45:08

问题补充1:通过串口打印查到有如下信息。该问题csdn有描述,是要求LCD上电要早于AUX,另外我的edp屏幕是2lane的。
Detailed mode clock 139000 kHz, flags
    H: 1920 1975 2025 2080
    V: 1080 1092 1100 1112
bus_format: 100e
rk lcdc - 0 dclk set: dclk = 139000000HZ, pll select = 1, div = 1
AUX CH command reply failed!
analogix_dp_read_byte_from_dpcd: Aux Transaction fail!
AUX CH command reply failed!
analogix_dp_read_byte_from_dpcd: Aux Transaction fail!
analogix_dp_read_byte_from_dpcd: Aux Transaction fail!
Rx Max Link Rate is abnormal :ff !
问题补充2
进入到recovery模式下屏幕是可以显示的。如下图
页: [1]
查看完整版本: 调试edp屏幕,开机显示 firefly logo了,然后进入系统就黑屏