| MSM GPIO controller bindings |
| |
| Required properties: |
| - compatible: |
| - "qcom,msm-gpio" for MSM controllers |
| - #gpio-cells : Should be two. |
| - first cell is the pin number |
| - second cell is used to specify optional parameters (unused) |
| - gpio-controller : Marks the device node as a GPIO controller. |
| - #interrupt-cells : Should be 2. |
| - interrupt-controller: Mark the device node as an interrupt controller |
| - interrupts : Specify the TLMM summary interrupt number |
| - ngpio : Specify the number of MSM GPIOs |
| - qcom,direct-connect-irqs : Specifies the number of GPIOs that can be used as |
| direct connect interrupts |
| |
| Example: |
| |
| msmgpio: gpio@fd510000 { |
| compatible = "qcom,msm-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0xfd510000 0x4000>; |
| interrupts = <0 208 0>; |
| ngpio = <150>; |
| qcom,direct-connect-irqs = <8>; |
| }; |
| |
| To specify gpios for a device: |
| |
| device1@f991f000 { |
| compatible = "qcom,msm-device-v1"; |
| reg = <0xf991f000 0x1000>; |
| gpios = <&msmgpio 45 0>; |
| cs-gpios = <&msmgpio 46 0>; |
| }; |
| |
| 45, 46 - gpio numbers. |
| The driver for device1 can call of_get_gpio() to extract the |
| gpio45. In order to extract gpio46, the driver needs to call |
| of_get_named_gpio with "cs-gpios" as the name parameter. |
| Please refer to the file: include/linux/of_gpio.h for the |
| complete list of APIs the driver can use to extract gpio |
| information from the device tree. |