1153df45aSSai Krishna Potthuri# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2153df45aSSai Krishna Potthuri%YAML 1.2
3153df45aSSai Krishna Potthuri---
4153df45aSSai Krishna Potthuri$id: http://devicetree.org/schemas/pinctrl/xlnx,zynq-pinctrl.yaml#
5153df45aSSai Krishna Potthuri$schema: http://devicetree.org/meta-schemas/core.yaml#
6153df45aSSai Krishna Potthuri
7153df45aSSai Krishna Potthurititle: Xilinx Zynq Pinctrl
8153df45aSSai Krishna Potthuri
9153df45aSSai Krishna Potthurimaintainers:
10*d5c421d2SMichal Simek  - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
11153df45aSSai Krishna Potthuri
12153df45aSSai Krishna Potthuridescription: |
13153df45aSSai Krishna Potthuri  Please refer to pinctrl-bindings.txt in this directory for details of the
14153df45aSSai Krishna Potthuri  common pinctrl bindings used by client devices, including the meaning of the
15153df45aSSai Krishna Potthuri  phrase "pin configuration node".
16153df45aSSai Krishna Potthuri
17153df45aSSai Krishna Potthuri  Zynq's pin configuration nodes act as a container for an arbitrary number of
18153df45aSSai Krishna Potthuri  subnodes. Each of these subnodes represents some desired configuration for a
19153df45aSSai Krishna Potthuri  pin, a group, or a list of pins or groups. This configuration can include the
20153df45aSSai Krishna Potthuri  mux function to select on those pin(s)/group(s), and various pin configuration
21153df45aSSai Krishna Potthuri  parameters, such as pull-up, slew rate, etc.
22153df45aSSai Krishna Potthuri
23153df45aSSai Krishna Potthuri  Each configuration node can consist of multiple nodes describing the pinmux and
24153df45aSSai Krishna Potthuri  pinconf options. Those nodes can be pinmux nodes or pinconf nodes.
25153df45aSSai Krishna Potthuri
26153df45aSSai Krishna Potthuri  The name of each subnode is not important; all subnodes should be enumerated
27153df45aSSai Krishna Potthuri  and processed purely based on their content.
28153df45aSSai Krishna Potthuri
29153df45aSSai Krishna Potthuriproperties:
30153df45aSSai Krishna Potthuri  compatible:
31153df45aSSai Krishna Potthuri    const: xlnx,zynq-pinctrl
32153df45aSSai Krishna Potthuri
33153df45aSSai Krishna Potthuri  reg:
34153df45aSSai Krishna Potthuri    description: Specifies the base address and size of the SLCR space.
35153df45aSSai Krishna Potthuri    maxItems: 1
36153df45aSSai Krishna Potthuri
37153df45aSSai Krishna Potthuri  syscon:
38153df45aSSai Krishna Potthuri    description:
39153df45aSSai Krishna Potthuri      phandle to the SLCR.
40153df45aSSai Krishna Potthuri
41153df45aSSai Krishna PotthuripatternProperties:
42153df45aSSai Krishna Potthuri  '^(.*-)?(default|gpio)$':
43153df45aSSai Krishna Potthuri    type: object
44153df45aSSai Krishna Potthuri    patternProperties:
45153df45aSSai Krishna Potthuri      '^mux':
46153df45aSSai Krishna Potthuri        type: object
47153df45aSSai Krishna Potthuri        description:
48153df45aSSai Krishna Potthuri          Pinctrl node's client devices use subnodes for pin muxes,
49153df45aSSai Krishna Potthuri          which in turn use below standard properties.
50153df45aSSai Krishna Potthuri        $ref: pinmux-node.yaml#
51153df45aSSai Krishna Potthuri
52153df45aSSai Krishna Potthuri        properties:
53153df45aSSai Krishna Potthuri          groups:
54153df45aSSai Krishna Potthuri            description:
55153df45aSSai Krishna Potthuri              List of groups to select (either this or "pins" must be
56153df45aSSai Krishna Potthuri              specified), available groups for this subnode.
57153df45aSSai Krishna Potthuri            items:
58153df45aSSai Krishna Potthuri              enum: [ethernet0_0_grp, ethernet1_0_grp, mdio0_0_grp,
59153df45aSSai Krishna Potthuri                     mdio1_0_grp, qspi0_0_grp, qspi1_0_grp, qspi_fbclk,
60153df45aSSai Krishna Potthuri                     qspi_cs1_grp, spi0_0_grp, spi0_1_grp, spi0_2_grp,
61153df45aSSai Krishna Potthuri                     spi0_0_ss0, spi0_0_ss1, spi0_0_ss2, spi0_1_ss0,
62153df45aSSai Krishna Potthuri                     spi0_1_ss1, spi0_1_ss2, spi0_2_ss0, spi0_2_ss1,
63153df45aSSai Krishna Potthuri                     spi0_2_ss2, spi1_0_grp, spi1_1_grp, spi1_2_grp,
64153df45aSSai Krishna Potthuri                     spi1_3_grp, spi1_0_ss0, spi1_0_ss1, spi1_0_ss2,
65153df45aSSai Krishna Potthuri                     spi1_1_ss0, spi1_1_ss1, spi1_1_ss2, spi1_2_ss0,
66153df45aSSai Krishna Potthuri                     spi1_2_ss1, spi1_2_ss2, spi1_3_ss0, spi1_3_ss1,
67153df45aSSai Krishna Potthuri                     spi1_3_ss2, sdio0_0_grp, sdio0_1_grp, sdio0_2_grp,
68153df45aSSai Krishna Potthuri                     sdio1_0_grp, sdio1_1_grp, sdio1_2_grp, sdio1_3_grp,
69153df45aSSai Krishna Potthuri                     sdio0_emio_wp, sdio0_emio_cd, sdio1_emio_wp,
70153df45aSSai Krishna Potthuri                     sdio1_emio_cd, smc0_nor, smc0_nor_cs1_grp,
71153df45aSSai Krishna Potthuri                     smc0_nor_addr25_grp, smc0_nand, can0_0_grp, can0_1_grp,
72153df45aSSai Krishna Potthuri                     can0_2_grp, can0_3_grp, can0_4_grp, can0_5_grp,
73153df45aSSai Krishna Potthuri                     can0_6_grp, can0_7_grp, can0_8_grp, can0_9_grp,
74153df45aSSai Krishna Potthuri                     can0_10_grp, can1_0_grp, can1_1_grp, can1_2_grp,
75153df45aSSai Krishna Potthuri                     can1_3_grp, can1_4_grp, can1_5_grp, can1_6_grp,
76153df45aSSai Krishna Potthuri                     can1_7_grp, can1_8_grp, can1_9_grp, can1_10_grp,
77153df45aSSai Krishna Potthuri                     can1_11_grp, uart0_0_grp, uart0_1_grp, uart0_2_grp,
78153df45aSSai Krishna Potthuri                     uart0_3_grp, uart0_4_grp, uart0_5_grp, uart0_6_grp,
79153df45aSSai Krishna Potthuri                     uart0_7_grp, uart0_8_grp, uart0_9_grp, uart0_10_grp,
80153df45aSSai Krishna Potthuri                     uart1_0_grp, uart1_1_grp, uart1_2_grp, uart1_3_grp,
81153df45aSSai Krishna Potthuri                     uart1_4_grp, uart1_5_grp, uart1_6_grp, uart1_7_grp,
82153df45aSSai Krishna Potthuri                     uart1_8_grp, uart1_9_grp, uart1_10_grp, uart1_11_grp,
83153df45aSSai Krishna Potthuri                     i2c0_0_grp, i2c0_1_grp, i2c0_2_grp, i2c0_3_grp,
84153df45aSSai Krishna Potthuri                     i2c0_4_grp, i2c0_5_grp, i2c0_6_grp, i2c0_7_grp,
85153df45aSSai Krishna Potthuri                     i2c0_8_grp, i2c0_9_grp, i2c0_10_grp, i2c1_0_grp,
86153df45aSSai Krishna Potthuri                     i2c1_1_grp, i2c1_2_grp, i2c1_3_grp, i2c1_4_grp,
87153df45aSSai Krishna Potthuri                     i2c1_5_grp, i2c1_6_grp, i2c1_7_grp, i2c1_8_grp,
88153df45aSSai Krishna Potthuri                     i2c1_9_grp, i2c1_10_grp, ttc0_0_grp, ttc0_1_grp,
89153df45aSSai Krishna Potthuri                     ttc0_2_grp, ttc1_0_grp, ttc1_1_grp, ttc1_2_grp,
90153df45aSSai Krishna Potthuri                     swdt0_0_grp, swdt0_1_grp, swdt0_2_grp, swdt0_3_grp,
91153df45aSSai Krishna Potthuri                     swdt0_4_grp, gpio0_0_grp, gpio0_1_grp, gpio0_2_grp,
92153df45aSSai Krishna Potthuri                     gpio0_3_grp, gpio0_4_grp, gpio0_5_grp, gpio0_6_grp,
93153df45aSSai Krishna Potthuri                     gpio0_7_grp, gpio0_8_grp, gpio0_9_grp, gpio0_10_grp,
94153df45aSSai Krishna Potthuri                     gpio0_11_grp, gpio0_12_grp, gpio0_13_grp, gpio0_14_grp,
95153df45aSSai Krishna Potthuri                     gpio0_15_grp, gpio0_16_grp, gpio0_17_grp, gpio0_18_grp,
96153df45aSSai Krishna Potthuri                     gpio0_19_grp, gpio0_20_grp, gpio0_21_grp, gpio0_22_grp,
97153df45aSSai Krishna Potthuri                     gpio0_23_grp, gpio0_24_grp, gpio0_25_grp, gpio0_26_grp,
98153df45aSSai Krishna Potthuri                     gpio0_27_grp, gpio0_28_grp, gpio0_29_grp, gpio0_30_grp,
99153df45aSSai Krishna Potthuri                     gpio0_31_grp, gpio0_32_grp, gpio0_33_grp, gpio0_34_grp,
100153df45aSSai Krishna Potthuri                     gpio0_35_grp, gpio0_36_grp, gpio0_37_grp, gpio0_38_grp,
101153df45aSSai Krishna Potthuri                     gpio0_39_grp, gpio0_40_grp, gpio0_41_grp, gpio0_42_grp,
102153df45aSSai Krishna Potthuri                     gpio0_43_grp, gpio0_44_grp, gpio0_45_grp, gpio0_46_grp,
103153df45aSSai Krishna Potthuri                     gpio0_47_grp, gpio0_48_grp, gpio0_49_grp, gpio0_50_grp,
104153df45aSSai Krishna Potthuri                     gpio0_51_grp, gpio0_52_grp, gpio0_53_grp, usb0_0_grp,
105153df45aSSai Krishna Potthuri                     usb1_0_grp]
106153df45aSSai Krishna Potthuri            maxItems: 54
107153df45aSSai Krishna Potthuri
108153df45aSSai Krishna Potthuri          function:
109153df45aSSai Krishna Potthuri            description:
110153df45aSSai Krishna Potthuri              Specify the alternative function to be configured for the
111153df45aSSai Krishna Potthuri              given pin groups.
112153df45aSSai Krishna Potthuri            enum: [ethernet0, ethernet1, mdio0, mdio1, qspi0, qspi1, qspi_fbclk,
113153df45aSSai Krishna Potthuri                   qspi_cs1, spi0, spi0_ss, spi1, spi1_ss, sdio0, sdio0_pc,
114153df45aSSai Krishna Potthuri                   sdio0_cd, sdio0_wp, sdio1, sdio1_pc, sdio1_cd, sdio1_wp,
115153df45aSSai Krishna Potthuri                   smc0_nor, smc0_nor_cs1, smc0_nor_addr25, smc0_nand, can0,
116153df45aSSai Krishna Potthuri                   can1, uart0, uart1, i2c0, i2c1, ttc0, ttc1, swdt0, gpio0,
117153df45aSSai Krishna Potthuri                   usb0, usb1]
118153df45aSSai Krishna Potthuri
119153df45aSSai Krishna Potthuri        required:
120153df45aSSai Krishna Potthuri          - groups
121153df45aSSai Krishna Potthuri          - function
122153df45aSSai Krishna Potthuri
123153df45aSSai Krishna Potthuri        additionalProperties: false
124153df45aSSai Krishna Potthuri
125153df45aSSai Krishna Potthuri      '^conf':
126153df45aSSai Krishna Potthuri        type: object
127153df45aSSai Krishna Potthuri        description:
128153df45aSSai Krishna Potthuri          Pinctrl node's client devices use subnodes for pin configurations,
129153df45aSSai Krishna Potthuri          which in turn use the standard properties below.
130153df45aSSai Krishna Potthuri        $ref: pincfg-node.yaml#
131153df45aSSai Krishna Potthuri
132153df45aSSai Krishna Potthuri        properties:
133153df45aSSai Krishna Potthuri          groups:
134153df45aSSai Krishna Potthuri            description:
135153df45aSSai Krishna Potthuri              List of pin groups as mentioned above.
136153df45aSSai Krishna Potthuri
137153df45aSSai Krishna Potthuri          pins:
138153df45aSSai Krishna Potthuri            description:
139153df45aSSai Krishna Potthuri              List of pin names to select in this subnode.
140153df45aSSai Krishna Potthuri            items:
141153df45aSSai Krishna Potthuri              pattern: '^MIO([0-9]|[1-4][0-9]|5[0-3])$'
142153df45aSSai Krishna Potthuri            maxItems: 54
143153df45aSSai Krishna Potthuri
144153df45aSSai Krishna Potthuri          bias-pull-up: true
145153df45aSSai Krishna Potthuri
146153df45aSSai Krishna Potthuri          bias-pull-down: true
147153df45aSSai Krishna Potthuri
148153df45aSSai Krishna Potthuri          bias-disable: true
149153df45aSSai Krishna Potthuri
150153df45aSSai Krishna Potthuri          bias-high-impedance: true
151153df45aSSai Krishna Potthuri
152153df45aSSai Krishna Potthuri          low-power-enable: true
153153df45aSSai Krishna Potthuri
154153df45aSSai Krishna Potthuri          low-power-disable: true
155153df45aSSai Krishna Potthuri
156153df45aSSai Krishna Potthuri          slew-rate:
157153df45aSSai Krishna Potthuri            enum: [0, 1]
158153df45aSSai Krishna Potthuri
159ef641c44SSai Krishna Potthuri          power-source:
160153df45aSSai Krishna Potthuri            enum: [1, 2, 3, 4]
161153df45aSSai Krishna Potthuri
162153df45aSSai Krishna Potthuri        oneOf:
163153df45aSSai Krishna Potthuri          - required: [ groups ]
164153df45aSSai Krishna Potthuri          - required: [ pins ]
165153df45aSSai Krishna Potthuri
166153df45aSSai Krishna Potthuri        additionalProperties: false
167153df45aSSai Krishna Potthuri
168153df45aSSai Krishna Potthuri    additionalProperties: false
169153df45aSSai Krishna Potthuri
170c09acbc4SRafał MiłeckiallOf:
17149cd1dd1SRob Herring  - $ref: pinctrl.yaml#
172c09acbc4SRafał Miłecki
173153df45aSSai Krishna Potthurirequired:
174153df45aSSai Krishna Potthuri  - compatible
175153df45aSSai Krishna Potthuri  - reg
176153df45aSSai Krishna Potthuri  - syscon
177153df45aSSai Krishna Potthuri
178153df45aSSai Krishna PotthuriadditionalProperties: false
179153df45aSSai Krishna Potthuri
180153df45aSSai Krishna Potthuriexamples:
181153df45aSSai Krishna Potthuri  - |
182ef641c44SSai Krishna Potthuri    #include <dt-bindings/pinctrl/pinctrl-zynq.h>
183153df45aSSai Krishna Potthuri    pinctrl0: pinctrl@700 {
184153df45aSSai Krishna Potthuri       compatible = "xlnx,zynq-pinctrl";
185153df45aSSai Krishna Potthuri       reg = <0x700 0x200>;
186153df45aSSai Krishna Potthuri       syscon = <&slcr>;
187153df45aSSai Krishna Potthuri
188153df45aSSai Krishna Potthuri       pinctrl_uart1_default: uart1-default {
189153df45aSSai Krishna Potthuri           mux {
190153df45aSSai Krishna Potthuri               groups = "uart1_10_grp";
191153df45aSSai Krishna Potthuri               function = "uart1";
192153df45aSSai Krishna Potthuri           };
193153df45aSSai Krishna Potthuri
194153df45aSSai Krishna Potthuri           conf {
195153df45aSSai Krishna Potthuri               groups = "uart1_10_grp";
196153df45aSSai Krishna Potthuri               slew-rate = <0>;
197ef641c44SSai Krishna Potthuri               power-source = <IO_STANDARD_LVCMOS18>;
198153df45aSSai Krishna Potthuri           };
199153df45aSSai Krishna Potthuri
200153df45aSSai Krishna Potthuri           conf-rx {
201153df45aSSai Krishna Potthuri               pins = "MIO49";
202153df45aSSai Krishna Potthuri               bias-high-impedance;
203153df45aSSai Krishna Potthuri           };
204153df45aSSai Krishna Potthuri
205153df45aSSai Krishna Potthuri           conf-tx {
206153df45aSSai Krishna Potthuri               pins = "MIO48";
207153df45aSSai Krishna Potthuri               bias-disable;
208153df45aSSai Krishna Potthuri           };
209153df45aSSai Krishna Potthuri       };
210153df45aSSai Krishna Potthuri    };
211153df45aSSai Krishna Potthuri
212153df45aSSai Krishna Potthuri    uart1 {
213153df45aSSai Krishna Potthuri         pinctrl-names = "default";
214153df45aSSai Krishna Potthuri         pinctrl-0 = <&pinctrl_uart1_default>;
215153df45aSSai Krishna Potthuri    };
216153df45aSSai Krishna Potthuri
217153df45aSSai Krishna Potthuri...
218