summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.yaml
blob: 510e94e9ca3a116ec62c4f45b3ed706d02812342 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Device Tree bindings for Synopsys DesignWare HDMI RX Controller

---
$id: http://devicetree.org/schemas/media/snps,dw-hdmi-rx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Synopsys DesignWare HDMI RX Controller

maintainers:
  - Shreeya Patel <shreeya.patel@collabora.com>

description:
  Synopsys DesignWare HDMI Input Controller preset on RK3588 SoCs
  allowing devices to receive and decode high-resolution video streams
  from external sources like media players, cameras, laptops, etc.

properties:
  compatible:
    items:
      - const: rockchip,rk3588-hdmirx-ctrler
      - const: snps,dw-hdmi-rx

  reg:
    maxItems: 1

  interrupts:
    maxItems: 3

  interrupt-names:
    items:
      - const: cec
      - const: hdmi
      - const: dma

  clocks:
    maxItems: 7

  clock-names:
    items:
      - const: aclk
      - const: audio
      - const: cr_para
      - const: pclk
      - const: ref
      - const: hclk_s_hdmirx
      - const: hclk_vo1

  power-domains:
    maxItems: 1

  resets:
    maxItems: 4

  reset-names:
    items:
      - const: axi
      - const: apb
      - const: ref
      - const: biu

  memory-region:
    maxItems: 1

  hpd-gpios:
    description: GPIO specifier for HPD.
    maxItems: 1

  rockchip,grf:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      The phandle of the syscon node for the general register file
      containing HDMIRX PHY status bits.

  rockchip,vo1-grf:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      The phandle of the syscon node for the Video Output GRF register
      to enable EDID transfer through SDAIN and SCLIN.

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names
  - clocks
  - clock-names
  - power-domains
  - resets
  - pinctrl-0
  - hpd-gpios

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/rockchip,rk3588-cru.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/power/rk3588-power.h>
    #include <dt-bindings/reset/rockchip,rk3588-cru.h>
    hdmi_receiver: hdmi-receiver@fdee0000 {
      compatible = "rockchip,rk3588-hdmirx-ctrler", "snps,dw-hdmi-rx";
      reg = <0xfdee0000 0x6000>;
      interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH 0>,
                   <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH 0>,
                   <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH 0>;
      interrupt-names = "cec", "hdmi", "dma";
      clocks = <&cru ACLK_HDMIRX>,
               <&cru CLK_HDMIRX_AUD>,
               <&cru CLK_CR_PARA>,
               <&cru PCLK_HDMIRX>,
               <&cru CLK_HDMIRX_REF>,
               <&cru PCLK_S_HDMIRX>,
               <&cru HCLK_VO1>;
      clock-names = "aclk",
                    "audio",
                    "cr_para",
                    "pclk",
                    "ref",
                    "hclk_s_hdmirx",
                    "hclk_vo1";
      power-domains = <&power RK3588_PD_VO1>;
      resets = <&cru SRST_A_HDMIRX>, <&cru SRST_P_HDMIRX>,
               <&cru SRST_HDMIRX_REF>, <&cru SRST_A_HDMIRX_BIU>;
      reset-names = "axi", "apb", "ref", "biu";
      memory-region = <&hdmi_receiver_cma>;
      pinctrl-0 = <&hdmim1_rx_cec &hdmim1_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda &hdmirx_5v_detection>;
      pinctrl-names = "default";
      hpd-gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
    };