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>
226 lines
5.3 KiB
YAML
226 lines
5.3 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6368-pinctrl.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom BCM6368 pin controller
|
|
|
|
maintainers:
|
|
- Álvaro Fernández Rojas <noltari@gmail.com>
|
|
- Jonas Gorski <jonas.gorski@gmail.com>
|
|
|
|
description:
|
|
Bindings for Broadcom's BCM6368 memory-mapped pin controller.
|
|
|
|
properties:
|
|
compatible:
|
|
const: brcm,bcm6368-pinctrl
|
|
|
|
reg:
|
|
maxItems: 2
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
type: object
|
|
$ref: pinmux-node.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
function:
|
|
enum: [ analog_afe_0, analog_afe_1, sys_irq, serial_led_data,
|
|
serial_led_clk, inet_led, ephy0_led, ephy1_led, ephy2_led,
|
|
ephy3_led, robosw_led_data, robosw_led_clk, robosw_led0,
|
|
robosw_led1, usb_device_led, pci_req1, pci_gnt1, pci_intb,
|
|
pci_req0, pci_gnt0, pcmcia_cd1, pcmcia_cd2, pcmcia_vs1,
|
|
pcmcia_vs2, ebi_cs2, ebi_cs3, spi_cs2, spi_cs3, spi_cs4,
|
|
spi_cs5, uart1 ]
|
|
|
|
pins:
|
|
enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
|
|
gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14,
|
|
gpio16, gpio17, gpio18, gpio19, gpio20, gpio22, gpio23,
|
|
gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30,
|
|
gpio31, uart1_grp ]
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
$ref: '#/patternProperties/-pins$'
|
|
|
|
allOf:
|
|
- $ref: pinctrl.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
pinctrl@18 {
|
|
compatible = "brcm,bcm6368-pinctrl";
|
|
reg = <0x18 0x4>, <0x38 0x4>;
|
|
|
|
pinctrl_analog_afe_0: analog_afe_0-pins {
|
|
function = "analog_afe_0";
|
|
pins = "gpio0";
|
|
};
|
|
|
|
pinctrl_analog_afe_1: analog_afe_1-pins {
|
|
function = "analog_afe_1";
|
|
pins = "gpio1";
|
|
};
|
|
|
|
pinctrl_sys_irq: sys_irq-pins {
|
|
function = "sys_irq";
|
|
pins = "gpio2";
|
|
};
|
|
|
|
pinctrl_serial_led: serial_led-pins {
|
|
pinctrl_serial_led_data: serial_led_data-pins {
|
|
function = "serial_led_data";
|
|
pins = "gpio3";
|
|
};
|
|
|
|
pinctrl_serial_led_clk: serial_led_clk-pins {
|
|
function = "serial_led_clk";
|
|
pins = "gpio4";
|
|
};
|
|
};
|
|
|
|
pinctrl_inet_led: inet_led-pins {
|
|
function = "inet_led";
|
|
pins = "gpio5";
|
|
};
|
|
|
|
pinctrl_ephy0_led: ephy0_led-pins {
|
|
function = "ephy0_led";
|
|
pins = "gpio6";
|
|
};
|
|
|
|
pinctrl_ephy1_led: ephy1_led-pins {
|
|
function = "ephy1_led";
|
|
pins = "gpio7";
|
|
};
|
|
|
|
pinctrl_ephy2_led: ephy2_led-pins {
|
|
function = "ephy2_led";
|
|
pins = "gpio8";
|
|
};
|
|
|
|
pinctrl_ephy3_led: ephy3_led-pins {
|
|
function = "ephy3_led";
|
|
pins = "gpio9";
|
|
};
|
|
|
|
pinctrl_robosw_led_data: robosw_led_data-pins {
|
|
function = "robosw_led_data";
|
|
pins = "gpio10";
|
|
};
|
|
|
|
pinctrl_robosw_led_clk: robosw_led_clk-pins {
|
|
function = "robosw_led_clk";
|
|
pins = "gpio11";
|
|
};
|
|
|
|
pinctrl_robosw_led0: robosw_led0-pins {
|
|
function = "robosw_led0";
|
|
pins = "gpio12";
|
|
};
|
|
|
|
pinctrl_robosw_led1: robosw_led1-pins {
|
|
function = "robosw_led1";
|
|
pins = "gpio13";
|
|
};
|
|
|
|
pinctrl_usb_device_led: usb_device_led-pins {
|
|
function = "usb_device_led";
|
|
pins = "gpio14";
|
|
};
|
|
|
|
pinctrl_pci: pci-pins {
|
|
pinctrl_pci_req1: pci_req1-pins {
|
|
function = "pci_req1";
|
|
pins = "gpio16";
|
|
};
|
|
|
|
pinctrl_pci_gnt1: pci_gnt1-pins {
|
|
function = "pci_gnt1";
|
|
pins = "gpio17";
|
|
};
|
|
|
|
pinctrl_pci_intb: pci_intb-pins {
|
|
function = "pci_intb";
|
|
pins = "gpio18";
|
|
};
|
|
|
|
pinctrl_pci_req0: pci_req0-pins {
|
|
function = "pci_req0";
|
|
pins = "gpio19";
|
|
};
|
|
|
|
pinctrl_pci_gnt0: pci_gnt0-pins {
|
|
function = "pci_gnt0";
|
|
pins = "gpio20";
|
|
};
|
|
};
|
|
|
|
pinctrl_pcmcia: pcmcia-pins {
|
|
pinctrl_pcmcia_cd1: pcmcia_cd1-pins {
|
|
function = "pcmcia_cd1";
|
|
pins = "gpio22";
|
|
};
|
|
|
|
pinctrl_pcmcia_cd2: pcmcia_cd2-pins {
|
|
function = "pcmcia_cd2";
|
|
pins = "gpio23";
|
|
};
|
|
|
|
pinctrl_pcmcia_vs1: pcmcia_vs1-pins {
|
|
function = "pcmcia_vs1";
|
|
pins = "gpio24";
|
|
};
|
|
|
|
pinctrl_pcmcia_vs2: pcmcia_vs2-pins {
|
|
function = "pcmcia_vs2";
|
|
pins = "gpio25";
|
|
};
|
|
};
|
|
|
|
pinctrl_ebi_cs2: ebi_cs2-pins {
|
|
function = "ebi_cs2";
|
|
pins = "gpio26";
|
|
};
|
|
|
|
pinctrl_ebi_cs3: ebi_cs3-pins {
|
|
function = "ebi_cs3";
|
|
pins = "gpio27";
|
|
};
|
|
|
|
pinctrl_spi_cs2: spi_cs2-pins {
|
|
function = "spi_cs2";
|
|
pins = "gpio28";
|
|
};
|
|
|
|
pinctrl_spi_cs3: spi_cs3-pins {
|
|
function = "spi_cs3";
|
|
pins = "gpio29";
|
|
};
|
|
|
|
pinctrl_spi_cs4: spi_cs4-pins {
|
|
function = "spi_cs4";
|
|
pins = "gpio30";
|
|
};
|
|
|
|
pinctrl_spi_cs5: spi_cs5-pins {
|
|
function = "spi_cs5";
|
|
pins = "gpio31";
|
|
};
|
|
|
|
pinctrl_uart1: uart1-pins {
|
|
function = "uart1";
|
|
pins = "uart1_grp";
|
|
};
|
|
};
|