1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/rockchip/rockchip,dw-hdmi.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Rockchip DWC HDMI TX Encoder 8 9maintainers: 10 - Mark Yao <markyao0591@gmail.com> 11 12description: | 13 The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP 14 with a companion PHY IP. 15 16allOf: 17 - $ref: ../bridge/synopsys,dw-hdmi.yaml# 18 19properties: 20 compatible: 21 enum: 22 - rockchip,rk3228-dw-hdmi 23 - rockchip,rk3288-dw-hdmi 24 - rockchip,rk3328-dw-hdmi 25 - rockchip,rk3399-dw-hdmi 26 - rockchip,rk3568-dw-hdmi 27 28 reg-io-width: 29 const: 4 30 31 avdd-0v9-supply: 32 description: 33 A 0.9V supply that powers up the SoC internal circuitry. The actual pin name 34 varies between the different SoCs and is usually HDMI_TX_AVDD_0V9 or sometimes 35 HDMI_AVDD_1V0. 36 37 avdd-1v8-supply: 38 description: 39 A 1.8V supply that powers up the SoC internal circuitry. The pin name on the 40 SoC usually is HDMI_TX_AVDD_1V8. 41 42 clocks: 43 minItems: 2 44 items: 45 - {} 46 - {} 47 # The next three clocks are all optional, but shall be specified in this 48 # order when present. 49 - description: The HDMI CEC controller main clock 50 - description: Power for GRF IO 51 - description: External clock for some HDMI PHY (old clock name, deprecated) 52 - description: External clock for some HDMI PHY (new name) 53 54 clock-names: 55 minItems: 2 56 items: 57 - {} 58 - {} 59 - enum: 60 - cec 61 - grf 62 - vpll 63 - ref 64 - enum: 65 - grf 66 - vpll 67 - ref 68 - enum: 69 - vpll 70 - ref 71 72 ddc-i2c-bus: 73 $ref: /schemas/types.yaml#/definitions/phandle 74 description: 75 The HDMI DDC bus can be connected to either a system I2C master or the 76 functionally-reduced I2C master contained in the DWC HDMI. When connected 77 to a system I2C master this property contains a phandle to that I2C 78 master controller. 79 80 phys: 81 maxItems: 1 82 description: The HDMI PHY 83 84 phy-names: 85 const: hdmi 86 87 pinctrl-names: 88 description: 89 The unwedge pinctrl entry shall drive the DDC SDA line low. This is 90 intended to work around a hardware errata that can cause the DDC I2C 91 bus to be wedged. 92 minItems: 1 93 items: 94 - const: default 95 - const: unwedge 96 97 power-domains: 98 maxItems: 1 99 100 ports: 101 $ref: /schemas/graph.yaml#/properties/ports 102 103 properties: 104 port@0: 105 $ref: /schemas/graph.yaml#/properties/port 106 description: Input of the DWC HDMI TX 107 properties: 108 endpoint: 109 description: Connection to the VOP 110 endpoint@0: 111 description: Connection to the VOPB 112 endpoint@1: 113 description: Connection to the VOPL 114 port@1: 115 $ref: /schemas/graph.yaml#/properties/port 116 description: Output of the DWC HDMI TX 117 118 required: 119 - port@0 120 - port@1 121 122 rockchip,grf: 123 $ref: /schemas/types.yaml#/definitions/phandle 124 description: 125 phandle to the GRF to mux vopl/vopb. 126 127required: 128 - compatible 129 - reg 130 - reg-io-width 131 - clocks 132 - clock-names 133 - interrupts 134 - ports 135 - rockchip,grf 136 137unevaluatedProperties: false 138 139examples: 140 - | 141 #include <dt-bindings/clock/rk3288-cru.h> 142 #include <dt-bindings/interrupt-controller/arm-gic.h> 143 #include <dt-bindings/interrupt-controller/irq.h> 144 #include <dt-bindings/power/rk3288-power.h> 145 146 hdmi: hdmi@ff980000 { 147 compatible = "rockchip,rk3288-dw-hdmi"; 148 reg = <0xff980000 0x20000>; 149 reg-io-width = <4>; 150 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 151 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>; 152 clock-names = "iahb", "isfr"; 153 ddc-i2c-bus = <&i2c5>; 154 power-domains = <&power RK3288_PD_VIO>; 155 rockchip,grf = <&grf>; 156 157 ports { 158 #address-cells = <1>; 159 #size-cells = <0>; 160 161 port@0 { 162 reg = <0>; 163 #address-cells = <1>; 164 #size-cells = <0>; 165 166 hdmi_in_vopb: endpoint@0 { 167 reg = <0>; 168 remote-endpoint = <&vopb_out_hdmi>; 169 }; 170 171 hdmi_in_vopl: endpoint@1 { 172 reg = <1>; 173 remote-endpoint = <&vopl_out_hdmi>; 174 }; 175 }; 176 177 port@1 { 178 reg = <1>; 179 180 hdmi_out_con: endpoint { 181 remote-endpoint = <&hdmi_con_in>; 182 }; 183 }; 184 }; 185 }; 186 187... 188