M7350/kernel/Documentation/devicetree/bindings/gpio/gpio-msm.txt
2024-09-09 08:52:07 +00:00

47 lines
1.4 KiB
Plaintext

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.