xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/microchip,pic64gx-pinctrl-gpio2.yaml (revision 96fb1ebd28756790597f73ad25306f58f558be97)
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