xref: /freebsd/sys/contrib/device-tree/Bindings/display/brcm,bcm2711-hdmi.yaml (revision 924226fba12cc9a228c73b956e1b7fa24c60b055)
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    allOf:
76      - $ref: /schemas/types.yaml#/definitions/phandle
77    description: >
78      Phandle of the I2C controller used for DDC EDID probing
79
80  hpd-gpios:
81    maxItems: 1
82    description: >
83      The GPIO pin for the HDMI hotplug detect (if it doesn't appear
84      as an interrupt/status bit in the HDMI controller itself)
85
86  dmas:
87    maxItems: 1
88    description: >
89      Should contain one entry pointing to the DMA channel used to
90      transfer audio data.
91
92  dma-names:
93    const: audio-rx
94
95  resets:
96    maxItems: 1
97
98  wifi-2.4ghz-coexistence:
99    type: boolean
100    description: >
101      Should the pixel frequencies in the WiFi frequencies range be
102      avoided?
103
104required:
105  - compatible
106  - reg
107  - reg-names
108  - clocks
109  - resets
110  - ddc
111
112additionalProperties: false
113
114examples:
115  - |
116    hdmi0: hdmi@7ef00700 {
117        compatible = "brcm,bcm2711-hdmi0";
118        reg = <0x7ef00700 0x300>,
119              <0x7ef00300 0x200>,
120              <0x7ef00f00 0x80>,
121              <0x7ef00f80 0x80>,
122              <0x7ef01b00 0x200>,
123              <0x7ef01f00 0x400>,
124              <0x7ef00200 0x80>,
125              <0x7ef04300 0x100>,
126              <0x7ef20000 0x100>;
127        reg-names = "hdmi",
128                    "dvp",
129                    "phy",
130                    "rm",
131                    "packet",
132                    "metadata",
133                    "csc",
134                    "cec",
135                    "hd";
136        clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
137        clock-names = "hdmi", "bvb", "audio", "cec";
138        resets = <&dvp 0>;
139        ddc = <&ddc0>;
140    };
141
142...
143