rk3568 点亮LCD(DP)

rk3568 rk3399 Android11/12 适配 DP

DisplayPort(简称DP)是第一个依赖数据包化数据传输技术的显示通信端口。是一个由PC及芯片制造商联盟开发,视频电子标准协会标准化的数字式视频接口标准。主要用于视频源与显示器等设备的连接,它既可以用于内部显示连接,也可以用于外部的显示连接。
速度:
  DP1.0:2006年5月发布。带宽10.8Gbps。DP1.0的最大传输速度是8.64Gbit/s,长度是2米。已经废弃。
  DP1.2:2009年12月22日发布。它最大的改变是传输速度增加两倍到21.6Gbit/s,支持4K(4096X2160)60Hz,因此支持更高的分辨率、帧速率及色深。
  DP1.3:2014年9月15日发布。带宽速度最高32.4Gbps(HBR3),编码后有效带宽为25.92Gbps,可支持4K(3840X2160)120hz、5K(5120X2880)60hz、8K(7680X4320)30hz。
  DP1.4:2016年2月份最终版的DP1.4通信端口规范,声道也提升到32声道1536KHz采样率,将为笔记本电脑、智能手机及AIO一体机带来8K级别(7680x4320)的60Hz输出,4K的话则可以上到120Hz。
  推荐游戏玩家用DP,因为DP传输机制可以只传输画面变化部分,理论DP延时更低,带宽更大。

特点:

  1. DP将在传输视频信号的同时加入对高清音频信号传输的支持,同时支持更高的分辨率和刷新率。
  2. DP接口属外部接口,只能用显示器与驱动板之间的传输,不可用做芯片与芯片之间的传输。
  3. DP接口常见设备:智能电视,笔记本电脑,独立显卡,显示器。
  4. AMD多屏拼接技术必须要DisplayPort接口。
  5. 带宽更高,成本更低。DP接口可以很轻松的支持2560×1600这样的超高分辨率的显示。

本文需要适配DP为 type-c传输的DP屏,并非描述中提及DP端口屏。
作者:炭烤毛蛋 ,点击博主了解更多。


提示:Rockchip系列芯片支持DP型号:rk3399、rk3588,rk3568需要增加转接IC才支持该功能。

文章目录

  • ~~rk3568~~ rk3399 Android11/12 适配 DP
  • 圈重点 看想学
  • 1. 核查原理图,适配type-c
    • 1.1 适配type-c
    • 1.2 设配 type-c的DP功能
  • Tips
  • 总结


圈重点 看想学

a) 适配 type-c 端口
b) type-c 适配 DP功能


1. 核查原理图,适配type-c

rk3568 点亮LCD(DP)_第1张图片
rk3399 type-c全功能接口总线如上图。

1.1 适配type-c

rk3568 点亮LCD(DP)_第2张图片
type-c 不仅支持PD充电,同时还可以外接DP显示,通信协议高压电源隔离依靠 fusb302–协议检测芯片。
fusb302 芯片占用 i2c4, IRQ为 GPIO1_A2;vbus_5v 供电由GPIO1_A3控制,高电平有效。

&i2c4 {
	status = "okay";
	fusb0: fusb30x@22 {
		compatible = "fairchild,fusb302";
		reg = <0x22>;
		pinctrl-names = "default";
		pinctrl-0 = <&fusb0_int>;
		vbus-5v-gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
		int-n-gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
		status = "okay";
	};
};

