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

固件类型:官方提供的固件
固件文件名称:AIO-3399J_Industry7.1.2_HDMI_211214
固件下载地址:官方wiki
Log日志:logo_9.9.txt

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进行了控制。
tchip_askquestions
logo_9.9.txt (50.8 KB)

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

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

问题补充1:通过串口打印查到有如下信息。该问题csdn有描述,是要求LCD上电要早于AUX,另外我的edp屏幕是2lane的。
Detailed mode clock 139000 kHz, flags[a]
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模式下屏幕是可以显示的。如下图