mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
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>
60 lines
1.2 KiB
YAML
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>;
|
|
};
|