brcm2708: update to latest patches from RPi foundation
[openwrt/staging/dedeckeh.git] / target / linux / brcm2708 / patches-4.19 / 950-0619-overlays-audremap-Support-GPIOs-18-19.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0619-overlays-audremap-Support-GPIOs-18-19.patch b/target/linux/brcm2708/patches-4.19/950-0619-overlays-audremap-Support-GPIOs-18-19.patch
new file mode 100644 (file)
index 0000000..667e104
--- /dev/null
@@ -0,0 +1,68 @@
+From f42cc245e1f3e586f1a26550e5760489b6c329ab Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 23 Jul 2019 12:55:07 +0100
+Subject: [PATCH] overlays: audremap: Support GPIOs 18 & 19
+
+PWM audio can also be used on GPIOs 18 and 19, so add the pins_18_19
+parameter to select that location. pins_12_13 explicitly chooses GPIOs
+12 and 13, although this is the default behaviour so is there only for
+completeness.
+
+See: https://github.com/raspberrypi/firmware/issues/1178
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/README               |  4 +++-
+ arch/arm/boot/dts/overlays/audremap-overlay.dts | 16 ++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -475,12 +475,14 @@ Params: <None>
+ Name:   audremap
+-Info:   Switches PWM sound output to pins 12 (Right) & 13 (Left)
++Info:   Switches PWM sound output to GPIOs on the 40-pin header
+ Load:   dtoverlay=audremap,<param>=<val>
+ Params: swap_lr                 Reverse the channel allocation, which will also
+                                 swap the audio jack outputs (default off)
+         enable_jack             Don't switch off the audio jack output
+                                 (default off)
++        pins_12_13              Select GPIOs 12 & 13 (default)
++        pins_18_19              Select GPIOs 18 & 19
+ Name:   balena-fin
+--- a/arch/arm/boot/dts/overlays/audremap-overlay.dts
++++ b/arch/arm/boot/dts/overlays/audremap-overlay.dts
+@@ -7,13 +7,29 @@
+         fragment@0 {
+                 target = <&audio_pins>;
+                 frag0: __overlay__ {
++                };
++        };
++
++      fragment@1 {
++                target = <&audio_pins>;
++                __overlay__ {
+                         brcm,pins = < 12 13 >;
+                         brcm,function = < 4 >; /* alt0 alt0 */
+                 };
+         };
++      fragment@2 {
++              target = <&audio_pins>;
++              __dormant__ {
++                        brcm,pins = < 18 19 >;
++                        brcm,function = < 2 >; /* alt5 alt5 */
++              };
++      };
++
+       __overrides__ {
+               swap_lr = <&frag0>, "swap_lr?";
+               enable_jack = <&frag0>, "enable_jack?";
++              pins_12_13 = <0>,"+1-2";
++              pins_18_19 = <0>,"-1+2";
+       };
+ };