xref: /freebsd/sys/contrib/device-tree/Bindings/display/rockchip/rockchip,dw-hdmi.yaml (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/display/rockchip/rockchip,dw-hdmi.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
72eb4d8dcSEmmanuel Vadottitle: Rockchip DWC HDMI TX Encoder
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
102eb4d8dcSEmmanuel Vadot  - Mark Yao <markyao0591@gmail.com>
112eb4d8dcSEmmanuel Vadot
122eb4d8dcSEmmanuel Vadotdescription: |
132eb4d8dcSEmmanuel Vadot  The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP
142eb4d8dcSEmmanuel Vadot  with a companion PHY IP.
152eb4d8dcSEmmanuel Vadot
162eb4d8dcSEmmanuel VadotallOf:
172eb4d8dcSEmmanuel Vadot  - $ref: ../bridge/synopsys,dw-hdmi.yaml#
182eb4d8dcSEmmanuel Vadot
192eb4d8dcSEmmanuel Vadotproperties:
202eb4d8dcSEmmanuel Vadot  compatible:
212eb4d8dcSEmmanuel Vadot    enum:
222eb4d8dcSEmmanuel Vadot      - rockchip,rk3228-dw-hdmi
232eb4d8dcSEmmanuel Vadot      - rockchip,rk3288-dw-hdmi
242eb4d8dcSEmmanuel Vadot      - rockchip,rk3328-dw-hdmi
252eb4d8dcSEmmanuel Vadot      - rockchip,rk3399-dw-hdmi
26*d5b0e70fSEmmanuel Vadot      - rockchip,rk3568-dw-hdmi
272eb4d8dcSEmmanuel Vadot
282eb4d8dcSEmmanuel Vadot  reg-io-width:
292eb4d8dcSEmmanuel Vadot    const: 4
302eb4d8dcSEmmanuel Vadot
31*d5b0e70fSEmmanuel Vadot  avdd-0v9-supply:
32*d5b0e70fSEmmanuel Vadot    description:
33*d5b0e70fSEmmanuel Vadot      A 0.9V supply that powers up the SoC internal circuitry. The actual pin name
34*d5b0e70fSEmmanuel Vadot      varies between the different SoCs and is usually HDMI_TX_AVDD_0V9 or sometimes
35*d5b0e70fSEmmanuel Vadot      HDMI_AVDD_1V0.
36*d5b0e70fSEmmanuel Vadot
37*d5b0e70fSEmmanuel Vadot  avdd-1v8-supply:
38*d5b0e70fSEmmanuel Vadot    description:
39*d5b0e70fSEmmanuel Vadot      A 1.8V supply that powers up the SoC internal circuitry. The pin name on the
40*d5b0e70fSEmmanuel Vadot      SoC usually is HDMI_TX_AVDD_1V8.
41*d5b0e70fSEmmanuel Vadot
422eb4d8dcSEmmanuel Vadot  clocks:
432eb4d8dcSEmmanuel Vadot    minItems: 2
442eb4d8dcSEmmanuel Vadot    items:
452eb4d8dcSEmmanuel Vadot      - {}
462eb4d8dcSEmmanuel Vadot      - {}
472eb4d8dcSEmmanuel Vadot      # The next three clocks are all optional, but shall be specified in this
482eb4d8dcSEmmanuel Vadot      # order when present.
492eb4d8dcSEmmanuel Vadot      - description: The HDMI CEC controller main clock
502eb4d8dcSEmmanuel Vadot      - description: Power for GRF IO
51*d5b0e70fSEmmanuel Vadot      - description: External clock for some HDMI PHY (old clock name, deprecated)
52*d5b0e70fSEmmanuel Vadot      - description: External clock for some HDMI PHY (new name)
532eb4d8dcSEmmanuel Vadot
542eb4d8dcSEmmanuel Vadot  clock-names:
552eb4d8dcSEmmanuel Vadot    minItems: 2
562eb4d8dcSEmmanuel Vadot    items:
572eb4d8dcSEmmanuel Vadot      - {}
582eb4d8dcSEmmanuel Vadot      - {}
592eb4d8dcSEmmanuel Vadot      - enum:
602eb4d8dcSEmmanuel Vadot          - cec
612eb4d8dcSEmmanuel Vadot          - grf
622eb4d8dcSEmmanuel Vadot          - vpll
63*d5b0e70fSEmmanuel Vadot          - ref
642eb4d8dcSEmmanuel Vadot      - enum:
652eb4d8dcSEmmanuel Vadot          - grf
662eb4d8dcSEmmanuel Vadot          - vpll
67*d5b0e70fSEmmanuel Vadot          - ref
68*d5b0e70fSEmmanuel Vadot      - enum:
69*d5b0e70fSEmmanuel Vadot          - vpll
70*d5b0e70fSEmmanuel Vadot          - ref
712eb4d8dcSEmmanuel Vadot
722eb4d8dcSEmmanuel Vadot  ddc-i2c-bus:
732eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
742eb4d8dcSEmmanuel Vadot    description:
752eb4d8dcSEmmanuel Vadot      The HDMI DDC bus can be connected to either a system I2C master or the
762eb4d8dcSEmmanuel Vadot      functionally-reduced I2C master contained in the DWC HDMI. When connected
772eb4d8dcSEmmanuel Vadot      to a system I2C master this property contains a phandle to that I2C
782eb4d8dcSEmmanuel Vadot      master controller.
792eb4d8dcSEmmanuel Vadot
802eb4d8dcSEmmanuel Vadot  phys:
812eb4d8dcSEmmanuel Vadot    maxItems: 1
822eb4d8dcSEmmanuel Vadot    description: The HDMI PHY
832eb4d8dcSEmmanuel Vadot
842eb4d8dcSEmmanuel Vadot  phy-names:
852eb4d8dcSEmmanuel Vadot    const: hdmi
862eb4d8dcSEmmanuel Vadot
872eb4d8dcSEmmanuel Vadot  pinctrl-names:
882eb4d8dcSEmmanuel Vadot    description:
892eb4d8dcSEmmanuel Vadot      The unwedge pinctrl entry shall drive the DDC SDA line low. This is
902eb4d8dcSEmmanuel Vadot      intended to work around a hardware errata that can cause the DDC I2C
912eb4d8dcSEmmanuel Vadot      bus to be wedged.
92*d5b0e70fSEmmanuel Vadot    minItems: 1
932eb4d8dcSEmmanuel Vadot    items:
942eb4d8dcSEmmanuel Vadot      - const: default
952eb4d8dcSEmmanuel Vadot      - const: unwedge
962eb4d8dcSEmmanuel Vadot
972eb4d8dcSEmmanuel Vadot  ports:
982eb4d8dcSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
992eb4d8dcSEmmanuel Vadot
100*d5b0e70fSEmmanuel Vadot    patternProperties:
101*d5b0e70fSEmmanuel Vadot      "^port(@0)?$":
102*d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
1032eb4d8dcSEmmanuel Vadot        description: Input of the DWC HDMI TX
1042eb4d8dcSEmmanuel Vadot        properties:
105*d5b0e70fSEmmanuel Vadot          endpoint:
106*d5b0e70fSEmmanuel Vadot            description: Connection to the VOP
1072eb4d8dcSEmmanuel Vadot          endpoint@0:
1082eb4d8dcSEmmanuel Vadot            description: Connection to the VOPB
1092eb4d8dcSEmmanuel Vadot          endpoint@1:
1102eb4d8dcSEmmanuel Vadot            description: Connection to the VOPL
111*d5b0e70fSEmmanuel Vadot    properties:
112*d5b0e70fSEmmanuel Vadot      port@1:
113*d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
114*d5b0e70fSEmmanuel Vadot        description: Output of the DWC HDMI TX
1152eb4d8dcSEmmanuel Vadot
1162eb4d8dcSEmmanuel Vadot  rockchip,grf:
1172eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
1182eb4d8dcSEmmanuel Vadot    description:
1192eb4d8dcSEmmanuel Vadot      phandle to the GRF to mux vopl/vopb.
1202eb4d8dcSEmmanuel Vadot
1212eb4d8dcSEmmanuel Vadotrequired:
1222eb4d8dcSEmmanuel Vadot  - compatible
1232eb4d8dcSEmmanuel Vadot  - reg
1242eb4d8dcSEmmanuel Vadot  - reg-io-width
1252eb4d8dcSEmmanuel Vadot  - clocks
1262eb4d8dcSEmmanuel Vadot  - clock-names
1272eb4d8dcSEmmanuel Vadot  - interrupts
1282eb4d8dcSEmmanuel Vadot  - ports
1292eb4d8dcSEmmanuel Vadot  - rockchip,grf
1302eb4d8dcSEmmanuel Vadot
1312eb4d8dcSEmmanuel VadotunevaluatedProperties: false
1322eb4d8dcSEmmanuel Vadot
1332eb4d8dcSEmmanuel Vadotexamples:
1342eb4d8dcSEmmanuel Vadot  - |
1352eb4d8dcSEmmanuel Vadot    #include <dt-bindings/clock/rk3288-cru.h>
1362eb4d8dcSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1372eb4d8dcSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1382eb4d8dcSEmmanuel Vadot
1392eb4d8dcSEmmanuel Vadot    hdmi: hdmi@ff980000 {
1402eb4d8dcSEmmanuel Vadot        compatible = "rockchip,rk3288-dw-hdmi";
1412eb4d8dcSEmmanuel Vadot        reg = <0xff980000 0x20000>;
1422eb4d8dcSEmmanuel Vadot        reg-io-width = <4>;
1432eb4d8dcSEmmanuel Vadot        ddc-i2c-bus = <&i2c5>;
1442eb4d8dcSEmmanuel Vadot        rockchip,grf = <&grf>;
1452eb4d8dcSEmmanuel Vadot        interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1462eb4d8dcSEmmanuel Vadot        clocks = <&cru  PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
1472eb4d8dcSEmmanuel Vadot        clock-names = "iahb", "isfr";
1482eb4d8dcSEmmanuel Vadot
1492eb4d8dcSEmmanuel Vadot        ports {
1502eb4d8dcSEmmanuel Vadot            port {
1512eb4d8dcSEmmanuel Vadot                #address-cells = <1>;
1522eb4d8dcSEmmanuel Vadot                #size-cells = <0>;
1532eb4d8dcSEmmanuel Vadot
1542eb4d8dcSEmmanuel Vadot                hdmi_in_vopb: endpoint@0 {
1552eb4d8dcSEmmanuel Vadot                    reg = <0>;
1562eb4d8dcSEmmanuel Vadot                    remote-endpoint = <&vopb_out_hdmi>;
1572eb4d8dcSEmmanuel Vadot                };
1582eb4d8dcSEmmanuel Vadot                hdmi_in_vopl: endpoint@1 {
1592eb4d8dcSEmmanuel Vadot                    reg = <1>;
1602eb4d8dcSEmmanuel Vadot                    remote-endpoint = <&vopl_out_hdmi>;
1612eb4d8dcSEmmanuel Vadot                };
1622eb4d8dcSEmmanuel Vadot            };
1632eb4d8dcSEmmanuel Vadot        };
1642eb4d8dcSEmmanuel Vadot    };
1652eb4d8dcSEmmanuel Vadot
1662eb4d8dcSEmmanuel Vadot...
167