Skip to content

Commit b84a708

Browse files
povikjannau
authored andcommitted
dmaengine: apple-sio: Add Apple SIO driver
Add a dmaengine driver for the Apple SIO coprocessor found on Apple SoCs where it provides DMA services. Have the driver support cyclic transactions so that ALSA drivers can rely on it in audio output to HDMI and DisplayPort. Signed-off-by: Martin Povišer <povik+lin@cutebit.org>
1 parent e6c39d9 commit b84a708

File tree

4 files changed

+926
-0
lines changed

4 files changed

+926
-0
lines changed

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2034,8 +2034,10 @@ M: Martin Povišer <povik+lin@cutebit.org>
20342034
L: asahi@lists.linux.dev
20352035
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
20362036
S: Maintained
2037+
F: Documentation/devicetree/bindings/dma/apple,sio.yaml
20372038
F: Documentation/devicetree/bindings/sound/adi,ssm3515.yaml
20382039
F: Documentation/devicetree/bindings/sound/apple,*
2040+
F: drivers/dma/apple-sio.c
20392041
F: sound/soc/apple/*
20402042
F: sound/soc/codecs/cs42l83-i2c.c
20412043
F: sound/soc/codecs/ssm3515.c

drivers/dma/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,21 @@ config APPLE_ADMAC
8989
tristate "Apple ADMAC support"
9090
depends on ARCH_APPLE || COMPILE_TEST
9191
select DMA_ENGINE
92+
select DMA_VIRTUAL_CHANNELS
9293
default ARCH_APPLE
9394
help
9495
Enable support for Audio DMA Controller found on Apple Silicon SoCs.
9596

97+
config APPLE_SIO
98+
tristate "Apple SIO support"
99+
depends on ARCH_APPLE || COMPILE_TEST
100+
depends on APPLE_RTKIT
101+
select DMA_ENGINE
102+
default m if ARCH_APPLE
103+
help
104+
Enable support for the SIO coprocessor found on Apple Silicon SoCs
105+
where it provides DMA services.
106+
96107
config AT_HDMAC
97108
tristate "Atmel AHB DMA support"
98109
depends on ARCH_AT91

drivers/dma/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ obj-$(CONFIG_AMBA_PL08X) += amba-pl08x.o
1818
obj-$(CONFIG_AMCC_PPC440SPE_ADMA) += ppc4xx/
1919
obj-$(CONFIG_AMD_PTDMA) += ptdma/
2020
obj-$(CONFIG_APPLE_ADMAC) += apple-admac.o
21+
obj-$(CONFIG_APPLE_SIO) += apple-sio.o
2122
obj-$(CONFIG_AT_HDMAC) += at_hdmac.o
2223
obj-$(CONFIG_AT_XDMAC) += at_xdmac.o
2324
obj-$(CONFIG_AXI_DMAC) += dma-axi-dmac.o

0 commit comments

Comments
 (0)