xref: /freebsd/sys/contrib/device-tree/Bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
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
34    properties:
35      compatible:
36        const: raspberrypi,firmware-clocks
37
38      "#clock-cells":
39        const: 1
40        description: >
41          The argument is the ID of the clocks contained by the
42          firmware messages.
43
44    required:
45      - compatible
46      - "#clock-cells"
47
48  reset:
49    type: object
50
51    properties:
52      compatible:
53        const: raspberrypi,firmware-reset
54
55      "#reset-cells":
56        const: 1
57        description: >
58          The argument is the ID of the firmware reset line to affect.
59
60    required:
61      - compatible
62      - "#reset-cells"
63
64  pwm:
65    type: object
66
67    properties:
68      compatible:
69        const: raspberrypi,firmware-poe-pwm
70
71      "#pwm-cells":
72        # See pwm.yaml in this directory for a description of the cells format.
73        const: 2
74
75    required:
76      - compatible
77      - "#pwm-cells"
78
79    additionalProperties: false
80
81required:
82  - compatible
83  - mboxes
84
85additionalProperties: false
86
87examples:
88  - |
89    firmware {
90        compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
91        mboxes = <&mailbox>;
92
93        firmware_clocks: clocks {
94            compatible = "raspberrypi,firmware-clocks";
95            #clock-cells = <1>;
96        };
97
98        reset: reset {
99            compatible = "raspberrypi,firmware-reset";
100            #reset-cells = <1>;
101        };
102
103        pwm: pwm {
104            compatible = "raspberrypi,firmware-poe-pwm";
105            #pwm-cells = <2>;
106        };
107    };
108...
109