xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/nvidia,tegra20-gpio.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotNVIDIA Tegra GPIO controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible : "nvidia,tegra<chip>-gpio"
5*c66ec88fSEmmanuel Vadot- reg : Physical base address and length of the controller's registers.
6*c66ec88fSEmmanuel Vadot- interrupts : The interrupt outputs from the controller. For Tegra20,
7*c66ec88fSEmmanuel Vadot  there should be 7 interrupts specified, and for Tegra30, there should
8*c66ec88fSEmmanuel Vadot  be 8 interrupts specified.
9*c66ec88fSEmmanuel Vadot- #gpio-cells : Should be two. The first cell is the pin number and the
10*c66ec88fSEmmanuel Vadot  second cell is used to specify optional parameters:
11*c66ec88fSEmmanuel Vadot  - bit 0 specifies polarity (0 for normal, 1 for inverted)
12*c66ec88fSEmmanuel Vadot- gpio-controller : Marks the device node as a GPIO controller.
13*c66ec88fSEmmanuel Vadot- #interrupt-cells : Should be 2.
14*c66ec88fSEmmanuel Vadot  The first cell is the GPIO number.
15*c66ec88fSEmmanuel Vadot  The second cell is used to specify flags:
16*c66ec88fSEmmanuel Vadot    bits[3:0] trigger type and level flags:
17*c66ec88fSEmmanuel Vadot      1 = low-to-high edge triggered.
18*c66ec88fSEmmanuel Vadot      2 = high-to-low edge triggered.
19*c66ec88fSEmmanuel Vadot      4 = active high level-sensitive.
20*c66ec88fSEmmanuel Vadot      8 = active low level-sensitive.
21*c66ec88fSEmmanuel Vadot      Valid combinations are 1, 2, 3, 4, 8.
22*c66ec88fSEmmanuel Vadot- interrupt-controller : Marks the device node as an interrupt controller.
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel VadotExample:
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadotgpio: gpio@6000d000 {
27*c66ec88fSEmmanuel Vadot	compatible = "nvidia,tegra20-gpio";
28*c66ec88fSEmmanuel Vadot	reg = < 0x6000d000 0x1000 >;
29*c66ec88fSEmmanuel Vadot	interrupts = < 0 32 0x04
30*c66ec88fSEmmanuel Vadot		       0 33 0x04
31*c66ec88fSEmmanuel Vadot		       0 34 0x04
32*c66ec88fSEmmanuel Vadot		       0 35 0x04
33*c66ec88fSEmmanuel Vadot		       0 55 0x04
34*c66ec88fSEmmanuel Vadot		       0 87 0x04
35*c66ec88fSEmmanuel Vadot		       0 89 0x04 >;
36*c66ec88fSEmmanuel Vadot	#gpio-cells = <2>;
37*c66ec88fSEmmanuel Vadot	gpio-controller;
38*c66ec88fSEmmanuel Vadot	#interrupt-cells = <2>;
39*c66ec88fSEmmanuel Vadot	interrupt-controller;
40*c66ec88fSEmmanuel Vadot};
41