xref: /linux/Documentation/devicetree/bindings/pinctrl/microchip,mpfs-pinctrl-mssio.yaml (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
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,mpfs-pinctrl-mssio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip Polarfire SoC MSSIO pinctrl
8
9maintainers:
10  - Conor Dooley <conor.dooley@microchip.com>
11
12properties:
13  compatible:
14    oneOf:
15      - const: microchip,mpfs-pinctrl-mssio
16      - items:
17          - const: microchip,pic64gx-pinctrl-mssio
18          - const: microchip,mpfs-pinctrl-mssio
19
20  reg:
21    maxItems: 1
22
23  pinctrl-use-default: true
24
25patternProperties:
26  '-cfg$':
27    type: object
28    additionalProperties: false
29
30    patternProperties:
31      '-pins$':
32        type: object
33        additionalProperties: false
34
35        allOf:
36          - $ref: pincfg-node.yaml#
37          - $ref: pinmux-node.yaml#
38
39        properties:
40          pins:
41            description:
42              The list of IOs that properties in the pincfg node apply to.
43
44          function:
45            description:
46              A string containing the name of the function to mux for these
47              pins. The "reserved" function tristates a pin.
48            enum: [ sd, emmc, qspi, spi, usb, uart, i2c, can, mdio, misc
49                    reserved, gpio, fabric-test, tied-low, tied-high, tristate ]
50
51          bias-bus-hold: true
52          bias-disable: true
53          bias-pull-down: true
54          bias-pull-up: true
55          input-schmitt-enable: true
56          low-power-enable: true
57
58          drive-strength:
59            enum: [ 2, 4, 6, 8, 10, 12, 16, 20 ]
60
61          power-source:
62            description:
63              Which bank voltage to use. This cannot differ for pins in a
64              given bank, the whole bank uses the same voltage.
65            enum: [ 1200000, 1500000, 1800000, 2500000, 3300000 ]
66
67          microchip,clamp-diode:
68            $ref: /schemas/types.yaml#/definitions/flag
69            description:
70              Reflects the "Clamp Diode" setting in the MSS Configurator for
71              this pin. This setting controls whether or not input voltage
72              clamping should be enabled.
73
74          microchip,ibufmd:
75            $ref: /schemas/types.yaml#/definitions/uint32
76            default: 0
77            description:
78              Reflects the "IBUFMD" bits in the MSS Configurator output files
79              for this pin.
80
81        required:
82          - pins
83          - function
84          - power-source
85
86required:
87  - compatible
88  - reg
89
90additionalProperties: false
91
92examples:
93  - |
94    pinctrl@204 {
95      compatible = "microchip,mpfs-pinctrl-mssio";
96      reg = <0x204 0x7c>;
97
98      ikrd-spi1-cfg {
99        spi1-pins {
100          pins = <30>, <31>, <32>, <33>;
101          function = "spi";
102          bias-pull-up;
103          drive-strength = <8>;
104          power-source = <3300000>;
105          microchip,ibufmd = <0x1>;
106        };
107      };
108    };
109...
110