xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/brcm,bcm6345-gpio.txt (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1Bindings for the Broadcom's brcm,bcm6345-gpio memory-mapped GPIO controllers.
2
3These bindings can be used on any BCM63xx SoC. However, BCM6338 and BCM6345
4are the only ones which don't need a pinctrl driver.
5BCM6338 have 8-bit data and dirout registers, where GPIO state can be read
6and/or written, and the direction changed from input to output.
7BCM6345 have 16-bit data and dirout registers, where GPIO state can be read
8and/or written, and the direction changed from input to output.
9
10Required properties:
11	- compatible: should be "brcm,bcm6345-gpio"
12	- reg-names: must contain
13		"dat" - data register
14		"dirout" - direction (output) register
15	- reg: address + size pairs describing the GPIO register sets;
16		order must correspond with the order of entries in reg-names
17	- #gpio-cells: must be set to 2. The first cell is the pin number and
18			the second cell is used to specify the gpio polarity:
19			0 = active high
20			1 = active low
21	- gpio-controller: Marks the device node as a gpio controller.
22
23Optional properties:
24	- native-endian: use native endian memory.
25
26Examples:
27	- BCM6338:
28	gpio: gpio-controller@fffe0407 {
29		compatible = "brcm,bcm6345-gpio";
30		reg-names = "dirout", "dat";
31		reg = <0xfffe0407 1>, <0xfffe040f 1>;
32
33		#gpio-cells = <2>;
34		gpio-controller;
35	};
36
37	- BCM6345:
38	gpio: gpio-controller@fffe0406 {
39		compatible = "brcm,bcm6345-gpio";
40		reg-names = "dirout", "dat";
41		reg = <0xfffe0406 2>, <0xfffe040a 2>;
42		native-endian;
43
44		#gpio-cells = <2>;
45		gpio-controller;
46	};
47