# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/display/rockchip/rockchip,inno-hdmi.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Rockchip Innosilicon HDMI controller maintainers: - Sandy Huang - Heiko Stuebner properties: compatible: enum: - rockchip,rk3036-inno-hdmi - rockchip,rk3128-inno-hdmi reg: maxItems: 1 interrupts: maxItems: 1 clocks: minItems: 1 items: - description: The HDMI controller main clock - description: The HDMI PHY reference clock clock-names: minItems: 1 items: - const: pclk - const: ref power-domains: maxItems: 1 ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@0: $ref: /schemas/graph.yaml#/properties/port description: Port node with one endpoint connected to a vop node. port@1: $ref: /schemas/graph.yaml#/properties/port description: Port node with one endpoint connected to a hdmi-connector node. required: - port@0 - port@1 required: - compatible - reg - interrupts - clocks - clock-names - pinctrl-0 - pinctrl-names - ports allOf: - if: properties: compatible: contains: const: rockchip,rk3036-inno-hdmi then: properties: power-domains: false - if: properties: compatible: contains: const: rockchip,rk3128-inno-hdmi then: properties: clocks: minItems: 2 clock-names: minItems: 2 required: - power-domains additionalProperties: false examples: - | #include #include #include hdmi: hdmi@20034000 { compatible = "rockchip,rk3036-inno-hdmi"; reg = <0x20034000 0x4000>; interrupts = ; clocks = <&cru PCLK_HDMI>; clock-names = "pclk"; pinctrl-names = "default"; pinctrl-0 = <&hdmi_ctl>; ports { #address-cells = <1>; #size-cells = <0>; hdmi_in: port@0 { reg = <0>; hdmi_in_vop: endpoint { remote-endpoint = <&vop_out_hdmi>; }; }; hdmi_out: port@1 { reg = <1>; hdmi_out_con: endpoint { remote-endpoint = <&hdmi_con_in>; }; }; }; }; pinctrl { hdmi { hdmi_ctl: hdmi-ctl { rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>, <1 RK_PB1 1 &pcfg_pull_none>, <1 RK_PB2 1 &pcfg_pull_none>, <1 RK_PB3 1 &pcfg_pull_none>; }; }; };