| * 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>; |
| }; |
| }; |