mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
7d7aa2fd92
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
78 lines
3.0 KiB
Diff
78 lines
3.0 KiB
Diff
From 5eccee0e620b799558d89ebee29280116ad37e4f Mon Sep 17 00:00:00 2001
|
|
From: j-schambacher <joerg@i2audio.com>
|
|
Date: Mon, 27 Jan 2020 20:58:24 +0100
|
|
Subject: [PATCH] adds LED OFF feature to HiFiBerry DAC+/DAC+PRO sound
|
|
cards
|
|
|
|
This adds a DT overlay parameter 'leds_off' which allows
|
|
to switch off the onboard activity LEDs at all times
|
|
which has been requested by some users.
|
|
|
|
Signed-off-by: Joerg Schambacher <joerg@i2audio.com>
|
|
---
|
|
arch/arm/boot/dts/overlays/README | 2 ++
|
|
.../boot/dts/overlays/hifiberry-dacplus-overlay.dts | 1 +
|
|
sound/soc/bcm/hifiberry_dacplus.c | 10 +++++++++-
|
|
3 files changed, 12 insertions(+), 1 deletion(-)
|
|
|
|
--- a/arch/arm/boot/dts/overlays/README
|
|
+++ b/arch/arm/boot/dts/overlays/README
|
|
@@ -906,6 +906,8 @@ Params: 24db_digital_gain Allow ga
|
|
that does not result in clipping/distortion!)
|
|
slave Force DAC+ Pro into slave mode, using Pi as
|
|
master for bit clock and frame clock.
|
|
+ leds_off If set to 'true' the onboard indicator LEDs
|
|
+ are switched off at all times.
|
|
|
|
|
|
Name: hifiberry-dacplusadc
|
|
--- a/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts
|
|
@@ -55,5 +55,6 @@
|
|
24db_digital_gain =
|
|
<&hifiberry_dacplus>,"hifiberry,24db_digital_gain?";
|
|
slave = <&hifiberry_dacplus>,"hifiberry-dacplus,slave?";
|
|
+ leds_off = <&hifiberry_dacplus>,"hifiberry-dacplus,leds_off?";
|
|
};
|
|
};
|
|
--- a/sound/soc/bcm/hifiberry_dacplus.c
|
|
+++ b/sound/soc/bcm/hifiberry_dacplus.c
|
|
@@ -50,6 +50,7 @@ struct pcm512x_priv {
|
|
static bool slave;
|
|
static bool snd_rpi_hifiberry_is_dacpro;
|
|
static bool digital_gain_0db_limit = true;
|
|
+static bool leds_off;
|
|
|
|
static void snd_rpi_hifiberry_dacplus_select_clk(struct snd_soc_component *component,
|
|
int clk_id)
|
|
@@ -171,7 +172,10 @@ static int snd_rpi_hifiberry_dacplus_ini
|
|
|
|
snd_soc_component_update_bits(component, PCM512x_GPIO_EN, 0x08, 0x08);
|
|
snd_soc_component_update_bits(component, PCM512x_GPIO_OUTPUT_4, 0x0f, 0x02);
|
|
- snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08);
|
|
+ if (leds_off)
|
|
+ snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x00);
|
|
+ else
|
|
+ snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08);
|
|
|
|
if (digital_gain_0db_limit)
|
|
{
|
|
@@ -251,6 +255,8 @@ static int snd_rpi_hifiberry_dacplus_sta
|
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
|
struct snd_soc_component *component = rtd->codec_dai->component;
|
|
|
|
+ if (leds_off)
|
|
+ return 0;
|
|
snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08);
|
|
return 0;
|
|
}
|
|
@@ -319,6 +325,8 @@ static int snd_rpi_hifiberry_dacplus_pro
|
|
pdev->dev.of_node, "hifiberry,24db_digital_gain");
|
|
slave = of_property_read_bool(pdev->dev.of_node,
|
|
"hifiberry-dacplus,slave");
|
|
+ leds_off = of_property_read_bool(pdev->dev.of_node,
|
|
+ "hifiberry-dacplus,leds_off");
|
|
}
|
|
|
|
ret = devm_snd_soc_register_card(&pdev->dev,
|