89 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
* Freescale MXS GPIO controller
 | 
						|
 | 
						|
The Freescale MXS GPIO controller is part of MXS PIN controller.  The
 | 
						|
GPIOs are organized in port/bank.  Each port consists of 32 GPIOs.
 | 
						|
 | 
						|
As the GPIO controller is embedded in the PIN controller and all the
 | 
						|
GPIO ports share the same IO space with PIN controller, the GPIO node
 | 
						|
will be represented as sub-nodes of MXS pinctrl node.
 | 
						|
 | 
						|
Required properties for GPIO node:
 | 
						|
- compatible : Should be "fsl,<soc>-gpio".  The supported SoCs include
 | 
						|
  imx23 and imx28.
 | 
						|
- interrupts : Should be the port interrupt shared by all 32 pins.
 | 
						|
- gpio-controller : Marks the device node as a gpio controller.
 | 
						|
- #gpio-cells : Should be two.  The first cell is the pin number and
 | 
						|
  the second cell is used to specify the gpio polarity:
 | 
						|
      0 = active high
 | 
						|
      1 = active low
 | 
						|
- interrupt-controller: Marks the device node as an interrupt controller.
 | 
						|
- #interrupt-cells : Should be 2.  The first cell is the GPIO number.
 | 
						|
  The second cell bits[3:0] is used to specify trigger type and level flags:
 | 
						|
      1 = low-to-high edge triggered.
 | 
						|
      2 = high-to-low edge triggered.
 | 
						|
      4 = active high level-sensitive.
 | 
						|
      8 = active low level-sensitive.
 | 
						|
 | 
						|
Note: Each GPIO port should have an alias correctly numbered in "aliases"
 | 
						|
node.
 | 
						|
 | 
						|
Examples:
 | 
						|
 | 
						|
aliases {
 | 
						|
	gpio0 = &gpio0;
 | 
						|
	gpio1 = &gpio1;
 | 
						|
	gpio2 = &gpio2;
 | 
						|
	gpio3 = &gpio3;
 | 
						|
	gpio4 = &gpio4;
 | 
						|
};
 | 
						|
 | 
						|
pinctrl@80018000 {
 | 
						|
	compatible = "fsl,imx28-pinctrl", "simple-bus";
 | 
						|
	reg = <0x80018000 2000>;
 | 
						|
 | 
						|
	gpio0: gpio@0 {
 | 
						|
		compatible = "fsl,imx28-gpio";
 | 
						|
		interrupts = <127>;
 | 
						|
		gpio-controller;
 | 
						|
		#gpio-cells = <2>;
 | 
						|
		interrupt-controller;
 | 
						|
		#interrupt-cells = <2>;
 | 
						|
	};
 | 
						|
 | 
						|
	gpio1: gpio@1 {
 | 
						|
		compatible = "fsl,imx28-gpio";
 | 
						|
		interrupts = <126>;
 | 
						|
		gpio-controller;
 | 
						|
		#gpio-cells = <2>;
 | 
						|
		interrupt-controller;
 | 
						|
		#interrupt-cells = <2>;
 | 
						|
	};
 | 
						|
 | 
						|
	gpio2: gpio@2 {
 | 
						|
		compatible = "fsl,imx28-gpio";
 | 
						|
		interrupts = <125>;
 | 
						|
		gpio-controller;
 | 
						|
		#gpio-cells = <2>;
 | 
						|
		interrupt-controller;
 | 
						|
		#interrupt-cells = <2>;
 | 
						|
	};
 | 
						|
 | 
						|
	gpio3: gpio@3 {
 | 
						|
		compatible = "fsl,imx28-gpio";
 | 
						|
		interrupts = <124>;
 | 
						|
		gpio-controller;
 | 
						|
		#gpio-cells = <2>;
 | 
						|
		interrupt-controller;
 | 
						|
		#interrupt-cells = <2>;
 | 
						|
	};
 | 
						|
 | 
						|
	gpio4: gpio@4 {
 | 
						|
		compatible = "fsl,imx28-gpio";
 | 
						|
		interrupts = <123>;
 | 
						|
		gpio-controller;
 | 
						|
		#gpio-cells = <2>;
 | 
						|
		interrupt-controller;
 | 
						|
		#interrupt-cells = <2>;
 | 
						|
	};
 | 
						|
};
 |