xref: /freebsd/sys/contrib/device-tree/Bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/bcm/raspberrypi,bcm2835-firmware.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Raspberry Pi VideoCore firmware driver
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Eric Anholt <eric@anholt.net>
11c66ec88fSEmmanuel Vadot  - Stefan Wahren <wahrenst@gmx.net>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotselect:
14c66ec88fSEmmanuel Vadot  properties:
15c66ec88fSEmmanuel Vadot    compatible:
16c66ec88fSEmmanuel Vadot      contains:
17c66ec88fSEmmanuel Vadot        const: raspberrypi,bcm2835-firmware
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot  required:
20c66ec88fSEmmanuel Vadot    - compatible
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadotproperties:
23c66ec88fSEmmanuel Vadot  compatible:
24c66ec88fSEmmanuel Vadot    items:
25c66ec88fSEmmanuel Vadot      - const: raspberrypi,bcm2835-firmware
26c66ec88fSEmmanuel Vadot      - const: simple-mfd
27c66ec88fSEmmanuel Vadot
28c66ec88fSEmmanuel Vadot  mboxes:
292eb4d8dcSEmmanuel Vadot    maxItems: 1
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot  clocks:
32c66ec88fSEmmanuel Vadot    type: object
33fac71e4eSEmmanuel Vadot    additionalProperties: false
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot    properties:
36c66ec88fSEmmanuel Vadot      compatible:
37c66ec88fSEmmanuel Vadot        const: raspberrypi,firmware-clocks
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot      "#clock-cells":
40c66ec88fSEmmanuel Vadot        const: 1
41c66ec88fSEmmanuel Vadot        description: >
42c66ec88fSEmmanuel Vadot          The argument is the ID of the clocks contained by the
43c66ec88fSEmmanuel Vadot          firmware messages.
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot    required:
46c66ec88fSEmmanuel Vadot      - compatible
47c66ec88fSEmmanuel Vadot      - "#clock-cells"
48c66ec88fSEmmanuel Vadot
49*7d0873ebSEmmanuel Vadot  gpio:
50*7d0873ebSEmmanuel Vadot    type: object
51*7d0873ebSEmmanuel Vadot    additionalProperties: false
52*7d0873ebSEmmanuel Vadot
53*7d0873ebSEmmanuel Vadot    properties:
54*7d0873ebSEmmanuel Vadot      compatible:
55*7d0873ebSEmmanuel Vadot        const: raspberrypi,firmware-gpio
56*7d0873ebSEmmanuel Vadot
57*7d0873ebSEmmanuel Vadot      gpio-controller: true
58*7d0873ebSEmmanuel Vadot
59*7d0873ebSEmmanuel Vadot      "#gpio-cells":
60*7d0873ebSEmmanuel Vadot        const: 2
61*7d0873ebSEmmanuel Vadot        description:
62*7d0873ebSEmmanuel Vadot          The first cell is the pin number, and the second cell is used to
63*7d0873ebSEmmanuel Vadot          specify the gpio polarity (GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW).
64*7d0873ebSEmmanuel Vadot
65*7d0873ebSEmmanuel Vadot      gpio-line-names:
66*7d0873ebSEmmanuel Vadot        minItems: 8
67*7d0873ebSEmmanuel Vadot
68*7d0873ebSEmmanuel Vadot    required:
69*7d0873ebSEmmanuel Vadot      - compatible
70*7d0873ebSEmmanuel Vadot      - gpio-controller
71*7d0873ebSEmmanuel Vadot      - "#gpio-cells"
72*7d0873ebSEmmanuel Vadot
736be33864SEmmanuel Vadot  reset:
746be33864SEmmanuel Vadot    type: object
75fac71e4eSEmmanuel Vadot    additionalProperties: false
766be33864SEmmanuel Vadot
776be33864SEmmanuel Vadot    properties:
786be33864SEmmanuel Vadot      compatible:
796be33864SEmmanuel Vadot        const: raspberrypi,firmware-reset
806be33864SEmmanuel Vadot
816be33864SEmmanuel Vadot      "#reset-cells":
826be33864SEmmanuel Vadot        const: 1
836be33864SEmmanuel Vadot        description: >
846be33864SEmmanuel Vadot          The argument is the ID of the firmware reset line to affect.
856be33864SEmmanuel Vadot
866be33864SEmmanuel Vadot    required:
876be33864SEmmanuel Vadot      - compatible
886be33864SEmmanuel Vadot      - "#reset-cells"
896be33864SEmmanuel Vadot
902eb4d8dcSEmmanuel Vadot  pwm:
912eb4d8dcSEmmanuel Vadot    type: object
92fac71e4eSEmmanuel Vadot    additionalProperties: false
932eb4d8dcSEmmanuel Vadot
942eb4d8dcSEmmanuel Vadot    properties:
952eb4d8dcSEmmanuel Vadot      compatible:
962eb4d8dcSEmmanuel Vadot        const: raspberrypi,firmware-poe-pwm
972eb4d8dcSEmmanuel Vadot
982eb4d8dcSEmmanuel Vadot      "#pwm-cells":
992eb4d8dcSEmmanuel Vadot        # See pwm.yaml in this directory for a description of the cells format.
1002eb4d8dcSEmmanuel Vadot        const: 2
1012eb4d8dcSEmmanuel Vadot
1022eb4d8dcSEmmanuel Vadot    required:
1032eb4d8dcSEmmanuel Vadot      - compatible
1042eb4d8dcSEmmanuel Vadot      - "#pwm-cells"
1052eb4d8dcSEmmanuel Vadot
106c66ec88fSEmmanuel Vadotrequired:
107c66ec88fSEmmanuel Vadot  - compatible
108c66ec88fSEmmanuel Vadot  - mboxes
109c66ec88fSEmmanuel Vadot
1106be33864SEmmanuel VadotadditionalProperties: false
1116be33864SEmmanuel Vadot
112c66ec88fSEmmanuel Vadotexamples:
113c66ec88fSEmmanuel Vadot  - |
114c66ec88fSEmmanuel Vadot    firmware {
115c66ec88fSEmmanuel Vadot        compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
116c66ec88fSEmmanuel Vadot        mboxes = <&mailbox>;
117c66ec88fSEmmanuel Vadot
118c66ec88fSEmmanuel Vadot        firmware_clocks: clocks {
119c66ec88fSEmmanuel Vadot            compatible = "raspberrypi,firmware-clocks";
120c66ec88fSEmmanuel Vadot            #clock-cells = <1>;
121c66ec88fSEmmanuel Vadot        };
1226be33864SEmmanuel Vadot
123*7d0873ebSEmmanuel Vadot        expgpio: gpio {
124*7d0873ebSEmmanuel Vadot            compatible = "raspberrypi,firmware-gpio";
125*7d0873ebSEmmanuel Vadot            gpio-controller;
126*7d0873ebSEmmanuel Vadot            #gpio-cells = <2>;
127*7d0873ebSEmmanuel Vadot        };
128*7d0873ebSEmmanuel Vadot
1296be33864SEmmanuel Vadot        reset: reset {
1306be33864SEmmanuel Vadot            compatible = "raspberrypi,firmware-reset";
1316be33864SEmmanuel Vadot            #reset-cells = <1>;
1326be33864SEmmanuel Vadot        };
1332eb4d8dcSEmmanuel Vadot
1342eb4d8dcSEmmanuel Vadot        pwm: pwm {
1352eb4d8dcSEmmanuel Vadot            compatible = "raspberrypi,firmware-poe-pwm";
1362eb4d8dcSEmmanuel Vadot            #pwm-cells = <2>;
1372eb4d8dcSEmmanuel Vadot        };
138c66ec88fSEmmanuel Vadot    };
139c66ec88fSEmmanuel Vadot...
140