linux/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml
Rob Herring (Arm) df7358ab88 dt-bindings: raspberrypi,bcm2835-firmware: Add 'power' and gpio-hog nodes
Add missing child nodes for the RaspberryPi firmware. The firmware
implements a power domain provider in a 'power' node. GPIO hog nodes are
also already in use.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20251215213513.3331128-2-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00

175 lines
3.5 KiB
YAML

# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/bcm/raspberrypi,bcm2835-firmware.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Raspberry Pi VideoCore firmware driver
maintainers:
- Eric Anholt <eric@anholt.net>
- Stefan Wahren <wahrenst@gmx.net>
select:
properties:
compatible:
contains:
const: raspberrypi,bcm2835-firmware
required:
- compatible
properties:
compatible:
items:
- const: raspberrypi,bcm2835-firmware
- const: simple-mfd
mboxes:
maxItems: 1
clocks:
type: object
additionalProperties: false
properties:
compatible:
const: raspberrypi,firmware-clocks
"#clock-cells":
const: 1
description: >
The argument is the ID of the clocks contained by the
firmware messages.
required:
- compatible
- "#clock-cells"
gpio:
type: object
additionalProperties: false
properties:
compatible:
const: raspberrypi,firmware-gpio
gpio-controller: true
"#gpio-cells":
const: 2
description:
The first cell is the pin number, and the second cell is used to
specify the gpio polarity (GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW).
gpio-line-names:
minItems: 8
patternProperties:
'-hog$':
required:
- gpio-hog
required:
- compatible
- gpio-controller
- "#gpio-cells"
reset:
type: object
additionalProperties: false
properties:
compatible:
const: raspberrypi,firmware-reset
"#reset-cells":
const: 1
description: >
The argument is the ID of the firmware reset line to affect.
required:
- compatible
- "#reset-cells"
power:
$ref: /schemas/power/raspberrypi,bcm2835-power.yaml#
pwm:
type: object
additionalProperties: false
properties:
compatible:
const: raspberrypi,firmware-poe-pwm
"#pwm-cells":
# See pwm.yaml in this directory for a description of the cells format.
const: 2
required:
- compatible
- "#pwm-cells"
touchscreen:
type: object
$ref: /schemas/input/touchscreen/touchscreen.yaml#
additionalProperties: false
properties:
compatible:
const: raspberrypi,firmware-ts
firmware:
deprecated: true
description: Phandle to RPi's firmware device node.
touchscreen-size-x: true
touchscreen-size-y: true
touchscreen-inverted-x: true
touchscreen-inverted-y: true
touchscreen-swapped-x-y: true
required:
- compatible
required:
- compatible
- mboxes
additionalProperties: false
examples:
- |
firmware {
compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
mboxes = <&mailbox>;
firmware_clocks: clocks {
compatible = "raspberrypi,firmware-clocks";
#clock-cells = <1>;
};
expgpio: gpio {
compatible = "raspberrypi,firmware-gpio";
gpio-controller;
#gpio-cells = <2>;
};
reset: reset {
compatible = "raspberrypi,firmware-reset";
#reset-cells = <1>;
};
pwm: pwm {
compatible = "raspberrypi,firmware-poe-pwm";
#pwm-cells = <2>;
};
ts: touchscreen {
compatible = "raspberrypi,firmware-ts";
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
};
};
...