All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Álvaro Fernández Rojas" <noltari@gmail.com>
To: "Linus Walleij" <linus.walleij@linaro.org>,
	"Bartosz Golaszewski" <bgolaszewski@baylibre.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Michael Walle" <michael@walle.cc>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	bcm-kernel-feedback-list@broadcom.com,
	"Jonas Gorski" <jonas.gorski@gmail.com>,
	"Álvaro Fernández Rojas" <noltari@gmail.com>,
	"Necip Fazil Yildiran" <fazilyildiran@gmail.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 03/22] dt-bindings: improve BCM6345 GPIO binding documentation
Date: Wed, 24 Mar 2021 09:19:04 +0100	[thread overview]
Message-ID: <20210324081923.20379-4-noltari@gmail.com> (raw)
In-Reply-To: <20210324081923.20379-1-noltari@gmail.com>

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>
---
 v9: document 32-bit registers and replace gpio-controller with gpio.
 v8: introduce changes suggested by Rob Herring
 v7: new patch, splitted from pinctrl documentation

 .../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

diff --git a/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.txt b/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.txt
deleted file mode 100644
index e7853143fa42..000000000000
--- 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;
-	};
diff --git a/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml b/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml
new file mode 100644
index 000000000000..4d69f79df859
--- /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>;
+    };
-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: "Álvaro Fernández Rojas" <noltari@gmail.com>
To: "Linus Walleij" <linus.walleij@linaro.org>,
	"Bartosz Golaszewski" <bgolaszewski@baylibre.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Michael Walle" <michael@walle.cc>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	bcm-kernel-feedback-list@broadcom.com,
	"Jonas Gorski" <jonas.gorski@gmail.com>,
	"Álvaro Fernández Rojas" <noltari@gmail.com>,
	"Necip Fazil Yildiran" <fazilyildiran@gmail.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 03/22] dt-bindings: improve BCM6345 GPIO binding documentation
Date: Wed, 24 Mar 2021 09:19:04 +0100	[thread overview]
Message-ID: <20210324081923.20379-4-noltari@gmail.com> (raw)
In-Reply-To: <20210324081923.20379-1-noltari@gmail.com>

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>
---
 v9: document 32-bit registers and replace gpio-controller with gpio.
 v8: introduce changes suggested by Rob Herring
 v7: new patch, splitted from pinctrl documentation

 .../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

diff --git a/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.txt b/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.txt
deleted file mode 100644
index e7853143fa42..000000000000
--- 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;
-	};
diff --git a/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml b/Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml
new file mode 100644
index 000000000000..4d69f79df859
--- /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>;
+    };
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-03-24  8:20 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-24  8:19 [PATCH v9 00/22] pinctrl: add BCM63XX pincontrol support Álvaro Fernández Rojas
2021-03-24  8:19 ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 01/22] gpio: guard gpiochip_irqchip_add_domain() with GPIOLIB_IRQCHIP Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-26 13:14   ` Bartosz Golaszewski
2021-03-26 13:14     ` Bartosz Golaszewski
2021-03-29 10:24     ` Linus Walleij
2021-03-29 10:24       ` Linus Walleij
2021-03-24  8:19 ` [PATCH v9 02/22] gpio: regmap: set gpio_chip of_node Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-26 13:14   ` Bartosz Golaszewski
2021-03-26 13:14     ` Bartosz Golaszewski
2021-03-24  8:19 ` Álvaro Fernández Rojas [this message]
2021-03-24  8:19   ` [PATCH v9 03/22] dt-bindings: improve BCM6345 GPIO binding documentation Álvaro Fernández Rojas
2021-03-26 20:09   ` Rob Herring
2021-03-26 20:09     ` Rob Herring
2021-03-24  8:19 ` [PATCH v9 04/22] pinctrl: bcm: add bcm63xx base code Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 05/22] dt-bindings: add BCM6328 pincontroller binding documentation Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 06/22] dt-bindings: add BCM6328 GPIO sysctl " Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 07/22] pinctrl: add a pincontrol driver for BCM6328 Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 08/22] dt-bindings: add BCM6358 pincontroller binding documentation Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 09/22] dt-bindings: add BCM6358 GPIO sysctl " Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 10/22] pinctrl: add a pincontrol driver for BCM6358 Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 11/22] dt-bindings: add BCM6362 pincontroller binding documentation Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 12/22] dt-bindings: add BCM6362 GPIO sysctl " Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 13/22] pinctrl: add a pincontrol driver for BCM6362 Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 14/22] dt-bindings: add BCM6368 pincontroller binding documentation Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 15/22] dt-bindings: add BCM6368 GPIO sysctl " Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 16/22] pinctrl: add a pincontrol driver for BCM6368 Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 17/22] dt-bindings: add BCM63268 pincontroller binding documentation Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-26 20:09   ` Rob Herring
2021-03-26 20:09     ` Rob Herring
2021-03-24  8:19 ` [PATCH v9 18/22] dt-bindings: add BCM63268 GPIO sysctl " Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 19/22] pinctrl: add a pincontrol driver for BCM63268 Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 20/22] dt-bindings: add BCM6318 pincontroller binding documentation Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-26 20:10   ` Rob Herring
2021-03-26 20:10     ` Rob Herring
2021-03-24  8:19 ` [PATCH v9 21/22] dt-bindings: add BCM6318 GPIO sysctl " Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-24  8:19 ` [PATCH v9 22/22] pinctrl: add a pincontrol driver for BCM6318 Álvaro Fernández Rojas
2021-03-24  8:19   ` Álvaro Fernández Rojas
2021-03-29 10:19 ` [PATCH v9 00/22] pinctrl: add BCM63XX pincontrol support Linus Walleij
2021-03-29 10:19   ` Linus Walleij
2021-03-30  8:57   ` Álvaro Fernández Rojas
2021-03-30  8:57     ` Álvaro Fernández Rojas
2021-04-08 13:55     ` Linus Walleij
2021-04-08 13:55       ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210324081923.20379-4-noltari@gmail.com \
    --to=noltari@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=fazilyildiran@gmail.com \
    --cc=jonas.gorski@gmail.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael@walle.cc \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.