[RFC 4/4] dt-bindings: gpio: Add bindings for SCMI pinctrl based gpio

From: AKASHI Takahiro
Date: Sun Oct 01 2023 - 22:17:43 EST


A dt binding for SCMI pinctrl based gpio driver is defined in this
commit. It basically conforms to generic pinctrl-gpio mapping framework.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx>
---
.../bindings/gpio/arm,scmi-gpio.yaml | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/arm,scmi-gpio.yaml

diff --git a/Documentation/devicetree/bindings/gpio/arm,scmi-gpio.yaml b/Documentation/devicetree/bindings/gpio/arm,scmi-gpio.yaml
new file mode 100644
index 000000000000..2601c5594567
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/arm,scmi-gpio.yaml
@@ -0,0 +1,71 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/arm,scmi-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SCMI pinctrl based generic GPIO controller
+
+maintainers:
+ - AKASHI Takahiro <akashi.takahiro@xxxxxxxxxx>
+
+properties:
+ $nodename:
+ pattern: "^scmi_gpio(@[0-9a-f]+)$"
+
+ compatible:
+ const: arm,scmi-gpio-generic
+
+ gpio-controller: true
+
+ "#gpio-cells":
+ const: 2
+
+ gpio-ranges: true
+
+ gpio-ranges-group-names: true
+
+patternProperties:
+ "^.+-hog(-[0-9]+)?$":
+ type: object
+ properties:
+ gpio-hog: true
+ gpios: true
+ input: true
+ output-high: true
+ output-low: true
+ line-name: true
+
+ required:
+ - gpio-hog
+ - gpios
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - gpio-controller
+ - "#gpio-cells"
+ - gpio-ranges
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ scmi_gpio_0: scmi_gpio@0 {
+ compatible = "arm,scmi-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&scmi_pinctrl 0 10 5>,
+ <&scmi_pinctrl 5 0 0>;
+ gpio-ranges-group-names = "",
+ "pinmux_gpio";
+ };
+
+ // Consumer:
+ sdhci0_pwrseq {
+ compatible = "mmc-pwrseq-emmc";
+ reset-gpios = <&scmi_gpio_0 0 GPIO_ACTIVE_LOW>;
+ };
--
2.34.1