~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/xlnx,pinctrl-zynq.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/pinctrl/xlnx,pinctrl-zynq.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Xilinx Zynq Pinctrl
  8 
  9 maintainers:
 10   - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
 11 
 12 description: |
 13   Please refer to pinctrl-bindings.txt in this directory for details of the
 14   common pinctrl bindings used by client devices, including the meaning of the
 15   phrase "pin configuration node".
 16 
 17   Zynq's pin configuration nodes act as a container for an arbitrary number of
 18   subnodes. Each of these subnodes represents some desired configuration for a
 19   pin, a group, or a list of pins or groups. This configuration can include the
 20   mux function to select on those pin(s)/group(s), and various pin configuration
 21   parameters, such as pull-up, slew rate, etc.
 22 
 23   Each configuration node can consist of multiple nodes describing the pinmux and
 24   pinconf options. Those nodes can be pinmux nodes or pinconf nodes.
 25 
 26   The name of each subnode is not important; all subnodes should be enumerated
 27   and processed purely based on their content.
 28 
 29 properties:
 30   compatible:
 31     const: xlnx,pinctrl-zynq
 32 
 33   reg:
 34     description: Specifies the base address and size of the SLCR space.
 35     maxItems: 1
 36 
 37   syscon:
 38     description:
 39       phandle to the SLCR.
 40 
 41 patternProperties:
 42   '^(.*-)?(default|gpio-grp)$':
 43     type: object
 44     patternProperties:
 45       '^mux':
 46         type: object
 47         description:
 48           Pinctrl node's client devices use subnodes for pin muxes,
 49           which in turn use below standard properties.
 50         $ref: pinmux-node.yaml#
 51 
 52         properties:
 53           groups:
 54             description:
 55               List of groups to select (either this or "pins" must be
 56               specified), available groups for this subnode.
 57             items:
 58               enum: [ethernet0_0_grp, ethernet1_0_grp, mdio0_0_grp,
 59                      mdio1_0_grp, qspi0_0_grp, qspi1_0_grp, qspi_fbclk,
 60                      qspi_cs1_grp, spi0_0_grp, spi0_1_grp, spi0_2_grp,
 61                      spi0_0_ss0, spi0_0_ss1, spi0_0_ss2, spi0_1_ss0,
 62                      spi0_1_ss1, spi0_1_ss2, spi0_2_ss0, spi0_2_ss1,
 63                      spi0_2_ss2, spi1_0_grp, spi1_1_grp, spi1_2_grp,
 64                      spi1_3_grp, spi1_0_ss0, spi1_0_ss1, spi1_0_ss2,
 65                      spi1_1_ss0, spi1_1_ss1, spi1_1_ss2, spi1_2_ss0,
 66                      spi1_2_ss1, spi1_2_ss2, spi1_3_ss0, spi1_3_ss1,
 67                      spi1_3_ss2, sdio0_0_grp, sdio0_1_grp, sdio0_2_grp,
 68                      sdio1_0_grp, sdio1_1_grp, sdio1_2_grp, sdio1_3_grp,
 69                      sdio0_emio_wp, sdio0_emio_cd, sdio1_emio_wp,
 70                      sdio1_emio_cd, smc0_nor, smc0_nor_cs1_grp,
 71                      smc0_nor_addr25_grp, smc0_nand, can0_0_grp, can0_1_grp,
 72                      can0_2_grp, can0_3_grp, can0_4_grp, can0_5_grp,
 73                      can0_6_grp, can0_7_grp, can0_8_grp, can0_9_grp,
 74                      can0_10_grp, can1_0_grp, can1_1_grp, can1_2_grp,
 75                      can1_3_grp, can1_4_grp, can1_5_grp, can1_6_grp,
 76                      can1_7_grp, can1_8_grp, can1_9_grp, can1_10_grp,
 77                      can1_11_grp, uart0_0_grp, uart0_1_grp, uart0_2_grp,
 78                      uart0_3_grp, uart0_4_grp, uart0_5_grp, uart0_6_grp,
 79                      uart0_7_grp, uart0_8_grp, uart0_9_grp, uart0_10_grp,
 80                      uart1_0_grp, uart1_1_grp, uart1_2_grp, uart1_3_grp,
 81                      uart1_4_grp, uart1_5_grp, uart1_6_grp, uart1_7_grp,
 82                      uart1_8_grp, uart1_9_grp, uart1_10_grp, uart1_11_grp,
 83                      i2c0_0_grp, i2c0_1_grp, i2c0_2_grp, i2c0_3_grp,
 84                      i2c0_4_grp, i2c0_5_grp, i2c0_6_grp, i2c0_7_grp,
 85                      i2c0_8_grp, i2c0_9_grp, i2c0_10_grp, i2c1_0_grp,
 86                      i2c1_1_grp, i2c1_2_grp, i2c1_3_grp, i2c1_4_grp,
 87                      i2c1_5_grp, i2c1_6_grp, i2c1_7_grp, i2c1_8_grp,
 88                      i2c1_9_grp, i2c1_10_grp, ttc0_0_grp, ttc0_1_grp,
 89                      ttc0_2_grp, ttc1_0_grp, ttc1_1_grp, ttc1_2_grp,
 90                      swdt0_0_grp, swdt0_1_grp, swdt0_2_grp, swdt0_3_grp,
 91                      swdt0_4_grp, gpio0_0_grp, gpio0_1_grp, gpio0_2_grp,
 92                      gpio0_3_grp, gpio0_4_grp, gpio0_5_grp, gpio0_6_grp,
 93                      gpio0_7_grp, gpio0_8_grp, gpio0_9_grp, gpio0_10_grp,
 94                      gpio0_11_grp, gpio0_12_grp, gpio0_13_grp, gpio0_14_grp,
 95                      gpio0_15_grp, gpio0_16_grp, gpio0_17_grp, gpio0_18_grp,
 96                      gpio0_19_grp, gpio0_20_grp, gpio0_21_grp, gpio0_22_grp,
 97                      gpio0_23_grp, gpio0_24_grp, gpio0_25_grp, gpio0_26_grp,
 98                      gpio0_27_grp, gpio0_28_grp, gpio0_29_grp, gpio0_30_grp,
 99                      gpio0_31_grp, gpio0_32_grp, gpio0_33_grp, gpio0_34_grp,
100                      gpio0_35_grp, gpio0_36_grp, gpio0_37_grp, gpio0_38_grp,
101                      gpio0_39_grp, gpio0_40_grp, gpio0_41_grp, gpio0_42_grp,
102                      gpio0_43_grp, gpio0_44_grp, gpio0_45_grp, gpio0_46_grp,
103                      gpio0_47_grp, gpio0_48_grp, gpio0_49_grp, gpio0_50_grp,
104                      gpio0_51_grp, gpio0_52_grp, gpio0_53_grp, usb0_0_grp,
105                      usb1_0_grp]
106             maxItems: 54
107 
108           function:
109             description:
110               Specify the alternative function to be configured for the
111               given pin groups.
112             enum: [ethernet0, ethernet1, mdio0, mdio1, qspi0, qspi1, qspi_fbclk,
113                    qspi_cs1, spi0, spi0_ss, spi1, spi1_ss, sdio0, sdio0_pc,
114                    sdio0_cd, sdio0_wp, sdio1, sdio1_pc, sdio1_cd, sdio1_wp,
115                    smc0_nor, smc0_nor_cs1, smc0_nor_addr25, smc0_nand, can0,
116                    can1, uart0, uart1, i2c0, i2c1, ttc0, ttc1, swdt0, gpio0,
117                    usb0, usb1]
118 
119         required:
120           - groups
121           - function
122 
123         additionalProperties: false
124 
125       '^conf':
126         type: object
127         description:
128           Pinctrl node's client devices use subnodes for pin configurations,
129           which in turn use the standard properties below.
130         $ref: pincfg-node.yaml#
131 
132         properties:
133           groups:
134             description:
135               List of pin groups as mentioned above.
136 
137           pins:
138             description:
139               List of pin names to select in this subnode.
140             items:
141               pattern: '^MIO([0-9]|[1-4][0-9]|5[0-3])$'
142             maxItems: 54
143 
144           bias-pull-up: true
145 
146           bias-pull-down: true
147 
148           bias-disable: true
149 
150           bias-high-impedance: true
151 
152           low-power-enable: true
153 
154           low-power-disable: true
155 
156           slew-rate:
157             enum: [0, 1]
158 
159           power-source:
160             enum: [1, 2, 3, 4]
161 
162         oneOf:
163           - required: [ groups ]
164           - required: [ pins ]
165 
166         additionalProperties: false
167 
168     additionalProperties: false
169 
170 allOf:
171   - $ref: pinctrl.yaml#
172 
173 required:
174   - compatible
175   - reg
176   - syscon
177 
178 additionalProperties: false
179 
180 examples:
181   - |
182     #include <dt-bindings/pinctrl/pinctrl-zynq.h>
183     pinctrl0: pinctrl@700 {
184        compatible = "xlnx,pinctrl-zynq";
185        reg = <0x700 0x200>;
186        syscon = <&slcr>;
187 
188        pinctrl_uart1_default: uart1-default {
189            mux {
190                groups = "uart1_10_grp";
191                function = "uart1";
192            };
193 
194            conf {
195                groups = "uart1_10_grp";
196                slew-rate = <0>;
197                power-source = <IO_STANDARD_LVCMOS18>;
198            };
199 
200            conf-rx {
201                pins = "MIO49";
202                bias-high-impedance;
203            };
204 
205            conf-tx {
206                pins = "MIO48";
207                bias-disable;
208            };
209        };
210     };
211 
212     uart1 {
213          pinctrl-names = "default";
214          pinctrl-0 = <&pinctrl_uart1_default>;
215     };
216 
217 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php