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