The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/pinctrl/xlnx,zynq-pinctrl.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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,zynq-pinctrl.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Xilinx Zynq Pinctrl
    8 
    9 maintainers:
   10   - Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.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,zynq-pinctrl
   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)$':
   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,zynq-pinctrl";
  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 ...

Cache object: 7f08bc3431538bcd759f1baa5db93754


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.