xref: /freebsd/sys/contrib/device-tree/Bindings/display/brcm,bcm2835-hdmi.yaml (revision 8ddb146abcdf061be9f2c0db7e391697dafad85c)
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
54  power-domains:
55    maxItems: 1
56
57required:
58  - compatible
59  - reg
60  - interrupts
61  - clocks
62  - ddc
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/clock/bcm2835.h>
69    #include <dt-bindings/gpio/gpio.h>
70
71    hdmi: hdmi@7e902000 {
72        compatible = "brcm,bcm2835-hdmi";
73        reg = <0x7e902000 0x600>,
74              <0x7e808000 0x100>;
75        interrupts = <2 8>, <2 9>;
76        ddc = <&i2c2>;
77        hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
78        clocks = <&clocks BCM2835_PLLH_PIX>,
79                 <&clocks BCM2835_CLOCK_HSM>;
80        clock-names = "pixel", "hdmi";
81    };
82
83...
84