aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch')
-rw-r--r--target/linux/bcm27xx/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch b/target/linux/bcm27xx/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch
new file mode 100644
index 0000000000..e6376d7f68
--- /dev/null
+++ b/target/linux/bcm27xx/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch
@@ -0,0 +1,66 @@
+From b37ac8c50684c3517fb9c6f737e7ea444a7d7405 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+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 <dave.stevenson@raspberrypi.org>
+---
+ 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";
+ };
+ };
+