xref: /linux/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml (revision 172cdcaefea5c297fdb3d20b7d5aff60ae4fbce6)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/brcm,bcm2835-hdmi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom VC4 (VideoCore4) HDMI Controller
8
9maintainers:
10  - Eric Anholt <eric@anholt.net>
11
12properties:
13  compatible:
14    const: brcm,bcm2835-hdmi
15
16  reg:
17    items:
18      - description: HDMI register range
19      - description: HD register range
20
21  interrupts:
22    minItems: 2
23
24  clocks:
25    items:
26      - description: The pixel clock
27      - description: The HDMI state machine clock
28
29  clock-names:
30    items:
31      - const: pixel
32      - const: hdmi
33
34  ddc:
35    $ref: /schemas/types.yaml#/definitions/phandle
36    description: >
37      Phandle of the I2C controller used for DDC EDID probing
38
39  hpd-gpios:
40    maxItems: 1
41    description: >
42      The GPIO pin for the HDMI hotplug detect (if it doesn't appear
43      as an interrupt/status bit in the HDMI controller itself)
44
45  dmas:
46    maxItems: 1
47    description: >
48      Should contain one entry pointing to the DMA channel used to
49      transfer audio data.
50
51  dma-names:
52    const: audio-rx
53
54required:
55  - compatible
56  - reg
57  - interrupts
58  - clocks
59  - ddc
60
61additionalProperties: false
62
63examples:
64  - |
65    #include <dt-bindings/clock/bcm2835.h>
66    #include <dt-bindings/gpio/gpio.h>
67
68    hdmi: hdmi@7e902000 {
69        compatible = "brcm,bcm2835-hdmi";
70        reg = <0x7e902000 0x600>,
71              <0x7e808000 0x100>;
72        interrupts = <2 8>, <2 9>;
73        ddc = <&i2c2>;
74        hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
75        clocks = <&clocks BCM2835_PLLH_PIX>,
76                 <&clocks BCM2835_CLOCK_HSM>;
77        clock-names = "pixel", "hdmi";
78    };
79
80...
81