1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/rockchip/rockchip,inno-hdmi.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Rockchip Innosilicon HDMI controller 8 9maintainers: 10 - Sandy Huang <hjc@rock-chips.com> 11 - Heiko Stuebner <heiko@sntech.de> 12 13properties: 14 compatible: 15 enum: 16 - rockchip,rk3036-inno-hdmi 17 - rockchip,rk3128-inno-hdmi 18 19 reg: 20 maxItems: 1 21 22 interrupts: 23 maxItems: 1 24 25 clocks: 26 items: 27 - description: The HDMI controller main clock 28 - description: The HDMI PHY reference clock 29 30 clock-names: 31 items: 32 - const: pclk 33 - const: ref 34 35 power-domains: 36 maxItems: 1 37 38 "#sound-dai-cells": 39 const: 0 40 41 ports: 42 $ref: /schemas/graph.yaml#/properties/ports 43 44 properties: 45 port@0: 46 $ref: /schemas/graph.yaml#/properties/port 47 description: 48 Port node with one endpoint connected to a vop node. 49 50 port@1: 51 $ref: /schemas/graph.yaml#/properties/port 52 description: 53 Port node with one endpoint connected to a hdmi-connector node. 54 55 required: 56 - port@0 57 - port@1 58 59 rockchip,grf: 60 $ref: /schemas/types.yaml#/definitions/phandle 61 description: 62 Phandle to GRF used for control the polarity of hsync/vsync of rk3036 63 HDMI. 64 65required: 66 - compatible 67 - reg 68 - interrupts 69 - clocks 70 - clock-names 71 - pinctrl-0 72 - pinctrl-names 73 - ports 74 75allOf: 76 - $ref: /schemas/sound/dai-common.yaml# 77 - if: 78 properties: 79 compatible: 80 contains: 81 const: rockchip,rk3036-inno-hdmi 82 83 then: 84 required: 85 - rockchip,grf 86 properties: 87 power-domains: false 88 89 - if: 90 properties: 91 compatible: 92 contains: 93 const: rockchip,rk3128-inno-hdmi 94 95 then: 96 required: 97 - power-domains 98 99additionalProperties: false 100 101examples: 102 - | 103 #include <dt-bindings/clock/rk3036-cru.h> 104 #include <dt-bindings/interrupt-controller/arm-gic.h> 105 #include <dt-bindings/pinctrl/rockchip.h> 106 hdmi: hdmi@20034000 { 107 compatible = "rockchip,rk3036-inno-hdmi"; 108 reg = <0x20034000 0x4000>; 109 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 110 clocks = <&cru PCLK_HDMI>, <&cru SCLK_LCDC>; 111 clock-names = "pclk", "ref"; 112 pinctrl-names = "default"; 113 pinctrl-0 = <&hdmi_ctl>; 114 rockchip,grf = <&grf>; 115 #sound-dai-cells = <0>; 116 117 ports { 118 #address-cells = <1>; 119 #size-cells = <0>; 120 121 hdmi_in: port@0 { 122 reg = <0>; 123 hdmi_in_vop: endpoint { 124 remote-endpoint = <&vop_out_hdmi>; 125 }; 126 }; 127 128 hdmi_out: port@1 { 129 reg = <1>; 130 hdmi_out_con: endpoint { 131 remote-endpoint = <&hdmi_con_in>; 132 }; 133 }; 134 }; 135 }; 136 137 pinctrl { 138 hdmi { 139 hdmi_ctl: hdmi-ctl { 140 rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>, 141 <1 RK_PB1 1 &pcfg_pull_none>, 142 <1 RK_PB2 1 &pcfg_pull_none>, 143 <1 RK_PB3 1 &pcfg_pull_none>; 144 }; 145 }; 146 }; 147