About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / gpio / gpio-tz1090.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.

1	ImgTec TZ1090 GPIO Controller
2	
3	Required properties:
4	- compatible: Compatible property value should be "img,tz1090-gpio".
5	
6	- reg: Physical base address of the controller and length of memory mapped
7	  region.
8	
9	- #address-cells: Should be 1 (for bank subnodes)
10	
11	- #size-cells: Should be 0 (for bank subnodes)
12	
13	- Each bank of GPIOs should have a subnode to represent it.
14	
15	  Bank subnode required properties:
16	  - reg: Index of bank in the range 0 to 2.
17	
18	  - gpio-controller: Specifies that the node is a gpio controller.
19	
20	  - #gpio-cells: Should be 2. The syntax of the gpio specifier used by client
21	    nodes should have the following values.
22	       <[phandle of the gpio controller node]
23	        [gpio number within the gpio bank]
24	        [gpio flags]>
25	
26	    Values for gpio specifier:
27	    - GPIO number: a value in the range 0 to 29.
28	    - GPIO flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
29	      Only the following flags are supported:
30	        GPIO_ACTIVE_HIGH
31	        GPIO_ACTIVE_LOW
32	
33	  Bank subnode optional properties:
34	  - gpio-ranges: Mapping to pin controller pins (as described in
35	    Documentation/devicetree/bindings/gpio/gpio.txt)
36	
37	  - interrupts: Interrupt for the entire bank
38	
39	  - interrupt-controller: Specifies that the node is an interrupt controller
40	
41	  - #interrupt-cells: Should be 2. The syntax of the interrupt specifier used by
42	    client nodes should have the following values.
43	       <[phandle of the interurupt controller]
44	        [gpio number within the gpio bank]
45	        [irq flags]>
46	
47	    Values for irq specifier:
48	    - GPIO number: a value in the range 0 to 29
49	    - IRQ flags: value to describe edge and level triggering, as defined in
50	      <dt-bindings/interrupt-controller/irq.h>. Only the following flags are
51	      supported:
52	        IRQ_TYPE_EDGE_RISING
53	        IRQ_TYPE_EDGE_FALLING
54	        IRQ_TYPE_EDGE_BOTH
55	        IRQ_TYPE_LEVEL_HIGH
56	        IRQ_TYPE_LEVEL_LOW
57	
58	
59	
60	Example:
61	
62		gpios: gpio-controller@2005800 {
63			#address-cells = <1>;
64			#size-cells = <0>;
65			compatible = "img,tz1090-gpio";
66			reg = <0x02005800 0x90>;
67	
68			/* bank 0 with an interrupt */
69			gpios0: bank@0 {
70				#gpio-cells = <2>;
71				#interrupt-cells = <2>;
72				reg = <0>;
73				interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
74				gpio-controller;
75				gpio-ranges = <&pinctrl 0 0 30>;
76				interrupt-controller;
77			};
78	
79			/* bank 2 without interrupt */
80			gpios2: bank@2 {
81				#gpio-cells = <2>;
82				reg = <2>;
83				gpio-controller;
84				gpio-ranges = <&pinctrl 0 60 30>;
85			};
86		};
87	
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog