aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bmips/patches-5.10/054-v5.13-dt-bindings-improve-BCM6345-GPIO-binding-documentati.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bmips/patches-5.10/054-v5.13-dt-bindings-improve-BCM6345-GPIO-binding-documentati.patch')
-rw-r--r--target/linux/bmips/patches-5.10/054-v5.13-dt-bindings-improve-BCM6345-GPIO-binding-documentati.patch163
1 files changed, 163 insertions, 0 deletions
diff --git a/target/linux/bmips/patches-5.10/054-v5.13-dt-bindings-improve-BCM6345-GPIO-binding-documentati.patch b/target/linux/bmips/patches-5.10/054-v5.13-dt-bindings-improve-BCM6345-GPIO-binding-documentati.patch
new file mode 100644
index 0000000000..85b751df05
--- /dev/null
+++ b/target/linux/bmips/patches-5.10/054-v5.13-dt-bindings-improve-BCM6345-GPIO-binding-documentati.patch
@@ -0,0 +1,163 @@
+From fb9da17bd26552f48cda4f2f658379e7f5860691 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
+Date: Wed, 24 Mar 2021 09:19:04 +0100
+Subject: [PATCH 03/22] dt-bindings: improve BCM6345 GPIO binding documentation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Convert existing BCM6345 GPIO binding documentation to YAML and add binding
+documentation for the GPIO controller found in BCM6318, BCM6328, BCM6358,
+BCM6362, BCM6368 and BCM63268 SoCs.
+
+Co-developed-by: Jonas Gorski <jonas.gorski@gmail.com>
+Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+Reviewed-by: Rob Herring <robh@kernel.org>
+Link: https://lore.kernel.org/r/20210324081923.20379-4-noltari@gmail.com
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+---
+ .../bindings/gpio/brcm,bcm6345-gpio.txt | 46 ----------
+ .../bindings/gpio/brcm,bcm6345-gpio.yaml | 86 +++++++++++++++++++
+ 2 files changed, 86 insertions(+), 46 deletions(-)
+ delete mode 100644 Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.txt
+ create mode 100644 Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml
+
+--- a/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.txt
++++ /dev/null
+@@ -1,46 +0,0 @@
+-Bindings for the Broadcom's brcm,bcm6345-gpio memory-mapped GPIO controllers.
+-
+-These bindings can be used on any BCM63xx SoC. However, BCM6338 and BCM6345
+-are the only ones which don't need a pinctrl driver.
+-BCM6338 have 8-bit data and dirout registers, where GPIO state can be read
+-and/or written, and the direction changed from input to output.
+-BCM6345 have 16-bit data and dirout registers, where GPIO state can be read
+-and/or written, and the direction changed from input to output.
+-
+-Required properties:
+- - compatible: should be "brcm,bcm6345-gpio"
+- - reg-names: must contain
+- "dat" - data register
+- "dirout" - direction (output) register
+- - reg: address + size pairs describing the GPIO register sets;
+- order must correspond with the order of entries in reg-names
+- - #gpio-cells: must be set to 2. The first cell is the pin number and
+- the second cell is used to specify the gpio polarity:
+- 0 = active high
+- 1 = active low
+- - gpio-controller: Marks the device node as a gpio controller.
+-
+-Optional properties:
+- - native-endian: use native endian memory.
+-
+-Examples:
+- - BCM6338:
+- gpio: gpio-controller@fffe0407 {
+- compatible = "brcm,bcm6345-gpio";
+- reg-names = "dirout", "dat";
+- reg = <0xfffe0407 1>, <0xfffe040f 1>;
+-
+- #gpio-cells = <2>;
+- gpio-controller;
+- };
+-
+- - BCM6345:
+- gpio: gpio-controller@fffe0406 {
+- compatible = "brcm,bcm6345-gpio";
+- reg-names = "dirout", "dat";
+- reg = <0xfffe0406 2>, <0xfffe040a 2>;
+- native-endian;
+-
+- #gpio-cells = <2>;
+- gpio-controller;
+- };
+--- /dev/null
++++ b/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml
+@@ -0,0 +1,86 @@
++# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/gpio/brcm,bcm6345-gpio.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: Broadcom BCM6345 GPIO controller
++
++maintainers:
++ - Álvaro Fernández Rojas <noltari@gmail.com>
++ - Jonas Gorski <jonas.gorski@gmail.com>
++
++description: |+
++ Bindings for Broadcom's BCM63xx memory-mapped GPIO controllers.
++
++ These bindings can be used on any BCM63xx SoC. However, BCM6338 and BCM6345
++ are the only ones which don't need a pinctrl driver.
++
++ BCM6338 have 8-bit data and dirout registers, where GPIO state can be read
++ and/or written, and the direction changed from input to output.
++ BCM6345 have 16-bit data and dirout registers, where GPIO state can be read
++ and/or written, and the direction changed from input to output.
++ BCM6318, BCM6328, BCM6358, BCM6362, BCM6368 and BCM63268 have 32-bit data
++ and dirout registers, where GPIO state can be read and/or written, and the
++ direction changed from input to output.
++
++properties:
++ compatible:
++ enum:
++ - brcm,bcm6318-gpio
++ - brcm,bcm6328-gpio
++ - brcm,bcm6345-gpio
++ - brcm,bcm6358-gpio
++ - brcm,bcm6362-gpio
++ - brcm,bcm6368-gpio
++ - brcm,bcm63268-gpio
++
++ gpio-controller: true
++
++ "#gpio-cells":
++ const: 2
++
++ gpio-ranges:
++ maxItems: 1
++
++ native-endian: true
++
++ reg:
++ maxItems: 2
++
++ reg-names:
++ items:
++ - const: dirout
++ - const: dat
++
++required:
++ - compatible
++ - reg
++ - reg-names
++ - gpio-controller
++ - '#gpio-cells'
++
++additionalProperties: false
++
++examples:
++ - |
++ gpio@fffe0406 {
++ compatible = "brcm,bcm6345-gpio";
++ reg-names = "dirout", "dat";
++ reg = <0xfffe0406 2>, <0xfffe040a 2>;
++ native-endian;
++
++ gpio-controller;
++ #gpio-cells = <2>;
++ };
++
++ - |
++ gpio@0 {
++ compatible = "brcm,bcm63268-gpio";
++ reg-names = "dirout", "dat";
++ reg = <0x0 0x8>, <0x8 0x8>;
++
++ gpio-controller;
++ gpio-ranges = <&pinctrl 0 0 52>;
++ #gpio-cells = <2>;
++ };