&pinctrl {
	fusb30x {
		fusb0_int: fusb0-int {
			rockchip,pins =
				<1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};
};
欢迎订阅碳烤毛蛋博客
USB-2.0
USB 2.0
USB 3.0
USB 3.0
pip
utmi
pip
utmi
utmi
utmi
type-C 0
type-C 1
USB2.0 HOST0
USB2.0 HOST1
USB2.0 OTG PHY
USB2.0 HOST PHY
USB2.0 OTG PHY
USB2.0 HOST PHY
usb3.0 PHY
DP PHY
usb3.0 PHY
DP PHY
DP
USB3.0 USB2.0 OTG-0
USB3.0 USB2.0 OTG-1
USB2.0 host
USB2.0 host

RK3399 SDK DTS 的默认配置,支持 Type-C0 USB 3.0 OTG 功能,Type-C1 USB 3.0 Host 功能。DTS的配置主要包括 DWC3 控制器、Type-C USB 3.0 PHY 以及 USB 2.0 PHY。

&tcphy0 {
	extcon = <&fusb0>;
	status = "okay";
};

&tcphy1 {
	status = "okay";
};

&u2phy0 {
	status = "okay";
	extcon = <&fusb0>;

	u2phy0_otg: otg-port {
		status = "okay";
	};

	u2phy0_host: host-port {
		phy-supply = <&vcc5v0_host>;
		status = "okay";
	};
};

&u2phy1 {
	status = "okay";

	u2phy1_otg: otg-port {
		status = "okay";
	};

	u2phy1_host: host-port {
		phy-supply = <&vcc5v0_host>;
		status = "okay";
	};
};

&usb_host0_ehci {
	status = "okay";
};

&usb_host0_ohci {
	status = "okay";
};

&usb_host1_ehci {
	status = "okay";
};

&usb_host1_ohci {
	status = "okay";
};

/* 配置USB控制器 */
&usbdrd3_0 {
	status = "okay";
};

&usbdrd_dwc3_0 {
	dr_mode = "otg"; /* 配置为otg mode,支持peripheral和host切换 */
	extcon = <&fusb0>;
	status = "okay";
};

/* 配置USB控制器 */
&usbdrd3_1 {
	status = "okay";
};

&usbdrd_dwc3_1 {
	dr_mode = "host";
	status = "okay";
};

配置完成后可正常识别到OTG外设,测试USB3.0 速度达标。

1.2 设配 type-c的DP功能

type-c 端口 DP功能适配需要dp_phy,连接显示器可以边投屏边充电。

&cdn_dp {
	status = "okay";
	extcon = <&fusb0>;
};

&hdmi_dp_sound {
	status = "okay";
};

屏幕显示后,可以查到显示器分辨率信息。

cat /d/dri/0/summary

VOP [ff900000.vop]: ACTIVE
    Connector: eDP
	overlay_mode[0] bus_format[100a] output_mode[f] color_space[0]
    Display mode: 1920x1280p60
	clk[162240] real_clk[162240] type[48] flag[9]
	H: 1920 1968 2000 2080
	V: 1280 1288 1292 1300
    win0-0: ACTIVE
	format: AB24 little-endian (0x34324241)[AFBC] SDR[0] color_space[0]
	csc: y2r[0] r2r[0] r2y[0] csc mode[0]
	zpos: 0
	src: pos[0x0] rect[1920x1280]
	dst: pos[0x0] rect[1920x1280]
	buf[0]: addr: 0x000000000138c000 pitch: 7680 offset: 0
    win1-0: DISABLED
    win2-0: DISABLED
    win2-1: DISABLED
    win2-2: DISABLED
    win2-3: DISABLED
    win3-0: DISABLED
    win3-1: DISABLED
    win3-2: DISABLED
    win3-3: DISABLED
    post: sdr2hdr[0] hdr2sdr[0]
    pre : sdr2hdr[0]
    post CSC: r2y[0] y2r[0] CSC mode[1]
VOP [ff8f0000.vop]: ACTIVE
    Connector: DP
	overlay_mode[0] bus_format[100a] output_mode[0] color_space[0]
    Display mode: 1920x1080p60
	clk[148500] real_clk[148500] type[40] flag[5]
	H: 1920 2008 2052 2200
	V: 1080 1084 1089 1125
    win0-0: DISABLED
    win2-0: ACTIVE
	format: AB24 little-endian (0x34324241) SDR[0] color_space[0]
	csc: y2r[0] r2r[0] r2y[0] csc mode[0]
	zpos: 0
	src: pos[0x0] rect[1920x1080]
	dst: pos[0x0] rect[1920x1080]
	buf[0]: addr: 0x00000000042f1000 pitch: 7680 offset: 0
    win2-1: DISABLED
    win2-2: DISABLED
    win2-3: DISABLED
    post: sdr2hdr[0] hdr2sdr[0]
    pre : sdr2hdr[0]
    post CSC: r2y[0] y2r[0] CSC mode[1]

Tips

  1. USB 端口无供电,可核验原理图确认供电配置是否正确。
  2. type-c 端口OTG无功能,先确认供电,再确认设备是否正常
  3. DP显示器可能需要调整到type-c DP模式才可正常显示。

总结

活学活用,做个合格的搬运工。
不枉博主详细讲解,欢迎订阅博主–炭烤毛蛋 。

你可能感兴趣的:(LCD,Android,Linux,android,linux)