18eea6e26SJohan Jonker# SPDX-License-Identifier: GPL-2.0
28eea6e26SJohan Jonker%YAML 1.2
38eea6e26SJohan Jonker---
48eea6e26SJohan Jonker$id: http://devicetree.org/schemas/display/rockchip/rockchip,rk3066-hdmi.yaml#
58eea6e26SJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
68eea6e26SJohan Jonker
78eea6e26SJohan Jonkertitle: Rockchip rk3066 HDMI controller
88eea6e26SJohan Jonker
98eea6e26SJohan Jonkermaintainers:
108eea6e26SJohan Jonker  - Sandy Huang <hjc@rock-chips.com>
118eea6e26SJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
128eea6e26SJohan Jonker
138eea6e26SJohan Jonkerproperties:
148eea6e26SJohan Jonker  compatible:
158eea6e26SJohan Jonker    const: rockchip,rk3066-hdmi
168eea6e26SJohan Jonker
178eea6e26SJohan Jonker  reg:
188eea6e26SJohan Jonker    maxItems: 1
198eea6e26SJohan Jonker
208eea6e26SJohan Jonker  interrupts:
218eea6e26SJohan Jonker    maxItems: 1
228eea6e26SJohan Jonker
238eea6e26SJohan Jonker  clocks:
248eea6e26SJohan Jonker    maxItems: 1
258eea6e26SJohan Jonker
268eea6e26SJohan Jonker  clock-names:
278eea6e26SJohan Jonker    const: hclk
288eea6e26SJohan Jonker
298eea6e26SJohan Jonker  power-domains:
308eea6e26SJohan Jonker    maxItems: 1
318eea6e26SJohan Jonker
328eea6e26SJohan Jonker  rockchip,grf:
338eea6e26SJohan Jonker    $ref: /schemas/types.yaml#/definitions/phandle
348eea6e26SJohan Jonker    description:
358eea6e26SJohan Jonker      This soc uses GRF regs to switch the HDMI TX input between vop0 and vop1.
368eea6e26SJohan Jonker
378eea6e26SJohan Jonker  ports:
38*b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
398eea6e26SJohan Jonker
408eea6e26SJohan Jonker    properties:
418eea6e26SJohan Jonker      port@0:
42*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
438eea6e26SJohan Jonker        description:
448eea6e26SJohan Jonker          Port node with two endpoints, numbered 0 and 1,
458eea6e26SJohan Jonker          connected respectively to vop0 and vop1.
468eea6e26SJohan Jonker
478eea6e26SJohan Jonker      port@1:
48*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
498eea6e26SJohan Jonker        description:
508eea6e26SJohan Jonker          Port node with one endpoint connected to a hdmi-connector node.
518eea6e26SJohan Jonker
528eea6e26SJohan Jonker    required:
538eea6e26SJohan Jonker      - port@0
548eea6e26SJohan Jonker      - port@1
558eea6e26SJohan Jonker
568eea6e26SJohan Jonkerrequired:
578eea6e26SJohan Jonker  - compatible
588eea6e26SJohan Jonker  - reg
598eea6e26SJohan Jonker  - interrupts
608eea6e26SJohan Jonker  - clocks
618eea6e26SJohan Jonker  - clock-names
628eea6e26SJohan Jonker  - pinctrl-0
638eea6e26SJohan Jonker  - pinctrl-names
648eea6e26SJohan Jonker  - power-domains
658eea6e26SJohan Jonker  - rockchip,grf
668eea6e26SJohan Jonker  - ports
678eea6e26SJohan Jonker
688eea6e26SJohan JonkeradditionalProperties: false
698eea6e26SJohan Jonker
708eea6e26SJohan Jonkerexamples:
718eea6e26SJohan Jonker  - |
728eea6e26SJohan Jonker    #include <dt-bindings/clock/rk3066a-cru.h>
738eea6e26SJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
748eea6e26SJohan Jonker    #include <dt-bindings/pinctrl/rockchip.h>
758eea6e26SJohan Jonker    #include <dt-bindings/power/rk3066-power.h>
768eea6e26SJohan Jonker    hdmi: hdmi@10116000 {
778eea6e26SJohan Jonker      compatible = "rockchip,rk3066-hdmi";
788eea6e26SJohan Jonker      reg = <0x10116000 0x2000>;
798eea6e26SJohan Jonker      interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
808eea6e26SJohan Jonker      clocks = <&cru HCLK_HDMI>;
818eea6e26SJohan Jonker      clock-names = "hclk";
828eea6e26SJohan Jonker      pinctrl-0 = <&hdmii2c_xfer>, <&hdmi_hpd>;
838eea6e26SJohan Jonker      pinctrl-names = "default";
848eea6e26SJohan Jonker      power-domains = <&power RK3066_PD_VIO>;
858eea6e26SJohan Jonker      rockchip,grf = <&grf>;
868eea6e26SJohan Jonker
878eea6e26SJohan Jonker      ports {
888eea6e26SJohan Jonker        #address-cells = <1>;
898eea6e26SJohan Jonker        #size-cells = <0>;
908eea6e26SJohan Jonker        hdmi_in: port@0 {
918eea6e26SJohan Jonker          reg = <0>;
928eea6e26SJohan Jonker          #address-cells = <1>;
938eea6e26SJohan Jonker          #size-cells = <0>;
948eea6e26SJohan Jonker          hdmi_in_vop0: endpoint@0 {
958eea6e26SJohan Jonker            reg = <0>;
968eea6e26SJohan Jonker            remote-endpoint = <&vop0_out_hdmi>;
978eea6e26SJohan Jonker          };
988eea6e26SJohan Jonker          hdmi_in_vop1: endpoint@1 {
998eea6e26SJohan Jonker            reg = <1>;
1008eea6e26SJohan Jonker            remote-endpoint = <&vop1_out_hdmi>;
1018eea6e26SJohan Jonker          };
1028eea6e26SJohan Jonker        };
1038eea6e26SJohan Jonker        hdmi_out: port@1 {
1048eea6e26SJohan Jonker          reg = <1>;
1058eea6e26SJohan Jonker          hdmi_out_con: endpoint {
1068eea6e26SJohan Jonker            remote-endpoint = <&hdmi_con_in>;
1078eea6e26SJohan Jonker          };
1088eea6e26SJohan Jonker        };
1098eea6e26SJohan Jonker      };
1108eea6e26SJohan Jonker    };
1118eea6e26SJohan Jonker
1128eea6e26SJohan Jonker    pinctrl {
1138eea6e26SJohan Jonker      hdmi {
1148eea6e26SJohan Jonker        hdmi_hpd: hdmi-hpd {
1158eea6e26SJohan Jonker          rockchip,pins = <0 RK_PA0 1 &pcfg_pull_default>;
1168eea6e26SJohan Jonker        };
1178eea6e26SJohan Jonker        hdmii2c_xfer: hdmii2c-xfer {
1188eea6e26SJohan Jonker          rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>,
1198eea6e26SJohan Jonker                          <0 RK_PA2 1 &pcfg_pull_none>;
1208eea6e26SJohan Jonker        };
1218eea6e26SJohan Jonker      };
1228eea6e26SJohan Jonker    };
123