About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / pinctrl / brcm,bcm2835-gpio.txt




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:37 EST.

1	Broadcom BCM2835 GPIO (and pinmux) controller
2	
3	The BCM2835 GPIO module is a combined GPIO controller, (GPIO) interrupt
4	controller, and pinmux/control device.
5	
6	Required properties:
7	- compatible: "brcm,bcm2835-gpio"
8	- reg: Should contain the physical address of the GPIO module's registers.
9	- gpio-controller: Marks the device node as a GPIO controller.
10	- #gpio-cells : Should be two. The first cell is the pin number and the
11	  second cell is used to specify optional parameters:
12	  - bit 0 specifies polarity (0 for normal, 1 for inverted)
13	- interrupts : The interrupt outputs from the controller. One interrupt per
14	  individual bank followed by the "all banks" interrupt.
15	- interrupt-controller: Marks the device node as an interrupt controller.
16	- #interrupt-cells : Should be 2.
17	  The first cell is the GPIO number.
18	  The second cell is used to specify flags:
19	    bits[3:0] trigger type and level flags:
20	      1 = low-to-high edge triggered.
21	      2 = high-to-low edge triggered.
22	      4 = active high level-sensitive.
23	      8 = active low level-sensitive.
24	    Valid combinations are 1, 2, 3, 4, 8.
25	
26	Please refer to ../gpio/gpio.txt for a general description of GPIO bindings.
27	
28	Please refer to pinctrl-bindings.txt in this directory for details of the
29	common pinctrl bindings used by client devices, including the meaning of the
30	phrase "pin configuration node".
31	
32	Each pin configuration node lists the pin(s) to which it applies, and one or
33	more of the mux function to select on those pin(s), and pull-up/down
34	configuration. Each subnode only affects those parameters that are explicitly
35	listed. In other words, a subnode that lists only a mux function implies no
36	information about any pull configuration. Similarly, a subnode that lists only
37	a pul parameter implies no information about the mux function.
38	
39	Required subnode-properties:
40	- brcm,pins: An array of cells. Each cell contains the ID of a pin. Valid IDs
41	  are the integer GPIO IDs; 0==GPIO0, 1==GPIO1, ... 53==GPIO53.
42	
43	Optional subnode-properties:
44	- brcm,function: Integer, containing the function to mux to the pin(s):
45	  0: GPIO in
46	  1: GPIO out
47	  2: alt5
48	  3: alt4
49	  4: alt0
50	  5: alt1
51	  6: alt2
52	  7: alt3
53	- brcm,pull: Integer, representing the pull-down/up to apply to the pin(s):
54	  0: none
55	  1: down
56	  2: up
57	
58	Each of brcm,function and brcm,pull may contain either a single value which
59	will be applied to all pins in brcm,pins, or 1 value for each entry in
60	brcm,pins.
61	
62	Example:
63	
64		gpio: gpio {
65			compatible = "brcm,bcm2835-gpio";
66			reg = <0x2200000 0xb4>;
67			interrupts = <2 17>, <2 19>, <2 18>, <2 20>;
68	
69			gpio-controller;
70			#gpio-cells = <2>;
71	
72			interrupt-controller;
73			#interrupt-cells = <2>;
74		};
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.