xref: /linux/Documentation/devicetree/bindings/pinctrl/microchip,pic64gx-pinctrl-gpio2.yaml (revision a110f942672c8995dc1cacb5a44c6730856743aa)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/microchip,pic64gx-pinctrl-gpio2.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip PIC64GX GPIO2 Mux
8
9maintainers:
10  - Conor Dooley <conor.dooley@microchip.com>
11
12description:
13  The "GPIO2 Mux" determines whether GPIO2 or select other functions are
14  available on package pins on PIC64GX. Some of these functions must be
15  mapped to this mux via iomux0 for settings here to have any impact.
16
17properties:
18  compatible:
19    const: microchip,pic64gx-pinctrl-gpio2
20
21  reg:
22    maxItems: 1
23
24  pinctrl-use-default: true
25
26patternProperties:
27  '^mux-':
28    type: object
29    $ref: pinmux-node.yaml
30    additionalProperties: false
31
32    properties:
33      function:
34        description:
35          A string containing the name of the function to mux to the group.
36        enum: [ mdio0, mdio1, spi0, can0, pcie, qspi, uart3, uart4, can1, uart2, gpio ]
37
38      groups:
39        description:
40          An array of strings. Each string contains the name of a group.
41        items:
42          enum: [ mdio0, mdio1, spi0, can0, pcie, qspi, uart3, uart4, can1, uart2,
43                  gpio_mdio0, gpio_mdio1, gpio_spi0, gpio_can0, gpio_pcie,
44                  gpio_qspi, gpio_uart3, gpio_uart4, gpio_can1, gpio_uart2 ]
45
46    required:
47      - function
48      - groups
49
50required:
51  - compatible
52  - reg
53
54additionalProperties: false
55
56examples:
57  - |
58    pinctrl@41000000 {
59      compatible = "microchip,pic64gx-pinctrl-gpio2";
60      reg = <0x41000000 0x4>;
61      pinctrl-use-default;
62      pinctrl-names = "default";
63      pinctrl-0 = <&mdio0_gpio2>, <&mdio1_gpio2>, <&spi0_gpio2>, <&qspi_gpio2>,
64                  <&uart3_gpio2>, <&uart4_gpio2>, <&can1_gpio2>, <&can0_gpio2>,
65                  <&uart2_gpio2>;
66
67      mux-gpio2 {
68        function = "gpio";
69        groups = "gpio_mdio1", "gpio_spi0", "gpio_can0", "gpio_pcie",
70                 "gpio_qspi", "gpio_uart3", "gpio_uart4", "gpio_can1";
71      };
72    };
73
74...
75