Skip to content

Commit 38e5de4

Browse files
njhollinghurstpopcornmix
authored andcommitted
sound: soc: raspberrypi: RP1 Audio Out driver as an ASOC DAI
Only 48000Hz stereo 16-bit output is currently supported. It requires some additional OF plumbing to connect it to a "dummy" codec and generic sound card. Signed-off-by: Nick Hollinghurst <[email protected]>
1 parent 9202e2a commit 38e5de4

File tree

7 files changed

+390
-2
lines changed

7 files changed

+390
-2
lines changed

arch/arm64/configs/bcm2711_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1153,6 +1153,7 @@ CONFIG_SND_PISOUND=m
11531153
CONFIG_SND_DACBERRY400=m
11541154
CONFIG_SND_DESIGNWARE_I2S=m
11551155
CONFIG_SND_DESIGNWARE_PCM=y
1156+
CONFIG_SND_RP1_AUDIO_OUT=m
11561157
CONFIG_SND_SOC_AD193X_SPI=m
11571158
CONFIG_SND_SOC_AD193X_I2C=m
11581159
CONFIG_SND_SOC_ADAU1701=m
@@ -1163,7 +1164,6 @@ CONFIG_SND_SOC_ICS43432=m
11631164
CONFIG_SND_SOC_MA120X0P=m
11641165
CONFIG_SND_SOC_MAX98357A=m
11651166
CONFIG_SND_SOC_PCM3168A_I2C=m
1166-
CONFIG_SND_SOC_SPDIF=m
11671167
CONFIG_SND_SOC_TLV320AIC23_I2C=m
11681168
CONFIG_SND_SOC_WM8804_I2C=m
11691169
CONFIG_SND_SOC_WM8904=m

arch/arm64/configs/bcm2712_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,7 @@ CONFIG_SND_PISOUND=m
11551155
CONFIG_SND_DACBERRY400=m
11561156
CONFIG_SND_DESIGNWARE_I2S=m
11571157
CONFIG_SND_DESIGNWARE_PCM=y
1158+
CONFIG_SND_RP1_AUDIO_OUT=m
11581159
CONFIG_SND_SOC_AD193X_SPI=m
11591160
CONFIG_SND_SOC_AD193X_I2C=m
11601161
CONFIG_SND_SOC_ADAU1701=m
@@ -1165,7 +1166,6 @@ CONFIG_SND_SOC_ICS43432=m
11651166
CONFIG_SND_SOC_MA120X0P=m
11661167
CONFIG_SND_SOC_MAX98357A=m
11671168
CONFIG_SND_SOC_PCM3168A_I2C=m
1168-
CONFIG_SND_SOC_SPDIF=m
11691169
CONFIG_SND_SOC_TLV320AIC23_I2C=m
11701170
CONFIG_SND_SOC_WM8804_I2C=m
11711171
CONFIG_SND_SOC_WM8904=m

sound/soc/Kconfig

+1
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ source "sound/soc/meson/Kconfig"
106106
source "sound/soc/mxs/Kconfig"
107107
source "sound/soc/pxa/Kconfig"
108108
source "sound/soc/qcom/Kconfig"
109+
source "sound/soc/raspberrypi/Kconfig"
109110
source "sound/soc/renesas/Kconfig"
110111
source "sound/soc/rockchip/Kconfig"
111112
source "sound/soc/samsung/Kconfig"

sound/soc/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ obj-$(CONFIG_SND_SOC) += mxs/
5959
obj-$(CONFIG_SND_SOC) += kirkwood/
6060
obj-$(CONFIG_SND_SOC) += pxa/
6161
obj-$(CONFIG_SND_SOC) += qcom/
62+
obj-$(CONFIG_SND_SOC) += raspberrypi/
6263
obj-$(CONFIG_SND_SOC) += renesas/
6364
obj-$(CONFIG_SND_SOC) += rockchip/
6465
obj-$(CONFIG_SND_SOC) += samsung/

sound/soc/raspberrypi/Kconfig

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
config SND_RP1_AUDIO_OUT
3+
tristate "PWM Audio Out from RP1"
4+
select SND_SOC_GENERIC_DMAENGINE_PCM
5+
select SND_SOC_SPDIF
6+
help
7+
Say Y or M if you want to add support for PWM digital
8+
audio output from a Raspberry Pi 5, 500 or CM5.
9+
10+
Output is from RP1 GPIOs pins 12 and 13 only, and additional
11+
components will be needed. It may be useful when HDMI, I2S
12+
or USB audio devices are unavailable, or for compatibility.

sound/soc/raspberrypi/Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
obj-$(CONFIG_SND_RP1_AUDIO_OUT) += rp1_aout.o

0 commit comments

Comments
 (0)