# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/bindings/pinctrl/intel,lgm-pinctrl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Intel Lightning Mountain SoC pinmux & GPIO controller binding maintainers: - Rahul Tanwar description: | Pinmux & GPIO controller controls pin multiplexing & configuration including GPIO function selection & GPIO attributes configuration. Please refer to [1] for details of the common pinctrl bindings used by the client devices. [1] Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt properties: compatible: const: intel,lgm-io reg: maxItems: 1 # Client device subnode's properties patternProperties: '-pins$': type: object description: Pinctrl node's client devices use subnodes for desired pin configuration. Client device subnodes use below standard properties. properties: function: $ref: /schemas/types.yaml#/definitions/string description: A string containing the name of the function to mux to the group. groups: $ref: /schemas/types.yaml#/definitions/string-array description: An array of strings identifying the list of groups. pins: $ref: /schemas/types.yaml#/definitions/uint32-array description: List of pins to select with this function. pinmux: description: The applicable mux group. allOf: - $ref: "/schemas/types.yaml#/definitions/uint32-array" bias-pull-up: type: boolean bias-pull-down: type: boolean drive-strength: description: | Selects the drive strength for the specified pins in mA. 0: 2 mA 1: 4 mA 2: 8 mA 3: 12 mA allOf: - $ref: /schemas/types.yaml#/definitions/uint32 - enum: [0, 1, 2, 3] slew-rate: type: boolean description: | Sets slew rate for specified pins. 0: slow slew 1: fast slew drive-open-drain: type: boolean output-enable: type: boolean required: - function - groups additionalProperties: false required: - compatible - reg additionalProperties: false examples: # Pinmux controller node - | pinctrl: pinctrl@e2880000 { compatible = "intel,lgm-pinctrl"; reg = <0xe2880000 0x100000>; uart0-pins { pins = <64>, /* UART_RX0 */ <65>; /* UART_TX0 */ function = "CONSOLE_UART0"; pinmux = <1>, <1>; groups = "CONSOLE_UART0"; }; }; ...