The Broadcom pinctrl bindings are incomplete for child nodes as they are missing 'unevaluatedProperties: false' to prevent unknown properties. Fixing this reveals many warnings including having grandchild nodes in some cases. Many cases in the examples use 'group' property which is undocumented and not used by the driver. As the schemas define 'pins', I assume that is the correct name except for the one case, 6358, using 'groups' which is documented. Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20231020185203.3941590-2-robh@kernel.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
98 lines
2.1 KiB
YAML
98 lines
2.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6358-pinctrl.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom BCM6358 pin controller
|
|
|
|
maintainers:
|
|
- Álvaro Fernández Rojas <noltari@gmail.com>
|
|
- Jonas Gorski <jonas.gorski@gmail.com>
|
|
|
|
description:
|
|
Bindings for Broadcom's BCM6358 memory-mapped pin controller.
|
|
|
|
properties:
|
|
compatible:
|
|
const: brcm,bcm6358-pinctrl
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
type: object
|
|
$ref: pinmux-node.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
function:
|
|
enum: [ ebi_cs, uart1, serial_led, legacy_led, led, spi_cs, utopia,
|
|
pwm_syn_clk, sys_irq ]
|
|
|
|
groups:
|
|
enum: [ ebi_cs_grp, uart1_grp, serial_led_grp, legacy_led_grp,
|
|
led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk_grp, sys_irq_grp ]
|
|
|
|
allOf:
|
|
- $ref: pinctrl.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
pinctrl@18 {
|
|
compatible = "brcm,bcm6358-pinctrl";
|
|
reg = <0x18 0x4>;
|
|
|
|
pinctrl_ebi_cs: ebi_cs-pins {
|
|
function = "ebi_cs";
|
|
groups = "ebi_cs_grp";
|
|
};
|
|
|
|
pinctrl_uart1: uart1-pins {
|
|
function = "uart1";
|
|
groups = "uart1_grp";
|
|
};
|
|
|
|
pinctrl_serial_led: serial_led-pins {
|
|
function = "serial_led";
|
|
groups = "serial_led_grp";
|
|
};
|
|
|
|
pinctrl_legacy_led: legacy_led-pins {
|
|
function = "legacy_led";
|
|
groups = "legacy_led_grp";
|
|
};
|
|
|
|
pinctrl_led: led-pins {
|
|
function = "led";
|
|
groups = "led_grp";
|
|
};
|
|
|
|
pinctrl_spi_cs_23: spi_cs-pins {
|
|
function = "spi_cs";
|
|
groups = "spi_cs_grp";
|
|
};
|
|
|
|
pinctrl_utopia: utopia-pins {
|
|
function = "utopia";
|
|
groups = "utopia_grp";
|
|
};
|
|
|
|
pinctrl_pwm_syn_clk: pwm_syn_clk-pins {
|
|
function = "pwm_syn_clk";
|
|
groups = "pwm_syn_clk_grp";
|
|
};
|
|
|
|
pinctrl_sys_irq: sys_irq-pins {
|
|
function = "sys_irq";
|
|
groups = "sys_irq_grp";
|
|
};
|
|
};
|