xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/gpio/gpio-adnp.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunAvionic Design N-bit GPIO expander bindings
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible: should be "ad,gpio-adnp"
5*4882a593Smuzhiyun- reg: The I2C slave address for this device.
6*4882a593Smuzhiyun- interrupts: Interrupt specifier for the controllers interrupt.
7*4882a593Smuzhiyun- #gpio-cells: Should be 2. The first cell is the GPIO number and the
8*4882a593Smuzhiyun  second cell is used to specify optional parameters:
9*4882a593Smuzhiyun  - bit 0: polarity (0: normal, 1: inverted)
10*4882a593Smuzhiyun- gpio-controller: Marks the device as a GPIO controller
11*4882a593Smuzhiyun- nr-gpios: The number of pins supported by the controller.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunThe GPIO expander can optionally be used as an interrupt controller, in
14*4882a593Smuzhiyunwhich case it uses the default two cell specifier as described in
15*4882a593SmuzhiyunDocumentation/devicetree/bindings/interrupt-controller/interrupts.txt.
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunExample:
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	gpioext: gpio-controller@41 {
20*4882a593Smuzhiyun		compatible = "ad,gpio-adnp";
21*4882a593Smuzhiyun		reg = <0x41>;
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun		interrupt-parent = <&gpio>;
24*4882a593Smuzhiyun		interrupts = <160 1>;
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun		gpio-controller;
27*4882a593Smuzhiyun		#gpio-cells = <2>;
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun		interrupt-controller;
30*4882a593Smuzhiyun		#interrupt-cells = <2>;
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun		nr-gpios = <64>;
33*4882a593Smuzhiyun	};
34