Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: display: rockchip: Add schema for RK3588 HDMI TX Controller

Rockchip RK3588 SoC integrates the Synopsys DesignWare HDMI 2.1
Quad-Pixel (QP) TX controller IP.

Since this is a new IP block, quite different from those used in the
previous generations of Rockchip SoCs, add a dedicated binding file.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241016-b4-rk3588-bridge-upstream-v10-2-87ef92a6d14e@collabora.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>

authored by

Cristian Ciocaltea and committed by
Maxime Ripard
c0d28332 5bd0d8e6

+188
+188
Documentation/devicetree/bindings/display/rockchip/rockchip,rk3588-dw-hdmi-qp.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/display/rockchip/rockchip,rk3588-dw-hdmi-qp.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Rockchip DW HDMI QP TX Encoder 8 + 9 + maintainers: 10 + - Cristian Ciocaltea <cristian.ciocaltea@collabora.com> 11 + 12 + description: | 13 + Rockchip RK3588 SoC integrates the Synopsys DesignWare HDMI QP TX controller 14 + IP and a HDMI/eDP TX Combo PHY based on a Samsung IP block, providing the 15 + following features, among others: 16 + 17 + * Fixed Rate Link (FRL) 18 + * Display Stream Compression (DSC) 19 + * 4K@120Hz and 8K@60Hz video modes 20 + * Variable Refresh Rate (VRR) including Quick Media Switching (QMS) 21 + * Fast Vactive (FVA) 22 + * SCDC I2C DDC access 23 + * Multi-stream audio 24 + * Enhanced Audio Return Channel (EARC) 25 + 26 + allOf: 27 + - $ref: /schemas/sound/dai-common.yaml# 28 + 29 + properties: 30 + compatible: 31 + enum: 32 + - rockchip,rk3588-dw-hdmi-qp 33 + 34 + reg: 35 + maxItems: 1 36 + 37 + clocks: 38 + items: 39 + - description: Peripheral/APB bus clock 40 + - description: EARC RX biphase clock 41 + - description: Reference clock 42 + - description: Audio interface clock 43 + - description: TMDS/FRL link clock 44 + - description: Video datapath clock 45 + 46 + clock-names: 47 + items: 48 + - const: pclk 49 + - const: earc 50 + - const: ref 51 + - const: aud 52 + - const: hdp 53 + - const: hclk_vo1 54 + 55 + interrupts: 56 + items: 57 + - description: AVP Unit interrupt 58 + - description: CEC interrupt 59 + - description: eARC RX interrupt 60 + - description: Main Unit interrupt 61 + - description: HPD interrupt 62 + 63 + interrupt-names: 64 + items: 65 + - const: avp 66 + - const: cec 67 + - const: earc 68 + - const: main 69 + - const: hpd 70 + 71 + phys: 72 + maxItems: 1 73 + description: The HDMI/eDP PHY 74 + 75 + ports: 76 + $ref: /schemas/graph.yaml#/properties/ports 77 + 78 + properties: 79 + port@0: 80 + $ref: /schemas/graph.yaml#/properties/port 81 + description: Video port for RGB/YUV input. 82 + 83 + port@1: 84 + $ref: /schemas/graph.yaml#/properties/port 85 + description: Video port for HDMI/eDP output. 86 + 87 + required: 88 + - port@0 89 + - port@1 90 + 91 + power-domains: 92 + maxItems: 1 93 + 94 + resets: 95 + maxItems: 2 96 + 97 + reset-names: 98 + items: 99 + - const: ref 100 + - const: hdp 101 + 102 + "#sound-dai-cells": 103 + const: 0 104 + 105 + rockchip,grf: 106 + $ref: /schemas/types.yaml#/definitions/phandle 107 + description: 108 + Some HDMI QP related data is accessed through SYS GRF regs. 109 + 110 + rockchip,vo-grf: 111 + $ref: /schemas/types.yaml#/definitions/phandle 112 + description: 113 + Additional HDMI QP related data is accessed through VO GRF regs. 114 + 115 + required: 116 + - compatible 117 + - reg 118 + - clocks 119 + - clock-names 120 + - interrupts 121 + - interrupt-names 122 + - phys 123 + - ports 124 + - resets 125 + - reset-names 126 + - rockchip,grf 127 + - rockchip,vo-grf 128 + 129 + unevaluatedProperties: false 130 + 131 + examples: 132 + - | 133 + #include <dt-bindings/clock/rockchip,rk3588-cru.h> 134 + #include <dt-bindings/interrupt-controller/arm-gic.h> 135 + #include <dt-bindings/interrupt-controller/irq.h> 136 + #include <dt-bindings/power/rk3588-power.h> 137 + #include <dt-bindings/reset/rockchip,rk3588-cru.h> 138 + 139 + soc { 140 + #address-cells = <2>; 141 + #size-cells = <2>; 142 + 143 + hdmi@fde80000 { 144 + compatible = "rockchip,rk3588-dw-hdmi-qp"; 145 + reg = <0x0 0xfde80000 0x0 0x20000>; 146 + clocks = <&cru PCLK_HDMITX0>, 147 + <&cru CLK_HDMITX0_EARC>, 148 + <&cru CLK_HDMITX0_REF>, 149 + <&cru MCLK_I2S5_8CH_TX>, 150 + <&cru CLK_HDMIHDP0>, 151 + <&cru HCLK_VO1>; 152 + clock-names = "pclk", "earc", "ref", "aud", "hdp", "hclk_vo1"; 153 + interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>, 154 + <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>, 155 + <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>, 156 + <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH 0>, 157 + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH 0>; 158 + interrupt-names = "avp", "cec", "earc", "main", "hpd"; 159 + phys = <&hdptxphy_hdmi0>; 160 + power-domains = <&power RK3588_PD_VO1>; 161 + resets = <&cru SRST_HDMITX0_REF>, <&cru SRST_HDMIHDP0>; 162 + reset-names = "ref", "hdp"; 163 + rockchip,grf = <&sys_grf>; 164 + rockchip,vo-grf = <&vo1_grf>; 165 + #sound-dai-cells = <0>; 166 + 167 + ports { 168 + #address-cells = <1>; 169 + #size-cells = <0>; 170 + 171 + port@0 { 172 + reg = <0>; 173 + 174 + hdmi0_in_vp0: endpoint { 175 + remote-endpoint = <&vp0_out_hdmi0>; 176 + }; 177 + }; 178 + 179 + port@1 { 180 + reg = <1>; 181 + 182 + hdmi0_out_con0: endpoint { 183 + remote-endpoint = <&hdmi_con0_in>; 184 + }; 185 + }; 186 + }; 187 + }; 188 + };