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

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

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