xref: /linux/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml (revision 46e6acfe3501fa938af9c5bd730f0020235b08a2)
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  gpio:
50    type: object
51    additionalProperties: false
52
53    properties:
54      compatible:
55        const: raspberrypi,firmware-gpio
56
57      gpio-controller: true
58
59      "#gpio-cells":
60        const: 2
61        description:
62          The first cell is the pin number, and the second cell is used to
63          specify the gpio polarity (GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW).
64
65      gpio-line-names:
66        minItems: 8
67
68    required:
69      - compatible
70      - gpio-controller
71      - "#gpio-cells"
72
73  reset:
74    type: object
75    additionalProperties: false
76
77    properties:
78      compatible:
79        const: raspberrypi,firmware-reset
80
81      "#reset-cells":
82        const: 1
83        description: >
84          The argument is the ID of the firmware reset line to affect.
85
86    required:
87      - compatible
88      - "#reset-cells"
89
90  pwm:
91    type: object
92    additionalProperties: false
93
94    properties:
95      compatible:
96        const: raspberrypi,firmware-poe-pwm
97
98      "#pwm-cells":
99        # See pwm.yaml in this directory for a description of the cells format.
100        const: 2
101
102    required:
103      - compatible
104      - "#pwm-cells"
105
106required:
107  - compatible
108  - mboxes
109
110additionalProperties: false
111
112examples:
113  - |
114    firmware {
115        compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
116        mboxes = <&mailbox>;
117
118        firmware_clocks: clocks {
119            compatible = "raspberrypi,firmware-clocks";
120            #clock-cells = <1>;
121        };
122
123        expgpio: gpio {
124            compatible = "raspberrypi,firmware-gpio";
125            gpio-controller;
126            #gpio-cells = <2>;
127        };
128
129        reset: reset {
130            compatible = "raspberrypi,firmware-reset";
131            #reset-cells = <1>;
132        };
133
134        pwm: pwm {
135            compatible = "raspberrypi,firmware-poe-pwm";
136            #pwm-cells = <2>;
137        };
138    };
139...
140