xref: /linux/Documentation/devicetree/bindings/pinctrl/microchip,mpfs-pinctrl-iomux0.yaml (revision a110f942672c8995dc1cacb5a44c6730856743aa)
1*2f0073afSConor Dooley# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*2f0073afSConor Dooley%YAML 1.2
3*2f0073afSConor Dooley---
4*2f0073afSConor Dooley$id: http://devicetree.org/schemas/pinctrl/microchip,mpfs-pinctrl-iomux0.yaml#
5*2f0073afSConor Dooley$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2f0073afSConor Dooley
7*2f0073afSConor Dooleytitle: Microchip PolarFire SoC iomux0
8*2f0073afSConor Dooley
9*2f0073afSConor Dooleymaintainers:
10*2f0073afSConor Dooley  - Conor Dooley <conor.dooley@microchip.com>
11*2f0073afSConor Dooley
12*2f0073afSConor Dooleydescription:
13*2f0073afSConor Dooley  iomux0 is responsible for routing some functions to either the FPGA fabric,
14*2f0073afSConor Dooley  or to MSSIOs. It only performs muxing, and has no IO configuration role, as
15*2f0073afSConor Dooley  fabric IOs are configured separately and just routing a function to MSSIOs is
16*2f0073afSConor Dooley  not sufficient for it to actually get mapped to an MSSIO, just makes it
17*2f0073afSConor Dooley  possible.
18*2f0073afSConor Dooley
19*2f0073afSConor Dooleyproperties:
20*2f0073afSConor Dooley  compatible:
21*2f0073afSConor Dooley    oneOf:
22*2f0073afSConor Dooley      - const: microchip,mpfs-pinctrl-iomux0
23*2f0073afSConor Dooley      - items:
24*2f0073afSConor Dooley          - const: microchip,pic64gx-pinctrl-iomux0
25*2f0073afSConor Dooley          - const: microchip,mpfs-pinctrl-iomux0
26*2f0073afSConor Dooley
27*2f0073afSConor Dooley  reg:
28*2f0073afSConor Dooley    maxItems: 1
29*2f0073afSConor Dooley
30*2f0073afSConor Dooley  pinctrl-use-default: true
31*2f0073afSConor Dooley
32*2f0073afSConor DooleypatternProperties:
33*2f0073afSConor Dooley  '^mux-':
34*2f0073afSConor Dooley    type: object
35*2f0073afSConor Dooley    $ref: pinmux-node.yaml
36*2f0073afSConor Dooley    additionalProperties: false
37*2f0073afSConor Dooley
38*2f0073afSConor Dooley    properties:
39*2f0073afSConor Dooley      function:
40*2f0073afSConor Dooley        description:
41*2f0073afSConor Dooley          A string containing the name of the function to mux to the group.
42*2f0073afSConor Dooley        enum: [ spi0, spi1, i2c0, i2c1, can0, can1, qspi, uart0, uart1, uart2,
43*2f0073afSConor Dooley                uart3, uart4, mdio0, mdio1 ]
44*2f0073afSConor Dooley
45*2f0073afSConor Dooley      groups:
46*2f0073afSConor Dooley        description:
47*2f0073afSConor Dooley          An array of strings. Each string contains the name of a group.
48*2f0073afSConor Dooley        items:
49*2f0073afSConor Dooley          enum: [ spi0_fabric, spi0_mssio, spi1_fabric, spi1_mssio, i2c0_fabric,
50*2f0073afSConor Dooley                  i2c0_mssio, i2c1_fabric, i2c1_mssio, can0_fabric, can0_mssio,
51*2f0073afSConor Dooley                  can1_fabric, can1_mssio, qspi_fabric, qspi_mssio,
52*2f0073afSConor Dooley                  uart0_fabric, uart0_mssio, uart1_fabric, uart1_mssio,
53*2f0073afSConor Dooley                  uart2_fabric, uart2_mssio, uart3_fabric, uart3_mssio,
54*2f0073afSConor Dooley                  uart4_fabric, uart4_mssio, mdio0_fabric, mdio0_mssio,
55*2f0073afSConor Dooley                  mdio1_fabric, mdio1_mssio ]
56*2f0073afSConor Dooley
57*2f0073afSConor Dooley    required:
58*2f0073afSConor Dooley      - function
59*2f0073afSConor Dooley      - groups
60*2f0073afSConor Dooley
61*2f0073afSConor Dooleyrequired:
62*2f0073afSConor Dooley  - compatible
63*2f0073afSConor Dooley  - reg
64*2f0073afSConor Dooley
65*2f0073afSConor DooleyadditionalProperties: false
66*2f0073afSConor Dooley
67*2f0073afSConor Dooleyexamples:
68*2f0073afSConor Dooley  - |
69*2f0073afSConor Dooley    soc {
70*2f0073afSConor Dooley      #size-cells = <1>;
71*2f0073afSConor Dooley      #address-cells = <1>;
72*2f0073afSConor Dooley
73*2f0073afSConor Dooley      pinctrl@200 {
74*2f0073afSConor Dooley        compatible = "microchip,mpfs-pinctrl-iomux0";
75*2f0073afSConor Dooley        reg = <0x200 0x4>;
76*2f0073afSConor Dooley
77*2f0073afSConor Dooley        mux-spi0-fabric {
78*2f0073afSConor Dooley          function = "spi0";
79*2f0073afSConor Dooley          groups = "spi0_fabric";
80*2f0073afSConor Dooley        };
81*2f0073afSConor Dooley
82*2f0073afSConor Dooley        mux-spi1-mssio {
83*2f0073afSConor Dooley          function = "spi1";
84*2f0073afSConor Dooley          groups = "spi1_mssio";
85*2f0073afSConor Dooley        };
86*2f0073afSConor Dooley      };
87*2f0073afSConor Dooley    };
88*2f0073afSConor Dooley
89*2f0073afSConor Dooley...
90