summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch')
-rw-r--r--target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch99
1 files changed, 0 insertions, 99 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch b/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
deleted file mode 100644
index bb4f692e8c..0000000000
--- a/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From fb80a497382f9c693ad78524fb0c17454bd9b7f4 Mon Sep 17 00:00:00 2001
-From: Digital Dreamtime <clive.messer@digitaldreamtime.co.uk>
-Date: Thu, 4 Feb 2016 14:14:44 +0000
-Subject: [PATCH] Allow up to 24dB digital gain to be applied when using
- IQAudIO DAC+
-
-24db_digital_gain DT param can be used to specify that PCM512x
-codec "Digital" volume control should not be limited to 0dB gain,
-and if specified will allow the full 24dB gain.
----
- arch/arm/boot/dts/overlays/README | 17 +++++++++++++++--
- .../boot/dts/overlays/iqaudio-dacplus-overlay.dts | 6 +++++-
- sound/soc/bcm/iqaudio-dac.c | 20 ++++++++++++++------
- 3 files changed, 34 insertions(+), 9 deletions(-)
-
---- a/arch/arm/boot/dts/overlays/README
-+++ b/arch/arm/boot/dts/overlays/README
-@@ -362,8 +362,21 @@ Params: <None>
-
- Name: iqaudio-dacplus
- Info: Configures the IQaudio DAC+ audio card
--Load: dtoverlay=iqaudio-dacplus
--Params: <None>
-+Load: dtoverlay=iqaudio-dacplus,<param>=<val>
-+Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
-+ Digital volume control. Enable with
-+ "dtoverlay=iqaudio-dacplus,24db_digital_gain"
-+ (The default behaviour is that the Digital
-+ volume control is limited to a maximum of
-+ 0dB. ie. it can attenuate but not provide
-+ gain. For most users, this will be desired
-+ as it will prevent clipping. By appending
-+ the 24db_digital_gain parameter, the Digital
-+ volume control will allow up to 24dB of
-+ gain. If this parameter is enabled, it is the
-+ responsibility of the user to ensure that
-+ the Digital volume control is set to a value
-+ that does not result in clipping/distortion!)
-
-
- Name: lirc-rpi
---- a/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts
-+++ b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts
-@@ -7,7 +7,7 @@
-
- fragment@0 {
- target = <&sound>;
-- __overlay__ {
-+ frag0: __overlay__ {
- compatible = "iqaudio,iqaudio-dac";
- i2s-controller = <&i2s>;
- status = "okay";
-@@ -36,4 +36,8 @@
- };
- };
- };
-+
-+ __overrides__ {
-+ 24db_digital_gain = <&frag0>,"iqaudio,24db_digital_gain?";
-+ };
- };
---- a/sound/soc/bcm/iqaudio-dac.c
-+++ b/sound/soc/bcm/iqaudio-dac.c
-@@ -23,14 +23,19 @@
- #include <sound/soc.h>
- #include <sound/jack.h>
-
-+static bool digital_gain_0db_limit = true;
-+
- static int snd_rpi_iqaudio_dac_init(struct snd_soc_pcm_runtime *rtd)
- {
-- int ret;
-- struct snd_soc_card *card = rtd->card;
--
-- ret = snd_soc_limit_volume(card, "Digital Playback Volume", 207);
-- if (ret < 0)
-- dev_warn(card->dev, "Failed to set volume limit: %d\n", ret);
-+ if (digital_gain_0db_limit)
-+ {
-+ int ret;
-+ struct snd_soc_card *card = rtd->card;
-+
-+ ret = snd_soc_limit_volume(card, "Digital Playback Volume", 207);
-+ if (ret < 0)
-+ dev_warn(card->dev, "Failed to set volume limit: %d\n", ret);
-+ }
-
- return 0;
- }
-@@ -94,6 +99,9 @@ static int snd_rpi_iqaudio_dac_probe(str
- dai->platform_name = NULL;
- dai->platform_of_node = i2s_node;
- }
-+
-+ digital_gain_0db_limit = !of_property_read_bool(pdev->dev.of_node,
-+ "iqaudio,24db_digital_gain");
- }
-
- ret = snd_soc_register_card(&snd_rpi_iqaudio_dac);