brintos

brintos / linux-shallow public Read only

0
0
Text · 7.7 KiB · de6c10b Raw
218 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/pinctrl/xlnx,pinctrl-zynq.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Xilinx Zynq Pinctrl8 9maintainers:10  - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>11 12description: |13  Please refer to pinctrl-bindings.txt in this directory for details of the14  common pinctrl bindings used by client devices, including the meaning of the15  phrase "pin configuration node".16 17  Zynq's pin configuration nodes act as a container for an arbitrary number of18  subnodes. Each of these subnodes represents some desired configuration for a19  pin, a group, or a list of pins or groups. This configuration can include the20  mux function to select on those pin(s)/group(s), and various pin configuration21  parameters, such as pull-up, slew rate, etc.22 23  Each configuration node can consist of multiple nodes describing the pinmux and24  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 enumerated27  and processed purely based on their content.28 29properties:30  compatible:31    const: xlnx,pinctrl-zynq32 33  reg:34    description: Specifies the base address and size of the SLCR space.35    maxItems: 136 37  syscon:38    description:39      phandle to the SLCR.40 41patternProperties:42  '^(.*-)?(default|gpio-grp)$':43    type: object44    patternProperties:45      '^mux':46        type: object47        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 be56              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: 54107 108          function:109            description:110              Specify the alternative function to be configured for the111              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          - groups121          - function122 123        additionalProperties: false124 125      '^conf':126        type: object127        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: 54143 144          bias-pull-up: true145 146          bias-pull-down: true147 148          bias-disable: true149 150          bias-high-impedance: true151 152          low-power-enable: true153 154          low-power-disable: true155 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: false167 168    additionalProperties: false169 170allOf:171  - $ref: pinctrl.yaml#172 173required:174  - compatible175  - reg176  - syscon177 178additionalProperties: false179 180examples: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...218