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
7title: Raspberry Pi VideoCore firmware driver
8
9maintainers:
10  - Eric Anholt <eric@anholt.net>
11  - Stefan Wahren <wahrenst@gmx.net>
12
13select:
14  properties:
15    compatible:
16      contains:
17        const: raspberrypi,bcm2835-firmware
18
19  required:
20    - compatible
21
22properties:
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
82required:
83  - compatible
84  - mboxes
85
86additionalProperties: false
87
88examples:
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...
110