aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0629-overlays-ghost-amp-Change-early-disable-sequence.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0629-overlays-ghost-amp-Change-early-disable-sequence.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0629-overlays-ghost-amp-Change-early-disable-sequence.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0629-overlays-ghost-amp-Change-early-disable-sequence.patch b/target/linux/bcm27xx/patches-5.10/950-0629-overlays-ghost-amp-Change-early-disable-sequence.patch
new file mode 100644
index 0000000000..c40f7b04a6
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0629-overlays-ghost-amp-Change-early-disable-sequence.patch
@@ -0,0 +1,43 @@
+From c6ae428b0fa43bee35aa6de4fb2f5d5cc81460a4 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.com>
+Date: Mon, 14 Jun 2021 15:07:38 +0100
+Subject: [PATCH] overlays: ghost-amp: Change early-disable sequence
+
+In the event that the ENABLE signal from the codec goes low before
+RELAY2 has been enabled, wait until the full 1000ms has elapsed then
+enable RELAY2 and jump to amp_on_wait, i.e. as if output had been
+fully enabled then disabled, rather than returning to the amp_off
+idle state.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.com>
+---
+ arch/arm/boot/dts/overlays/ghost-amp-overlay.dts | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+--- a/arch/arm/boot/dts/overlays/ghost-amp-overlay.dts
++++ b/arch/arm/boot/dts/overlays/ghost-amp-overlay.dts
+@@ -82,14 +82,20 @@
+
+ amp_on_1 {
+ set = <RELAY1 1>;
+- amp_on = <GF_DELAY 1000>;
+- amp_off = <ENABLE 0>;
++ amp_on_2 = <GF_DELAY 1000>;
++ amp_off = <GF_SHUTDOWN 0>;
++ fault = <FAULT 1>;
++ };
++
++ amp_on_2 {
++ set = <RELAY2 1>;
++ amp_on_wait = <ENABLE 0>;
++ amp_on = <GF_DELAY 1>;
+ fault = <FAULT 1>;
+ };
+
+ amp_on {
+- set = <RELAY2 1>,
+- <RELAYSSR 1>;
++ set = <RELAYSSR 1>;
+ amp_on_wait = <ENABLE 0>;
+ fault = <FAULT 1>;
+ };