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