xref: /linux/Documentation/devicetree/bindings/pinctrl/pinctrl-multiplexer.yaml (revision 53c7db5c1916afcecc8683ae01ff8415c708a883)
1*9e5e1de6SFrank Li# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*9e5e1de6SFrank Li%YAML 1.2
3*9e5e1de6SFrank Li---
4*9e5e1de6SFrank Li$id: http://devicetree.org/schemas/pinctrl/pinctrl-multiplexer.yaml#
5*9e5e1de6SFrank Li$schema: http://devicetree.org/meta-schemas/core.yaml#
6*9e5e1de6SFrank Li
7*9e5e1de6SFrank Lititle: Generic pinctrl device for on-board MUX Chips
8*9e5e1de6SFrank Li
9*9e5e1de6SFrank Limaintainers:
10*9e5e1de6SFrank Li  - Frank Li <Frank.Li@nxp.com>
11*9e5e1de6SFrank Li
12*9e5e1de6SFrank Lidescription:
13*9e5e1de6SFrank Li  Generic pinctrl device for on-board MUX Chips, which switch SoC signals
14*9e5e1de6SFrank Li  between different peripherals (e.g. MMC and UART).
15*9e5e1de6SFrank Li
16*9e5e1de6SFrank Li  The MUX select lines are often driven by a I2C GPIO expander.
17*9e5e1de6SFrank Li
18*9e5e1de6SFrank Liproperties:
19*9e5e1de6SFrank Li  compatible:
20*9e5e1de6SFrank Li    const: pinctrl-multiplexer
21*9e5e1de6SFrank Li
22*9e5e1de6SFrank LipatternProperties:
23*9e5e1de6SFrank Li  '-grp$':
24*9e5e1de6SFrank Li    type: object
25*9e5e1de6SFrank Li    additionalProperties: false
26*9e5e1de6SFrank Li    properties:
27*9e5e1de6SFrank Li      mux-states:
28*9e5e1de6SFrank Li        maxItems: 1
29*9e5e1de6SFrank Li
30*9e5e1de6SFrank Li    required:
31*9e5e1de6SFrank Li      - mux-states
32*9e5e1de6SFrank Li
33*9e5e1de6SFrank Lirequired:
34*9e5e1de6SFrank Li  - compatible
35*9e5e1de6SFrank Li
36*9e5e1de6SFrank LiallOf:
37*9e5e1de6SFrank Li  - $ref: pinctrl.yaml#
38*9e5e1de6SFrank Li
39*9e5e1de6SFrank LiunevaluatedProperties: false
40*9e5e1de6SFrank Li
41*9e5e1de6SFrank Liexamples:
42*9e5e1de6SFrank Li  - |
43*9e5e1de6SFrank Li    pinctrl-mux {
44*9e5e1de6SFrank Li        compatible = "pinctrl-multiplexer";
45*9e5e1de6SFrank Li
46*9e5e1de6SFrank Li        uart-grp {
47*9e5e1de6SFrank Li            mux-states = <&mux 0>;
48*9e5e1de6SFrank Li        };
49*9e5e1de6SFrank Li
50*9e5e1de6SFrank Li        spi-grp {
51*9e5e1de6SFrank Li            mux-states = <&mux 1>;
52*9e5e1de6SFrank Li        };
53*9e5e1de6SFrank Li
54*9e5e1de6SFrank Li        i2c-grp {
55*9e5e1de6SFrank Li            mux-states = <&mux 2>;
56*9e5e1de6SFrank Li        };
57*9e5e1de6SFrank Li    };
58