mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-08 14:13:53 +00:00
caf963efd4
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>
136 lines
3.1 KiB
YAML
136 lines
3.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6328-pinctrl.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom BCM6328 pin controller
|
|
|
|
maintainers:
|
|
- Álvaro Fernández Rojas <noltari@gmail.com>
|
|
- Jonas Gorski <jonas.gorski@gmail.com>
|
|
|
|
description:
|
|
Bindings for Broadcom's BCM6328 memory-mapped pin controller.
|
|
|
|
properties:
|
|
compatible:
|
|
const: brcm,bcm6328-pinctrl
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
type: object
|
|
$ref: pinmux-node.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
function:
|
|
enum: [ serial_led_data, serial_led_clk, inet_act_led, pcie_clkreq,
|
|
led, ephy0_act_led, ephy1_act_led, ephy2_act_led,
|
|
ephy3_act_led, hsspi_cs1, usb_device_port, usb_host_port ]
|
|
|
|
pins:
|
|
enum: [ gpio6, gpio7, gpio11, gpio16, gpio17, gpio18, gpio19,
|
|
gpio20, gpio25, gpio26, gpio27, gpio28, hsspi_cs1,
|
|
usb_port1 ]
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
$ref: '#/patternProperties/-pins$'
|
|
|
|
allOf:
|
|
- $ref: pinctrl.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
pinctrl@18 {
|
|
compatible = "brcm,bcm6328-pinctrl";
|
|
reg = <0x18 0x10>;
|
|
|
|
pinctrl_serial_led: serial_led-pins {
|
|
pinctrl_serial_led_data: serial_led_data-pins {
|
|
function = "serial_led_data";
|
|
pins = "gpio6";
|
|
};
|
|
|
|
pinctrl_serial_led_clk: serial_led_clk-pins {
|
|
function = "serial_led_clk";
|
|
pins = "gpio7";
|
|
};
|
|
};
|
|
|
|
pinctrl_inet_act_led: inet_act_led-pins {
|
|
function = "inet_act_led";
|
|
pins = "gpio11";
|
|
};
|
|
|
|
pinctrl_pcie_clkreq: pcie_clkreq-pins {
|
|
function = "pcie_clkreq";
|
|
pins = "gpio16";
|
|
};
|
|
|
|
pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
|
|
function = "led";
|
|
pins = "gpio17";
|
|
};
|
|
|
|
pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
|
|
function = "led";
|
|
pins = "gpio18";
|
|
};
|
|
|
|
pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
|
|
function = "led";
|
|
pins = "gpio19";
|
|
};
|
|
|
|
pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
|
|
function = "led";
|
|
pins = "gpio20";
|
|
};
|
|
|
|
pinctrl_ephy0_act_led: ephy0_act_led-pins {
|
|
function = "ephy0_act_led";
|
|
pins = "gpio25";
|
|
};
|
|
|
|
pinctrl_ephy1_act_led: ephy1_act_led-pins {
|
|
function = "ephy1_act_led";
|
|
pins = "gpio26";
|
|
};
|
|
|
|
pinctrl_ephy2_act_led: ephy2_act_led-pins {
|
|
function = "ephy2_act_led";
|
|
pins = "gpio27";
|
|
};
|
|
|
|
pinctrl_ephy3_act_led: ephy3_act_led-pins {
|
|
function = "ephy3_act_led";
|
|
pins = "gpio28";
|
|
};
|
|
|
|
pinctrl_hsspi_cs1: hsspi_cs1-pins {
|
|
function = "hsspi_cs1";
|
|
pins = "hsspi_cs1";
|
|
};
|
|
|
|
pinctrl_usb_port1_device: usb_port1_device-pins {
|
|
function = "usb_device_port";
|
|
pins = "usb_port1";
|
|
};
|
|
|
|
pinctrl_usb_port1_host: usb_port1_host-pins {
|
|
function = "usb_host_port";
|
|
pins = "usb_port1";
|
|
};
|
|
};
|