Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Freescale MXS GPIO controller
0008 
0009 maintainers:
0010   - Shawn Guo <shawnguo@kernel.org>
0011   - Anson Huang <Anson.Huang@nxp.com>
0012 
0013 description: |
0014   The Freescale MXS GPIO controller is part of MXS PIN controller.
0015   The GPIOs are organized in port/bank, each port consists of 32 GPIOs.
0016   As the GPIO controller is embedded in the PIN controller and all the
0017   GPIO ports share the same IO space with PIN controller, the GPIO node
0018   will be represented as sub-nodes of MXS pinctrl node.
0019 
0020 properties:
0021   compatible:
0022     enum:
0023       - fsl,imx23-pinctrl
0024       - fsl,imx28-pinctrl
0025 
0026   '#address-cells':
0027     const: 1
0028   '#size-cells':
0029     const: 0
0030 
0031   reg:
0032     maxItems: 1
0033 
0034 patternProperties:
0035   "gpio@[0-9]+$":
0036     type: object
0037     properties:
0038       compatible:
0039         enum:
0040           - fsl,imx23-gpio
0041           - fsl,imx28-gpio
0042 
0043       reg:
0044         maxItems: 1
0045 
0046       interrupts:
0047         description: Should be the port interrupt shared by all 32 pins.
0048         maxItems: 1
0049 
0050       interrupt-controller: true
0051 
0052       "#interrupt-cells":
0053         const: 2
0054 
0055       "#gpio-cells":
0056         const: 2
0057 
0058       gpio-controller: true
0059 
0060     required:
0061       - compatible
0062       - reg
0063       - interrupts
0064       - interrupt-controller
0065       - "#interrupt-cells"
0066       - "#gpio-cells"
0067       - gpio-controller
0068 
0069     additionalProperties: false
0070 
0071 required:
0072   - compatible
0073   - reg
0074   - '#address-cells'
0075   - '#size-cells'
0076 
0077 additionalProperties: false
0078 
0079 examples:
0080   - |
0081     pinctrl@80018000 {
0082         #address-cells = <1>;
0083         #size-cells = <0>;
0084         compatible = "fsl,imx28-pinctrl";
0085         reg = <0x80018000 0x2000>;
0086 
0087         gpio@0 {
0088                 compatible = "fsl,imx28-gpio";
0089                 reg = <0>;
0090                 interrupts = <127>;
0091                 gpio-controller;
0092                 #gpio-cells = <2>;
0093                 interrupt-controller;
0094                 #interrupt-cells = <2>;
0095         };
0096 
0097         gpio@1 {
0098                 compatible = "fsl,imx28-gpio";
0099                 reg = <1>;
0100                 interrupts = <126>;
0101                 gpio-controller;
0102                 #gpio-cells = <2>;
0103                 interrupt-controller;
0104                 #interrupt-cells = <2>;
0105         };
0106 
0107         gpio@2 {
0108                 compatible = "fsl,imx28-gpio";
0109                 reg = <2>;
0110                 interrupts = <125>;
0111                 gpio-controller;
0112                 #gpio-cells = <2>;
0113                 interrupt-controller;
0114                 #interrupt-cells = <2>;
0115         };
0116 
0117         gpio@3 {
0118                 compatible = "fsl,imx28-gpio";
0119                 reg = <3>;
0120                 interrupts = <124>;
0121                 gpio-controller;
0122                 #gpio-cells = <2>;
0123                 interrupt-controller;
0124                 #interrupt-cells = <2>;
0125         };
0126 
0127         gpio@4 {
0128                 compatible = "fsl,imx28-gpio";
0129                 reg = <4>;
0130                 interrupts = <123>;
0131                 gpio-controller;
0132                 #gpio-cells = <2>;
0133                 interrupt-controller;
0134                 #interrupt-cells = <2>;
0135         };
0136     };