xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1Rockchip DWC HDMI TX Encoder
2============================
3
4The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP
5with a companion PHY IP.
6
7These DT bindings follow the Synopsys DWC HDMI TX bindings defined in
8Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt with the
9following device-specific properties.
10
11
12Required properties:
13
14- compatible: should be one of the following:
15		"rockchip,rk3228-dw-hdmi"
16		"rockchip,rk3288-dw-hdmi"
17		"rockchip,rk3328-dw-hdmi"
18		"rockchip,rk3368-dw-hdmi"
19		"rockchip,rk3399-dw-hdmi"
20- reg: See dw_hdmi.txt.
21- reg-io-width: See dw_hdmi.txt. Shall be 4.
22- interrupts: HDMI interrupt number
23- clocks: See dw_hdmi.txt.
24- clock-names: Shall contain "iahb" and "isfr" as defined in dw_hdmi.txt.
25- ports: See dw_hdmi.txt. The DWC HDMI shall have a single port numbered 0
26  corresponding to the video input of the controller. The port shall have two
27  endpoints, numbered 0 and 1, connected respectively to the vopb and vopl.
28- rockchip,grf: Shall reference the GRF to mux vopl/vopb.
29- rockchip,phy-table: the parameter table of hdmi phy configuration.
30
31Optional properties
32
33- ddc-i2c-bus: The HDMI DDC bus can be connected to either a system I2C master
34  or the functionally-reduced I2C master contained in the DWC HDMI. When
35  connected to a system I2C master this property contains a phandle to that
36  I2C master controller.
37- clock-names: See dw_hdmi.txt. The "cec" clock is optional.
38- clock-names: May contain "cec" as defined in dw_hdmi.txt.
39- clock-names: May contain "grf", power for grf io.
40- clock-names: May contain "vpll", external clock for some hdmi phy.
41- phys: from general PHY binding: the phandle for the PHY device.
42- phy-names: Should be "hdmi" if phys references an external phy.
43- skip-check-420-mode: If need skip check yuv420 mode valid, set this property.
44- hdcp1x-enable: enable hdcp1.x, enable if defined, disable if not defined
45- scramble-low-rates: if defined enable scarmble when tmdsclk less than 340Mhz
46
47Optional pinctrl entry:
48- If you have both a "unwedge" and "default" pinctrl entry, dw_hdmi
49  will switch to the unwedge pinctrl state for 10ms if it ever gets an
50  i2c timeout.  It's intended that this unwedge pinctrl entry will
51  cause the SDA line to be driven low to work around a hardware
52  errata.
53
54Example:
55
56hdmi: hdmi@ff980000 {
57	compatible = "rockchip,rk3288-dw-hdmi";
58	reg = <0xff980000 0x20000>;
59	reg-io-width = <4>;
60	ddc-i2c-bus = <&i2c5>;
61	rockchip,grf = <&grf>;
62	interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
63	clocks = <&cru  PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
64	clock-names = "iahb", "isfr";
65	ports {
66		hdmi_in: port {
67			#address-cells = <1>;
68			#size-cells = <0>;
69			hdmi_in_vopb: endpoint@0 {
70				reg = <0>;
71				remote-endpoint = <&vopb_out_hdmi>;
72			};
73			hdmi_in_vopl: endpoint@1 {
74				reg = <1>;
75				remote-endpoint = <&vopl_out_hdmi>;
76			};
77		};
78	};
79	rockchip,phy-table = <74250000 0x8009 0x0004 0x0272>,
80		<165000000 0x802b 0x0004 0x0209>,
81		<297000000 0x8039 0x0005 0x028d>,
82		<594000000 0x8039 0x0000 0x019d>,
83		<000000000 0x0000 0x0000 0x0000>;
84};
85