11ade7d1fSAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 21ade7d1fSAnson Huang%YAML 1.2 31ade7d1fSAnson Huang--- 41ade7d1fSAnson Huang$id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml# 51ade7d1fSAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml# 61ade7d1fSAnson Huang 71ade7d1fSAnson Huangtitle: Freescale MXS GPIO controller 81ade7d1fSAnson Huang 91ade7d1fSAnson Huangmaintainers: 10*e65b85ddSFabio Estevam - Shawn Guo <shawnguo@kernel.org> 111ade7d1fSAnson Huang - Anson Huang <Anson.Huang@nxp.com> 121ade7d1fSAnson Huang 131ade7d1fSAnson Huangdescription: | 141ade7d1fSAnson Huang The Freescale MXS GPIO controller is part of MXS PIN controller. 151ade7d1fSAnson Huang The GPIOs are organized in port/bank, each port consists of 32 GPIOs. 161ade7d1fSAnson Huang As the GPIO controller is embedded in the PIN controller and all the 171ade7d1fSAnson Huang GPIO ports share the same IO space with PIN controller, the GPIO node 181ade7d1fSAnson Huang will be represented as sub-nodes of MXS pinctrl node. 191ade7d1fSAnson Huang 201ade7d1fSAnson Huangproperties: 211ade7d1fSAnson Huang compatible: 221ade7d1fSAnson Huang enum: 231ade7d1fSAnson Huang - fsl,imx23-pinctrl 241ade7d1fSAnson Huang - fsl,imx28-pinctrl 251ade7d1fSAnson Huang 261ade7d1fSAnson Huang '#address-cells': 271ade7d1fSAnson Huang const: 1 281ade7d1fSAnson Huang '#size-cells': 291ade7d1fSAnson Huang const: 0 301ade7d1fSAnson Huang 311ade7d1fSAnson Huang reg: 321ade7d1fSAnson Huang maxItems: 1 331ade7d1fSAnson Huang 341ade7d1fSAnson HuangpatternProperties: 351ade7d1fSAnson Huang "gpio@[0-9]+$": 361ade7d1fSAnson Huang type: object 371ade7d1fSAnson Huang properties: 381ade7d1fSAnson Huang compatible: 391ade7d1fSAnson Huang enum: 401ade7d1fSAnson Huang - fsl,imx23-gpio 411ade7d1fSAnson Huang - fsl,imx28-gpio 421ade7d1fSAnson Huang 431ade7d1fSAnson Huang reg: 441ade7d1fSAnson Huang maxItems: 1 451ade7d1fSAnson Huang 461ade7d1fSAnson Huang interrupts: 471ade7d1fSAnson Huang description: Should be the port interrupt shared by all 32 pins. 481ade7d1fSAnson Huang maxItems: 1 491ade7d1fSAnson Huang 501ade7d1fSAnson Huang interrupt-controller: true 511ade7d1fSAnson Huang 521ade7d1fSAnson Huang "#interrupt-cells": 531ade7d1fSAnson Huang const: 2 541ade7d1fSAnson Huang 551ade7d1fSAnson Huang "#gpio-cells": 561ade7d1fSAnson Huang const: 2 571ade7d1fSAnson Huang 581ade7d1fSAnson Huang gpio-controller: true 591ade7d1fSAnson Huang 601ade7d1fSAnson Huang required: 611ade7d1fSAnson Huang - compatible 621ade7d1fSAnson Huang - reg 631ade7d1fSAnson Huang - interrupts 641ade7d1fSAnson Huang - interrupt-controller 651ade7d1fSAnson Huang - "#interrupt-cells" 661ade7d1fSAnson Huang - "#gpio-cells" 671ade7d1fSAnson Huang - gpio-controller 681ade7d1fSAnson Huang 691ade7d1fSAnson Huang additionalProperties: false 701ade7d1fSAnson Huang 711ade7d1fSAnson Huangrequired: 721ade7d1fSAnson Huang - compatible 731ade7d1fSAnson Huang - reg 741ade7d1fSAnson Huang - '#address-cells' 751ade7d1fSAnson Huang - '#size-cells' 761ade7d1fSAnson Huang 771ade7d1fSAnson HuangadditionalProperties: false 781ade7d1fSAnson Huang 791ade7d1fSAnson Huangexamples: 801ade7d1fSAnson Huang - | 811ade7d1fSAnson Huang pinctrl@80018000 { 821ade7d1fSAnson Huang #address-cells = <1>; 831ade7d1fSAnson Huang #size-cells = <0>; 841ade7d1fSAnson Huang compatible = "fsl,imx28-pinctrl"; 851ade7d1fSAnson Huang reg = <0x80018000 0x2000>; 861ade7d1fSAnson Huang 871ade7d1fSAnson Huang gpio@0 { 881ade7d1fSAnson Huang compatible = "fsl,imx28-gpio"; 891ade7d1fSAnson Huang reg = <0>; 901ade7d1fSAnson Huang interrupts = <127>; 911ade7d1fSAnson Huang gpio-controller; 921ade7d1fSAnson Huang #gpio-cells = <2>; 931ade7d1fSAnson Huang interrupt-controller; 941ade7d1fSAnson Huang #interrupt-cells = <2>; 951ade7d1fSAnson Huang }; 961ade7d1fSAnson Huang 971ade7d1fSAnson Huang gpio@1 { 981ade7d1fSAnson Huang compatible = "fsl,imx28-gpio"; 991ade7d1fSAnson Huang reg = <1>; 1001ade7d1fSAnson Huang interrupts = <126>; 1011ade7d1fSAnson Huang gpio-controller; 1021ade7d1fSAnson Huang #gpio-cells = <2>; 1031ade7d1fSAnson Huang interrupt-controller; 1041ade7d1fSAnson Huang #interrupt-cells = <2>; 1051ade7d1fSAnson Huang }; 1061ade7d1fSAnson Huang 1071ade7d1fSAnson Huang gpio@2 { 1081ade7d1fSAnson Huang compatible = "fsl,imx28-gpio"; 1091ade7d1fSAnson Huang reg = <2>; 1101ade7d1fSAnson Huang interrupts = <125>; 1111ade7d1fSAnson Huang gpio-controller; 1121ade7d1fSAnson Huang #gpio-cells = <2>; 1131ade7d1fSAnson Huang interrupt-controller; 1141ade7d1fSAnson Huang #interrupt-cells = <2>; 1151ade7d1fSAnson Huang }; 1161ade7d1fSAnson Huang 1171ade7d1fSAnson Huang gpio@3 { 1181ade7d1fSAnson Huang compatible = "fsl,imx28-gpio"; 1191ade7d1fSAnson Huang reg = <3>; 1201ade7d1fSAnson Huang interrupts = <124>; 1211ade7d1fSAnson Huang gpio-controller; 1221ade7d1fSAnson Huang #gpio-cells = <2>; 1231ade7d1fSAnson Huang interrupt-controller; 1241ade7d1fSAnson Huang #interrupt-cells = <2>; 1251ade7d1fSAnson Huang }; 1261ade7d1fSAnson Huang 1271ade7d1fSAnson Huang gpio@4 { 1281ade7d1fSAnson Huang compatible = "fsl,imx28-gpio"; 1291ade7d1fSAnson Huang reg = <4>; 1301ade7d1fSAnson Huang interrupts = <123>; 1311ade7d1fSAnson Huang gpio-controller; 1321ade7d1fSAnson Huang #gpio-cells = <2>; 1331ade7d1fSAnson Huang interrupt-controller; 1341ade7d1fSAnson Huang #interrupt-cells = <2>; 1351ade7d1fSAnson Huang }; 1361ade7d1fSAnson Huang }; 137