54 lines
1.8 KiB
Plaintext
54 lines
1.8 KiB
Plaintext
* Marvell EBU GPIO controller
|
|
|
|
Required properties:
|
|
|
|
- compatible : Should be "marvell,orion-gpio", "marvell,mv78200-gpio"
|
|
or "marvell,armadaxp-gpio". "marvell,orion-gpio" should be used for
|
|
Orion, Kirkwood, Dove, Discovery (except MV78200) and Armada
|
|
370. "marvell,mv78200-gpio" should be used for the Discovery
|
|
MV78200. "marvel,armadaxp-gpio" should be used for all Armada XP
|
|
SoCs (MV78230, MV78260, MV78460).
|
|
|
|
- reg: Address and length of the register set for the device. Only one
|
|
entry is expected, except for the "marvell,armadaxp-gpio" variant
|
|
for which two entries are expected: one for the general registers,
|
|
one for the per-cpu registers.
|
|
|
|
- interrupts: The list of interrupts that are used for all the pins
|
|
managed by this GPIO bank. There can be more than one interrupt
|
|
(example: 1 interrupt per 8 pins on Armada XP, which means 4
|
|
interrupts per bank of 32 GPIOs).
|
|
|
|
- interrupt-controller: identifies the node as an interrupt controller
|
|
|
|
- #interrupt-cells: specifies the number of cells needed to encode an
|
|
interrupt source. Should be two.
|
|
The first cell is the GPIO number.
|
|
The second cell is used to specify flags:
|
|
bits[3:0] trigger type and level flags:
|
|
1 = low-to-high edge triggered.
|
|
2 = high-to-low edge triggered.
|
|
4 = active high level-sensitive.
|
|
8 = active low level-sensitive.
|
|
|
|
- gpio-controller: marks the device node as a gpio controller
|
|
|
|
- ngpios: number of GPIOs this controller has
|
|
|
|
- #gpio-cells: Should be two. The first cell is the pin number. The
|
|
second cell is reserved for flags, unused at the moment.
|
|
|
|
Example:
|
|
|
|
gpio0: gpio@d0018100 {
|
|
compatible = "marvell,armadaxp-gpio";
|
|
reg = <0xd0018100 0x40>,
|
|
<0xd0018800 0x30>;
|
|
ngpios = <32>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupts = <16>, <17>, <18>, <19>;
|
|
};
|