From 12e23cb06119a2e57193e77995a67e56d3ac3ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Tue, 18 Dec 2018 20:32:51 +0100 Subject: [arm] Fix reset polarity of the wifi device on Raspberry Pi 3 --- debian/changelog | 2 + ...-bcm2837-Fix-polarity-of-wifi-reset-GPIOs.patch | 52 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 55 insertions(+) create mode 100644 debian/patches/bugfix/arm/ARM-dts-bcm2837-Fix-polarity-of-wifi-reset-GPIOs.patch diff --git a/debian/changelog b/debian/changelog index e36bd627cf29..6f4330ec59d6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ linux (4.19.9-2) UNRELEASED; urgency=medium [ Uwe Kleine-König ] * [arm] Fix probing of 3rd gpio device on Armada 370. + * [arm] Fix reset polarity of the wifi device on Raspberry Pi 3 + (Closes: #911443). [ Ben Hutchings ] * linux-perf: Fix build-time check for unversioned files diff --git a/debian/patches/bugfix/arm/ARM-dts-bcm2837-Fix-polarity-of-wifi-reset-GPIOs.patch b/debian/patches/bugfix/arm/ARM-dts-bcm2837-Fix-polarity-of-wifi-reset-GPIOs.patch new file mode 100644 index 000000000000..d4f3a252b8b1 --- /dev/null +++ b/debian/patches/bugfix/arm/ARM-dts-bcm2837-Fix-polarity-of-wifi-reset-GPIOs.patch @@ -0,0 +1,52 @@ +From: Stefan Wahren +Date: Mon, 3 Dec 2018 19:37:08 +0100 +Subject: [PATCH] ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs +Origin: v4.20-rc7, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e25b6783c7b1bb79103d4617336879423f86b05e + +The commit b1b8f45b3130 ("ARM: dts: bcm2837: Add missing GPIOs of Expander") +introduced a wifi power sequence. Unfortunately the polarity of the reset +GPIOs were wrong and broke the wifi support on Raspberry Pi 3 B and +later in 3 B+. This wasn't discovered before since the power sequence +takes only effect in case the relevant MMC driver is compiled as a module. + +Fixes: b1b8f45b3130 ("ARM: dts: bcm2837: Add missing GPIOs of Expander") +Cc: stable@vger.kernel.org +Reported-by: Matthias Lueschner +Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911443 +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 +- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +index 4adb85e66be3..93762244be7f 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +@@ -31,7 +31,7 @@ + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; +- reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; ++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; + }; + }; + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index c318bcbc6ba7..89e6fd547c75 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -26,7 +26,7 @@ + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; +- reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; ++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; + }; + }; + +-- +2.19.2 + diff --git a/debian/patches/series b/debian/patches/series index 4d8be899464c..c3dfe6a250eb 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -79,6 +79,7 @@ bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch bugfix/x86/x86-mm-Fix-guard-hole-handling.patch bugfix/arm/gpio-mvebu-only-fail-on-missing-clk-if-pwm-is-actual.patch +bugfix/arm/ARM-dts-bcm2837-Fix-polarity-of-wifi-reset-GPIOs.patch # Arch features features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch -- cgit v1.2.3