Files
linux/Documentation/devicetree/bindings/gpio/pin-control-gpio.yaml
AKASHI Takahiro 05a8a80efa gpio: dt-bindings: Add GPIO on top of generic pin control
Traditionally, firmware will provide a GPIO interface or a pin control
interface.  However, the SCMI protocol provides a generic pin control
interface and the GPIO support is built on top of that using the normal
pin control interfaces.  Potentially, other firmware will adopt a
similar generic approach in the future.

Document how to configure the GPIO device.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-03-24 13:50:30 +01:00

60 lines
1.2 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio/pin-control-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Pin control based generic GPIO controller
description:
The pin control-based GPIO will facilitate a pin controller's ability
to drive electric lines high/low and other generic properties of a
pin controller to perform general-purpose one-bit binary I/O.
maintainers:
- Dan Carpenter <dan.carpenter@linaro.org>
properties:
compatible:
const: scmi-pinctrl-gpio
gpio-controller: true
"#gpio-cells":
const: 2
gpio-line-names: true
gpio-ranges: true
ngpios: true
patternProperties:
"^.+-hog(-[0-9]+)?$":
type: object
required:
- gpio-hog
required:
- compatible
- gpio-controller
- "#gpio-cells"
- gpio-ranges
- ngpios
additionalProperties: false
examples:
- |
gpio {
compatible = "scmi-pinctrl-gpio";
gpio-controller;
#gpio-cells = <2>;
ngpios = <4>;
gpio-line-names = "gpio_5_17", "gpio_5_20", "gpio_5_22", "gpio_2_1";
gpio-ranges = <&scmi_pinctrl 0 30 4>;
pinctrl-names = "default";
pinctrl-0 = <&keys_pins>;
};