summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml
blob: a1d5a32660e0d27dc8555efdb302a4240f1e39db (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
133
134
135
136
137
138
139
140
141
142
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/brcm,bcm2711-hdmi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM2711 HDMI Controller Device Tree Bindings

maintainers:
  - Eric Anholt <eric@anholt.net>

properties:
  compatible:
    enum:
      - brcm,bcm2711-hdmi0
      - brcm,bcm2711-hdmi1

  reg:
    items:
      - description: HDMI controller register range
      - description: DVP register range
      - description: HDMI PHY register range
      - description: Rate Manager register range
      - description: Packet RAM register range
      - description: Metadata RAM register range
      - description: CSC register range
      - description: CEC register range
      - description: HD register range

  reg-names:
    items:
      - const: hdmi
      - const: dvp
      - const: phy
      - const: rm
      - const: packet
      - const: metadata
      - const: csc
      - const: cec
      - const: hd

  clocks:
    items:
      - description: The HDMI state machine clock
      - description: The Pixel BVB clock
      - description: The HDMI Audio parent clock
      - description: The HDMI CEC parent clock

  clock-names:
    items:
      - const: hdmi
      - const: bvb
      - const: audio
      - const: cec

  interrupts:
    items:
      - description: CEC TX interrupt
      - description: CEC RX interrupt
      - description: CEC stuck at low interrupt
      - description: Wake-up interrupt
      - description: Hotplug connected interrupt
      - description: Hotplug removed interrupt

  interrupt-names:
    items:
      - const: cec-tx
      - const: cec-rx
      - const: cec-low
      - const: wakeup
      - const: hpd-connected
      - const: hpd-removed

  ddc:
    allOf:
      - $ref: /schemas/types.yaml#/definitions/phandle
    description: >
      Phandle of the I2C controller used for DDC EDID probing

  hpd-gpios:
    maxItems: 1
    description: >
      The GPIO pin for the HDMI hotplug detect (if it doesn't appear
      as an interrupt/status bit in the HDMI controller itself)

  dmas:
    maxItems: 1
    description: >
      Should contain one entry pointing to the DMA channel used to
      transfer audio data.

  dma-names:
    const: audio-rx

  resets:
    maxItems: 1

  wifi-2.4ghz-coexistence:
    type: boolean
    description: >
      Should the pixel frequencies in the WiFi frequencies range be
      avoided?

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - resets
  - ddc

additionalProperties: false

examples:
  - |
    hdmi0: hdmi@7ef00700 {
        compatible = "brcm,bcm2711-hdmi0";
        reg = <0x7ef00700 0x300>,
              <0x7ef00300 0x200>,
              <0x7ef00f00 0x80>,
              <0x7ef00f80 0x80>,
              <0x7ef01b00 0x200>,
              <0x7ef01f00 0x400>,
              <0x7ef00200 0x80>,
              <0x7ef04300 0x100>,
              <0x7ef20000 0x100>;
        reg-names = "hdmi",
                    "dvp",
                    "phy",
                    "rm",
                    "packet",
                    "metadata",
                    "csc",
                    "cec",
                    "hd";
        clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
        clock-names = "hdmi", "bvb", "audio", "cec";
        resets = <&dvp 0>;
        ddc = <&ddc0>;
    };

...