Skip to content

Commit 27c4e26

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 5990d62 commit 27c4e26

4 files changed

Lines changed: 927 additions & 0 deletions

File tree

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1978,8 +1978,10 @@ M: Martin Povišer <povik+lin@cutebit.org>
19781978
L: asahi@lists.linux.dev
19791979
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
19801980
S: Maintained
1981+
F: Documentation/devicetree/bindings/dma/apple,sio.yaml
19811982
F: Documentation/devicetree/bindings/sound/adi,ssm3515.yaml
19821983
F: Documentation/devicetree/bindings/sound/apple,*
1984+
F: drivers/dma/apple-sio.c
19831985
F: sound/soc/apple/*
19841986
F: sound/soc/codecs/cs42l83-i2c.c
19851987
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)