Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / display / brcm,bcm2711-hdmi.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2711-hdmi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom BCM2711 HDMI Controller
8
9 maintainers:
10   - Eric Anholt <eric@anholt.net>
11
12 properties:
13   compatible:
14     enum:
15       - brcm,bcm2711-hdmi0
16       - brcm,bcm2711-hdmi1
17
18   reg:
19     items:
20       - description: HDMI controller register range
21       - description: DVP register range
22       - description: HDMI PHY register range
23       - description: Rate Manager register range
24       - description: Packet RAM register range
25       - description: Metadata RAM register range
26       - description: CSC register range
27       - description: CEC register range
28       - description: HD register range
29
30   reg-names:
31     items:
32       - const: hdmi
33       - const: dvp
34       - const: phy
35       - const: rm
36       - const: packet
37       - const: metadata
38       - const: csc
39       - const: cec
40       - const: hd
41
42   clocks:
43     items:
44       - description: The HDMI state machine clock
45       - description: The Pixel BVB clock
46       - description: The HDMI Audio parent clock
47       - description: The HDMI CEC parent clock
48
49   clock-names:
50     items:
51       - const: hdmi
52       - const: bvb
53       - const: audio
54       - const: cec
55
56   interrupts:
57     items:
58       - description: CEC TX interrupt
59       - description: CEC RX interrupt
60       - description: CEC stuck at low interrupt
61       - description: Wake-up interrupt
62       - description: Hotplug connected interrupt
63       - description: Hotplug removed interrupt
64
65   interrupt-names:
66     items:
67       - const: cec-tx
68       - const: cec-rx
69       - const: cec-low
70       - const: wakeup
71       - const: hpd-connected
72       - const: hpd-removed
73
74   ddc:
75     $ref: /schemas/types.yaml#/definitions/phandle
76     description: >
77       Phandle of the I2C controller used for DDC EDID probing
78
79   hpd-gpios:
80     maxItems: 1
81     description: >
82       The GPIO pin for the HDMI hotplug detect (if it doesn't appear
83       as an interrupt/status bit in the HDMI controller itself)
84
85   dmas:
86     maxItems: 1
87     description: >
88       Should contain one entry pointing to the DMA channel used to
89       transfer audio data.
90
91   dma-names:
92     const: audio-rx
93
94   resets:
95     maxItems: 1
96
97   wifi-2.4ghz-coexistence:
98     type: boolean
99     description: >
100       Should the pixel frequencies in the WiFi frequencies range be
101       avoided?
102
103 required:
104   - compatible
105   - reg
106   - reg-names
107   - clocks
108   - resets
109   - ddc
110
111 additionalProperties: false
112
113 examples:
114   - |
115     hdmi0: hdmi@7ef00700 {
116         compatible = "brcm,bcm2711-hdmi0";
117         reg = <0x7ef00700 0x300>,
118               <0x7ef00300 0x200>,
119               <0x7ef00f00 0x80>,
120               <0x7ef00f80 0x80>,
121               <0x7ef01b00 0x200>,
122               <0x7ef01f00 0x400>,
123               <0x7ef00200 0x80>,
124               <0x7ef04300 0x100>,
125               <0x7ef20000 0x100>;
126         reg-names = "hdmi",
127                     "dvp",
128                     "phy",
129                     "rm",
130                     "packet",
131                     "metadata",
132                     "csc",
133                     "cec",
134                     "hd";
135         clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
136         clock-names = "hdmi", "bvb", "audio", "cec";
137         resets = <&dvp 0>;
138         ddc = <&ddc0>;
139     };
140
141 ...