GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / arm / bcm / raspberrypi,bcm2835-firmware.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/arm/bcm/raspberrypi,bcm2835-firmware.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Raspberry Pi VideoCore firmware driver
8
9 maintainers:
10   - Eric Anholt <eric@anholt.net>
11   - Stefan Wahren <wahrenst@gmx.net>
12
13 select:
14   properties:
15     compatible:
16       contains:
17         const: raspberrypi,bcm2835-firmware
18
19   required:
20     - compatible
21
22 properties:
23   compatible:
24     items:
25       - const: raspberrypi,bcm2835-firmware
26       - const: simple-mfd
27
28   mboxes:
29     maxItems: 1
30
31   clocks:
32     type: object
33     additionalProperties: false
34
35     properties:
36       compatible:
37         const: raspberrypi,firmware-clocks
38
39       "#clock-cells":
40         const: 1
41         description: >
42           The argument is the ID of the clocks contained by the
43           firmware messages.
44
45     required:
46       - compatible
47       - "#clock-cells"
48
49   reset:
50     type: object
51     additionalProperties: false
52
53     properties:
54       compatible:
55         const: raspberrypi,firmware-reset
56
57       "#reset-cells":
58         const: 1
59         description: >
60           The argument is the ID of the firmware reset line to affect.
61
62     required:
63       - compatible
64       - "#reset-cells"
65
66   pwm:
67     type: object
68     additionalProperties: false
69
70     properties:
71       compatible:
72         const: raspberrypi,firmware-poe-pwm
73
74       "#pwm-cells":
75         # See pwm.yaml in this directory for a description of the cells format.
76         const: 2
77
78     required:
79       - compatible
80       - "#pwm-cells"
81
82 required:
83   - compatible
84   - mboxes
85
86 additionalProperties: false
87
88 examples:
89   - |
90     firmware {
91         compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
92         mboxes = <&mailbox>;
93
94         firmware_clocks: clocks {
95             compatible = "raspberrypi,firmware-clocks";
96             #clock-cells = <1>;
97         };
98
99         reset: reset {
100             compatible = "raspberrypi,firmware-reset";
101             #reset-cells = <1>;
102         };
103
104         pwm: pwm {
105             compatible = "raspberrypi,firmware-poe-pwm";
106             #pwm-cells = <2>;
107         };
108     };
109 ...