overlays: mcp23017: Add option for not connecting the int GPIO
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Thu, 5 Sep 2019 16:41:46 +0000 (17:41 +0100)
committerPhil Elwell <pelwell@users.noreply.github.com>
Fri, 6 Sep 2019 13:48:52 +0000 (14:48 +0100)
The interrupt GPIO is optional to the driver, therefore add an
option to not configure it.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
arch/arm/boot/dts/overlays/README
arch/arm/boot/dts/overlays/mcp23017-overlay.dts

index 022972b..9154612 100644 (file)
@@ -1427,6 +1427,7 @@ Params: gpiopin                 Gpio pin connected to the INTA output of the
         addr                    I2C address of the MCP23017 (default: 0x20)
 
         mcp23008                Configure an MCP23008 instead.
+        noints                  Disable the interrupt GPIO line.
 
 
 Name:   mcp23s17
index b5148ba..16af971 100644 (file)
                                reg = <0x20>;
                                gpio-controller;
                                #gpio-cells = <2>;
-                               #interrupt-cells=<2>;
-                               interrupt-parent = <&gpio>;
-                               interrupts = <4 2>;
-                               interrupt-controller;
-                               microchip,irq-mirror;
 
                                status = "okay";
                        };
                };
        };
 
+       fragment@4 {
+               target = <&i2c1>;
+               __overlay__ {
+                       mcp23017_irq: mcp@20 {
+                               #interrupt-cells=<2>;
+                               interrupt-parent = <&gpio>;
+                               interrupts = <4 2>;
+                               interrupt-controller;
+                               microchip,irq-mirror;
+                       };
+               };
+       };
+
        __overrides__ {
                gpiopin = <&mcp23017_pins>,"brcm,pins:0",
-                               <&mcp23017>,"interrupts:0";
+                               <&mcp23017_irq>,"interrupts:0";
                addr = <&mcp23017>,"reg:0", <&mcp23017_pins>,"reg:0";
                mcp23008 = <0>,"=3";
+               noints = <0>,"!1!4";
        };
 };