原理图
经原理图可知由芯片将EDP转成VGA-out
第一步:万用表测量和设置电源位使芯片供电正常
第二步:添加DTS-EDP部分(将HDMI关闭)
路径: kernelarcharm64bootdtsrockchiprk3568-evb.dtsi
edp_panel: edp-panel {
compatible = "simple-panel";
status = "okay"; //disabled or okay
// power-supply = <&vcc3v3_lcd_edp>;
enable-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
prepare-delay-ms = <201>;
enable-delay-ms = <201>;
backlight = <&backlight>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <140000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <80>;
hsync-len = <20>;
hback-porch = <80>;
vfront-porch = <12>;
vsync-len = <24>;
vback-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
panel_in_edp: endpoint {
remote-endpoint = <&edp_out_panel>;
};
};
};
};
&edp {
status = "okay"; //disabled or okay
hpd-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
force-hpd;
ports {
edp_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
edp_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_edp>;
};
};
};
};
&route_edp {
status = "okay"; //disabled or okay
connect = <&vp0_out_edp>;
};
&edp_phy {
status = "okay"; //disabled or okay
};
&edp_in_vp0 {
status = "disabled"; //disabled or okay
};
&edp_in_vp1 {
status = "disabled";
};
//这里并未用到
vcc3v3_lcd_edp: vcc3v3-lcd-edp {
compatible = "regulator-fixed";
gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-name = "vcc3v3_lcd_edp";
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
[tr]NAMEGPIOGPIO_ACTIVE[/tr]
vcc3v3_lcd_edp (LCD_EN) | GPIO1_B1 | GPIO_ACTIVE_HIGH |
enable-gpios(BL_EN) | GPIO0_C4 | GPIO_ACTIVE_HIGH |
hpd-gpios(EDP_HPD) | GPIO0_C0 | GPIO_ACTIVE_HIGH
|
原理图
经原理图可知由芯片将EDP转成VGA-out
第一步:万用表测量和设置电源位使芯片供电正常
第二步:添加DTS-EDP部分(将HDMI关闭)
路径: kernelarcharm64bootdtsrockchiprk3568-evb.dtsi
edp_panel: edp-panel {
compatible = "simple-panel";
status = "okay"; //disabled or okay
// power-supply = <&vcc3v3_lcd_edp>;
enable-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
prepare-delay-ms = <201>;
enable-delay-ms = <201>;
backlight = <&backlight>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <140000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <80>;
hsync-len = <20>;
hback-porch = <80>;
vfront-porch = <12>;
vsync-len = <24>;
vback-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
panel_in_edp: endpoint {
remote-endpoint = <&edp_out_panel>;
};
};
};
};
&edp {
status = "okay"; //disabled or okay
hpd-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
force-hpd;
ports {
edp_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
edp_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_edp>;
};
};
};
};
&route_edp {
status = "okay"; //disabled or okay
connect = <&vp0_out_edp>;
};
&edp_phy {
status = "okay"; //disabled or okay
};
&edp_in_vp0 {
status = "disabled"; //disabled or okay
};
&edp_in_vp1 {
status = "disabled";
};
//这里并未用到
vcc3v3_lcd_edp: vcc3v3-lcd-edp {
compatible = "regulator-fixed";
gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-name = "vcc3v3_lcd_edp";
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
[tr]NAMEGPIOGPIO_ACTIVE[/tr]
vcc3v3_lcd_edp (LCD_EN) | GPIO1_B1 | GPIO_ACTIVE_HIGH |
enable-gpios(BL_EN) | GPIO0_C4 | GPIO_ACTIVE_HIGH |
hpd-gpios(EDP_HPD) | GPIO0_C0 | GPIO_ACTIVE_HIGH
|
举报