diff --git a/target/linux/bcm53xx/patches-3.18/181-bcma-ngpio-bcm4707.patch b/target/linux/bcm53xx/patches-3.18/181-bcma-ngpio-bcm4707.patch
new file mode 100644
index 0000000000000000000000000000000000000000..79cb6df7f15f35f18018dfbca6b57d7297bc8cea
--- /dev/null
+++ b/target/linux/bcm53xx/patches-3.18/181-bcma-ngpio-bcm4707.patch
@@ -0,0 +1,17 @@
+From: Felix Fietkau <nbd@openwrt.org>
+Subject: [PATCH] bcma: enable 32 GPIO pins for BCM4707+
+
+At least one BCM4709 device uses GPIO pins > 16.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+--- a/drivers/bcma/driver_gpio.c
++++ b/drivers/bcma/driver_gpio.c
+@@ -226,6 +226,7 @@ int bcma_gpio_init(struct bcma_drv_cc *c
+ 		chip->of_node	= cc->core->dev.of_node;
+ #endif
+ 	switch (bus->chipinfo.id) {
++	case BCMA_CHIP_ID_BCM4707:
+ 	case BCMA_CHIP_ID_BCM5357:
+ 	case BCMA_CHIP_ID_BCM53572:
+ 		chip->ngpio	= 32;