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