1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/intel,lgm-io.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Intel Lightning Mountain SoC pinmux & GPIO controller binding
8
9maintainers:
10  - Rahul Tanwar <rahul.tanwar@linux.intel.com>
11
12description: |
13  Pinmux & GPIO controller controls pin multiplexing & configuration including
14  GPIO function selection & GPIO attributes configuration.
15
16properties:
17  compatible:
18    const: intel,lgm-io
19
20  reg:
21    maxItems: 1
22
23# Client device subnode's properties
24patternProperties:
25  '-pins$':
26    type: object
27    allOf:
28      - $ref: pincfg-node.yaml#
29      - $ref: pinmux-node.yaml#
30    description:
31      Pinctrl node's client devices use subnodes for desired pin configuration.
32      Client device subnodes use below standard properties.
33
34    properties:
35      function: true
36      groups: true
37      pins: true
38      pinmux: true
39      bias-pull-up: true
40      bias-pull-down: true
41      drive-strength: true
42      slew-rate: true
43      drive-open-drain: true
44      output-enable: true
45
46    required:
47      - function
48      - groups
49
50    additionalProperties: false
51
52required:
53  - compatible
54  - reg
55
56additionalProperties: false
57
58examples:
59  # Pinmux controller node
60  - |
61    pinctrl: pinctrl@e2880000 {
62        compatible = "intel,lgm-io";
63        reg = <0xe2880000 0x100000>;
64
65        uart0-pins {
66             pins = <64>, /* UART_RX0 */
67                    <65>; /* UART_TX0 */
68             function = "CONSOLE_UART0";
69             pinmux = <1>,
70                      <1>;
71             groups = "CONSOLE_UART0";
72          };
73    };
74
75...
76