Staging
v0.8.1
https://github.com/torvalds/linux
Raw File
Tip revision: bc465aa9d045feb0e13b4a8f32cc33c1943f62d6 authored by Linus Torvalds on 22 March 2015, 23:50:21 UTC
Linux 4.0-rc5
Tip revision: bc465aa
gpio-davinci.txt
Davinci/Keystone GPIO controller bindings

Required Properties:
- compatible: should be "ti,dm6441-gpio", "ti,keystone-gpio"

- reg: Physical base address of the controller and the size of memory mapped
       registers.

- gpio-controller : Marks the device node as a gpio controller.

- #gpio-cells : Should be two.
  - first cell is the pin number
  - second cell is used to specify optional parameters (unused)

- interrupt-parent: phandle of the parent interrupt controller.

- interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are
	      supported at a time.

- ti,ngpio: The number of GPIO pins supported.

- ti,davinci-gpio-unbanked: The number of GPIOs that have an individual interrupt
		             line to processor.

The GPIO controller also acts as an interrupt controller. It uses the default
two cells specifier as described in Documentation/devicetree/bindings/
interrupt-controller/interrupts.txt.

Example:

gpio: gpio@1e26000 {
	compatible = "ti,dm6441-gpio";
	gpio-controller;
	#gpio-cells = <2>;
	reg = <0x226000 0x1000>;
	interrupt-parent = <&intc>;
	interrupts = <42 IRQ_TYPE_EDGE_BOTH 43 IRQ_TYPE_EDGE_BOTH
		44 IRQ_TYPE_EDGE_BOTH 45 IRQ_TYPE_EDGE_BOTH
		46 IRQ_TYPE_EDGE_BOTH 47 IRQ_TYPE_EDGE_BOTH
		48 IRQ_TYPE_EDGE_BOTH 49 IRQ_TYPE_EDGE_BOTH
		50 IRQ_TYPE_EDGE_BOTH>;
	ti,ngpio = <144>;
	ti,davinci-gpio-unbanked = <0>;
	interrupt-controller;
	#interrupt-cells = <2>;
};

leds {
	compatible = "gpio-leds";

	led1 {
		label = "davinci:green:usr1";
		gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
		...
	};

	led2 {
		label = "davinci:red:debug1";
		gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
		...
	};
};
back to top