mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-04 18:49:41 +00:00

Unlike the other child nodes of the raspberrypi,bcm2835-firmware device, the gpio child is documented in a legacy text-based binding in gpio/raspberrypi,firmware-gpio.txt. This causes DT validation failures: arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb: 'gpio' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/arm/bcm/raspberrypi,bcm2835-firmware.yaml# Convert the binding to YAML and move it to raspberrypi,bcm2835-firmware.yaml. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Stefan Wahren <wahrenst@gmx.net> Tested-by: Ivan T. Ivanov <iivanov@suse.de> Link: https://lore.kernel.org/r/20240326195807.15163-2-laurent.pinchart@ideasonboard.com Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
140 lines
2.7 KiB
YAML
140 lines
2.7 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
|
|
|
|
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"
|
|
|
|
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"
|
|
|
|
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>;
|
|
};
|
|
};
|
|
...
|