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/apple,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/apple,pinctrl.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Apple GPIO controller
    8 
    9 maintainers:
   10   - Mark Kettenis <kettenis@openbsd.org>
   11 
   12 description: |
   13   The Apple GPIO controller is a simple combined pin and GPIO
   14   controller present on Apple ARM SoC platforms, including various
   15   iPhone and iPad devices and the "Apple Silicon" Macs.
   16 
   17 properties:
   18   compatible:
   19     items:
   20       - enum:
   21           - apple,t8103-pinctrl
   22           - apple,t6000-pinctrl
   23       - const: apple,pinctrl
   24 
   25   reg:
   26     maxItems: 1
   27 
   28   clocks:
   29     maxItems: 1
   30 
   31   gpio-controller: true
   32 
   33   '#gpio-cells':
   34     const: 2
   35 
   36   gpio-ranges:
   37     maxItems: 1
   38 
   39   apple,npins:
   40     $ref: /schemas/types.yaml#/definitions/uint32
   41     description: The number of pins in this GPIO controller.
   42 
   43   interrupts:
   44     description: One interrupt for each of the (up to 7) interrupt
   45       groups supported by the controller sorted by interrupt group
   46       number in ascending order.
   47     minItems: 1
   48     maxItems: 7
   49 
   50   interrupt-controller: true
   51 
   52   '#interrupt-cells':
   53     const: 2
   54 
   55   power-domains:
   56     maxItems: 1
   57 
   58 patternProperties:
   59   '-pins$':
   60     type: object
   61     $ref: pinmux-node.yaml#
   62 
   63     properties:
   64       pinmux:
   65         description:
   66           Values are constructed from pin number and alternate function
   67           configuration number using the APPLE_PINMUX() helper macro
   68           defined in include/dt-bindings/pinctrl/apple.h.
   69 
   70     required:
   71       - pinmux
   72 
   73     additionalProperties: false
   74 
   75 allOf:
   76   - $ref: "pinctrl.yaml#"
   77 
   78 required:
   79   - compatible
   80   - reg
   81   - gpio-controller
   82   - '#gpio-cells'
   83   - gpio-ranges
   84   - apple,npins
   85 
   86 additionalProperties: false
   87 
   88 examples:
   89   - |
   90     #include <dt-bindings/interrupt-controller/apple-aic.h>
   91     #include <dt-bindings/pinctrl/apple.h>
   92 
   93     soc {
   94       #address-cells = <2>;
   95       #size-cells = <2>;
   96 
   97       pinctrl: pinctrl@23c100000 {
   98         compatible = "apple,t8103-pinctrl", "apple,pinctrl";
   99         reg = <0x2 0x3c100000 0x0 0x100000>;
  100         clocks = <&gpio_clk>;
  101 
  102         gpio-controller;
  103         #gpio-cells = <2>;
  104         gpio-ranges = <&pinctrl 0 0 212>;
  105         apple,npins = <212>;
  106 
  107         interrupt-controller;
  108         #interrupt-cells = <2>;
  109         interrupt-parent = <&aic>;
  110         interrupts = <AIC_IRQ 16 IRQ_TYPE_LEVEL_HIGH>,
  111                      <AIC_IRQ 17 IRQ_TYPE_LEVEL_HIGH>,
  112                      <AIC_IRQ 18 IRQ_TYPE_LEVEL_HIGH>,
  113                      <AIC_IRQ 19 IRQ_TYPE_LEVEL_HIGH>,
  114                      <AIC_IRQ 20 IRQ_TYPE_LEVEL_HIGH>,
  115                      <AIC_IRQ 21 IRQ_TYPE_LEVEL_HIGH>,
  116                      <AIC_IRQ 22 IRQ_TYPE_LEVEL_HIGH>;
  117 
  118         pcie_pins: pcie-pins {
  119           pinmux = <APPLE_PINMUX(150, 1)>,
  120                    <APPLE_PINMUX(151, 1)>,
  121                    <APPLE_PINMUX(32, 1)>;
  122         };
  123       };
  124     };

Cache object: ca42f18e11ff5c3fe735c8c76949a767


[ 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.