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