From b37ac8c50684c3517fb9c6f737e7ea444a7d7405 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 5 Sep 2019 17:41:46 +0100 Subject: [PATCH] overlays: mcp23017: Add option for not connecting the int GPIO The interrupt GPIO is optional to the driver, therefore add an option to not configure it. Signed-off-by: Dave Stevenson --- arch/arm/boot/dts/overlays/README | 1 + .../boot/dts/overlays/mcp23017-overlay.dts | 21 +++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -1427,6 +1427,7 @@ Params: gpiopin Gpio pin addr I2C address of the MCP23017 (default: 0x20) mcp23008 Configure an MCP23008 instead. + noints Disable the interrupt GPIO line. Name: mcp23s17 --- a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts +++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts @@ -34,11 +34,6 @@ reg = <0x20>; gpio-controller; #gpio-cells = <2>; - #interrupt-cells=<2>; - interrupt-parent = <&gpio>; - interrupts = <4 2>; - interrupt-controller; - microchip,irq-mirror; status = "okay"; }; @@ -52,11 +47,25 @@ }; }; + 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"; }; };