dt-bindings: reset: Add a binding for the RPi Firmware reset controller
[linux-2.6-microblaze.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-bus
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     additionalProperties: false
68
69 required:
70   - compatible
71   - mboxes
72
73 examples:
74   - |
75     firmware {
76         compatible = "raspberrypi,bcm2835-firmware", "simple-bus";
77         mboxes = <&mailbox>;
78
79         firmware_clocks: clocks {
80             compatible = "raspberrypi,firmware-clocks";
81             #clock-cells = <1>;
82         };
83
84         reset: reset {
85             compatible = "raspberrypi,firmware-reset";
86             #reset-cells = <1>;
87         };
88     };
89 ...