Skip to content

Instantly share code, notes, and snippets.

@pelwell
Last active April 14, 2016 09:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pelwell/2d88bd7875b9066437aaf6887e0cd4b0 to your computer and use it in GitHub Desktop.
Save pelwell/2d88bd7875b9066437aaf6887e0cd4b0 to your computer and use it in GitHub Desktop.
From 52c54a27d20295dfcfd0f8ef3c62efaa8253e8c2 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 14 Apr 2016 10:02:39 +0100
Subject: [PATCH 1/2] fixup audio
---
arch/arm/boot/dts/overlays/README | 8 ++++--
.../boot/dts/overlays/boomberry-dac-overlay.dts | 3 +--
sound/soc/bcm/boomberry-digi.c | 30 +++++++++++-----------
3 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
index 694341e..2106a68 100644
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -204,9 +204,11 @@ Info: Configures the BMP085/BMP180 digital barometric pressure and temperature
Load: dtoverlay=bmp085_i2c-sensor
Params: <None>
+
Name: boomberry-dac
-Info: Configures the BoomBerry DAC HAT, Amp HAT, DAC Zero and Amp Zero audio cards
-Load: dtoverlay=boomberry-dac,<param>=<value>
+Info: Configures the BoomBerry DAC HAT, Amp HAT, DAC Zero and Amp Zero audio
+ cards
+Load: dtoverlay=boomberry-dac,<param>=<val>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control. Enable with
"dtoverlay=boomberry-dac,24db_digital_gain"
@@ -222,11 +224,13 @@ Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
the Digital volume control is set to a value
that does not result in clipping/distortion!)
+
Name: boomberry-digi
Info: Configures the BoomBerry Digi HAT and Digi Zero audio cards
Load: dtoverlay=boomberry-digi
Params: <None>
+
Name: dht11
Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
Also sometimes found with the part number(s) AM230x.
diff --git a/arch/arm/boot/dts/overlays/boomberry-dac-overlay.dts b/arch/arm/boot/dts/overlays/boomberry-dac-overlay.dts
index e1540a1..131bcd24 100644
--- a/arch/arm/boot/dts/overlays/boomberry-dac-overlay.dts
+++ b/arch/arm/boot/dts/overlays/boomberry-dac-overlay.dts
@@ -7,7 +7,7 @@
fragment@0 {
target = <&sound>;
- __overlay__ {
+ frag0: __overlay__ {
compatible = "boomberry,boomberry-dac";
i2s-controller = <&i2s>;
status = "okay";
@@ -36,7 +36,6 @@
};
};
};
-};
__overrides__ {
24db_digital_gain = <&frag0>,"boomberry,24db_digital_gain?";
diff --git a/sound/soc/bcm/boomberry-digi.c b/sound/soc/bcm/boomberry-digi.c
index f48b455..0ccd055 100644
--- a/sound/soc/bcm/boomberry-digi.c
+++ b/sound/soc/bcm/boomberry-digi.c
@@ -37,6 +37,21 @@ static int snd_rpi_boomberry_digi_init(struct snd_soc_pcm_runtime *rtd)
return 0;
}
+static int snd_rpi_boomberry_digi_startup(struct snd_pcm_substream *substream) {
+ /* turn on digital output */
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_codec *codec = rtd->codec;
+ snd_soc_update_bits(codec, WM8804_PWRDN, 0x3c, 0x00);
+ return 0;
+}
+
+static void snd_rpi_boomberry_digi_shutdown(struct snd_pcm_substream *substream) {
+ /* turn off output */
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_codec *codec = rtd->codec;
+ snd_soc_update_bits(codec, WM8804_PWRDN, 0x3c, 0x3c);
+}
+
static int snd_rpi_boomberry_digi_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
@@ -114,21 +129,6 @@ static int snd_rpi_boomberry_digi_hw_params(struct snd_pcm_substream *substream,
return snd_soc_dai_set_bclk_ratio(cpu_dai,64);
}
-static int snd_rpi_boomberry_digi_startup(struct snd_pcm_substream *substream) {
- /* turn on digital output */
- struct snd_soc_pcm_runtime *rtd = substream->private_data;
- struct snd_soc_codec *codec = rtd->codec;
- snd_soc_update_bits(codec, WM8804_PWRDN, 0x3c, 0x00);
- return 0;
-}
-
-static void snd_rpi_boomberry_digi_shutdown(struct snd_pcm_substream *substream) {
- /* turn off output */
- struct snd_soc_pcm_runtime *rtd = substream->private_data;
- struct snd_soc_codec *codec = rtd->codec;
- snd_soc_update_bits(codec, WM8804_PWRDN, 0x3c, 0x3c);
-}
-
/* machine stream operations */
static struct snd_soc_ops snd_rpi_boomberry_digi_ops = {
.hw_params = snd_rpi_boomberry_digi_hw_params,
--
1.9.1
From a6e6437e599a1f0096b01486854b32c1a0d1073b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 14 Apr 2016 10:02:59 +0100
Subject: [PATCH 2/2] fixup rtc
---
arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
index c836076..4065647 100644
--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
@@ -59,6 +59,7 @@
ds1307 = <&ds1307>,"status";
ds1339 = <&ds1339>,"status";
ds3231 = <&ds3231>,"status";
+ mcp7940x = <&mcp7940x>,"status";
mcp7941x = <&mcp7941x>,"status";
pcf2127 = <&pcf2127>,"status";
pcf8523 = <&pcf8523>,"status";
--
1.9.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment