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    $ref: '/schemas/types.yaml#/definitions/phandle'
30    description: |
31      Phandle to the firmware device's Mailbox.
32      (See: ../mailbox/mailbox.txt for more information)
33
34  clocks:
35    type: object
36
37    properties:
38      compatible:
39        const: raspberrypi,firmware-clocks
40
41      "#clock-cells":
42        const: 1
43        description: >
44          The argument is the ID of the clocks contained by the
45          firmware messages.
46
47    required:
48      - compatible
49      - "#clock-cells"
50
51  reset:
52    type: object
53
54    properties:
55      compatible:
56        const: raspberrypi,firmware-reset
57
58      "#reset-cells":
59        const: 1
60        description: >
61          The argument is the ID of the firmware reset line to affect.
62
63    required:
64      - compatible
65      - "#reset-cells"
66
67  pwm:
68    type: object
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    additionalProperties: false
83
84required:
85  - compatible
86  - mboxes
87
88additionalProperties: false
89
90examples:
91  - |
92    firmware {
93        compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
94        mboxes = <&mailbox>;
95
96        firmware_clocks: clocks {
97            compatible = "raspberrypi,firmware-clocks";
98            #clock-cells = <1>;
99        };
100
101        reset: reset {
102            compatible = "raspberrypi,firmware-reset";
103            #reset-cells = <1>;
104        };
105
106        pwm: pwm {
107            compatible = "raspberrypi,firmware-poe-pwm";
108            #pwm-cells = <2>;
109        };
110    };
111...
112