xref: /freebsd/sys/contrib/device-tree/Bindings/display/brcm,bcm2711-hdmi.yaml (revision 9f44a47fd07924afc035991af15d84e6585dea4f)
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
7title: Broadcom BCM2711 HDMI Controller Device Tree Bindings
8
9maintainers:
10  - Eric Anholt <eric@anholt.net>
11
12properties:
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
103required:
104  - compatible
105  - reg
106  - reg-names
107  - clocks
108  - resets
109  - ddc
110
111additionalProperties: false
112
113examples:
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...
142