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>
215 lines
5.0 KiB
YAML
215 lines
5.0 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6362-pinctrl.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom BCM6362 pin controller
|
|
|
|
maintainers:
|
|
- Álvaro Fernández Rojas <noltari@gmail.com>
|
|
- Jonas Gorski <jonas.gorski@gmail.com>
|
|
|
|
description:
|
|
Bindings for Broadcom's BCM6362 memory-mapped pin controller.
|
|
|
|
properties:
|
|
compatible:
|
|
const: brcm,bcm6362-pinctrl
|
|
|
|
reg:
|
|
maxItems: 2
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
type: object
|
|
$ref: pinmux-node.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
function:
|
|
enum: [ usb_device_led, sys_irq, serial_led_clk, serial_led_data,
|
|
robosw_led_data, robosw_led_clk, robosw_led0, robosw_led1,
|
|
inet_led, spi_cs2, spi_cs3, ntr_pulse, uart1_scts,
|
|
uart1_srts, uart1_sdin, uart1_sdout, adsl_spi_miso,
|
|
adsl_spi_mosi, adsl_spi_clk, adsl_spi_cs, ephy0_led,
|
|
ephy1_led, ephy2_led, ephy3_led, ext_irq0, ext_irq1,
|
|
ext_irq2, ext_irq3, nand ]
|
|
|
|
pins:
|
|
enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
|
|
gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14,
|
|
gpio15, gpio16, gpio17, gpio18, gpio19, gpio20, gpio21,
|
|
gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, nand_grp ]
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
$ref: '#/patternProperties/-pins$'
|
|
|
|
allOf:
|
|
- $ref: pinctrl.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
pinctrl@18 {
|
|
compatible = "brcm,bcm6362-pinctrl";
|
|
reg = <0x18 0x10>, <0x38 0x4>;
|
|
|
|
pinctrl_usb_device_led: usb_device_led-pins {
|
|
function = "usb_device_led";
|
|
pins = "gpio0";
|
|
};
|
|
|
|
pinctrl_sys_irq: sys_irq-pins {
|
|
function = "sys_irq";
|
|
pins = "gpio1";
|
|
};
|
|
|
|
pinctrl_serial_led: serial_led-pins {
|
|
pinctrl_serial_led_clk: serial_led_clk-pins {
|
|
function = "serial_led_clk";
|
|
pins = "gpio2";
|
|
};
|
|
|
|
pinctrl_serial_led_data: serial_led_data-pins {
|
|
function = "serial_led_data";
|
|
pins = "gpio3";
|
|
};
|
|
};
|
|
|
|
pinctrl_robosw_led_data: robosw_led_data-pins {
|
|
function = "robosw_led_data";
|
|
pins = "gpio4";
|
|
};
|
|
|
|
pinctrl_robosw_led_clk: robosw_led_clk-pins {
|
|
function = "robosw_led_clk";
|
|
pins = "gpio5";
|
|
};
|
|
|
|
pinctrl_robosw_led0: robosw_led0-pins {
|
|
function = "robosw_led0";
|
|
pins = "gpio6";
|
|
};
|
|
|
|
pinctrl_robosw_led1: robosw_led1-pins {
|
|
function = "robosw_led1";
|
|
pins = "gpio7";
|
|
};
|
|
|
|
pinctrl_inet_led: inet_led-pins {
|
|
function = "inet_led";
|
|
pins = "gpio8";
|
|
};
|
|
|
|
pinctrl_spi_cs2: spi_cs2-pins {
|
|
function = "spi_cs2";
|
|
pins = "gpio9";
|
|
};
|
|
|
|
pinctrl_spi_cs3: spi_cs3-pins {
|
|
function = "spi_cs3";
|
|
pins = "gpio10";
|
|
};
|
|
|
|
pinctrl_ntr_pulse: ntr_pulse-pins {
|
|
function = "ntr_pulse";
|
|
pins = "gpio11";
|
|
};
|
|
|
|
pinctrl_uart1_scts: uart1_scts-pins {
|
|
function = "uart1_scts";
|
|
pins = "gpio12";
|
|
};
|
|
|
|
pinctrl_uart1_srts: uart1_srts-pins {
|
|
function = "uart1_srts";
|
|
pins = "gpio13";
|
|
};
|
|
|
|
pinctrl_uart1: uart1-pins {
|
|
pinctrl_uart1_sdin: uart1_sdin-pins {
|
|
function = "uart1_sdin";
|
|
pins = "gpio14";
|
|
};
|
|
|
|
pinctrl_uart1_sdout: uart1_sdout-pins {
|
|
function = "uart1_sdout";
|
|
pins = "gpio15";
|
|
};
|
|
};
|
|
|
|
pinctrl_adsl_spi: adsl_spi-pins {
|
|
pinctrl_adsl_spi_miso: adsl_spi_miso-pins {
|
|
function = "adsl_spi_miso";
|
|
pins = "gpio16";
|
|
};
|
|
|
|
pinctrl_adsl_spi_mosi: adsl_spi_mosi-pins {
|
|
function = "adsl_spi_mosi";
|
|
pins = "gpio17";
|
|
};
|
|
|
|
pinctrl_adsl_spi_clk: adsl_spi_clk-pins {
|
|
function = "adsl_spi_clk";
|
|
pins = "gpio18";
|
|
};
|
|
|
|
pinctrl_adsl_spi_cs: adsl_spi_cs-pins {
|
|
function = "adsl_spi_cs";
|
|
pins = "gpio19";
|
|
};
|
|
};
|
|
|
|
pinctrl_ephy0_led: ephy0_led-pins {
|
|
function = "ephy0_led";
|
|
pins = "gpio20";
|
|
};
|
|
|
|
pinctrl_ephy1_led: ephy1_led-pins {
|
|
function = "ephy1_led";
|
|
pins = "gpio21";
|
|
};
|
|
|
|
pinctrl_ephy2_led: ephy2_led-pins {
|
|
function = "ephy2_led";
|
|
pins = "gpio22";
|
|
};
|
|
|
|
pinctrl_ephy3_led: ephy3_led-pins {
|
|
function = "ephy3_led";
|
|
pins = "gpio23";
|
|
};
|
|
|
|
pinctrl_ext_irq0: ext_irq0-pins {
|
|
function = "ext_irq0";
|
|
pins = "gpio24";
|
|
};
|
|
|
|
pinctrl_ext_irq1: ext_irq1-pins {
|
|
function = "ext_irq1";
|
|
pins = "gpio25";
|
|
};
|
|
|
|
pinctrl_ext_irq2: ext_irq2-pins {
|
|
function = "ext_irq2";
|
|
pins = "gpio26";
|
|
};
|
|
|
|
pinctrl_ext_irq3: ext_irq3-pins {
|
|
function = "ext_irq3";
|
|
pins = "gpio27";
|
|
};
|
|
|
|
pinctrl_nand: nand-pins {
|
|
function = "nand";
|
|
pins = "nand_grp";
|
|
};
|
|
};
|