Skip to content

Commit b2d440e

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 79ccae7 commit b2d440e

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
@@ -2201,9 +2201,11 @@ M: Martin Povišer <povik+lin@cutebit.org>
22012201
L: asahi@lists.linux.dev
22022202
L: linux-sound@vger.kernel.org
22032203
S: Maintained
2204+
F: Documentation/devicetree/bindings/dma/apple,sio.yaml
22042205
F: Documentation/devicetree/bindings/sound/adi,ssm3515.yaml
22052206
F: Documentation/devicetree/bindings/sound/cirrus,cs42l84.yaml
22062207
F: Documentation/devicetree/bindings/sound/apple,*
2208+
F: drivers/dma/apple-sio.c
22072209
F: sound/soc/apple/*
22082210
F: sound/soc/codecs/cs42l83-i2c.c
22092211
F: sound/soc/codecs/cs42l84.*

drivers/dma/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,22 @@ 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+
depends on OF_ADDRESS
102+
select DMA_ENGINE
103+
default m if ARCH_APPLE
104+
help
105+
Enable support for the SIO coprocessor found on Apple Silicon SoCs
106+
where it provides DMA services.
107+
96108
config AT_HDMAC
97109
tristate "Atmel AHB DMA support"
98110
depends on ARCH_AT91

drivers/dma/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ obj-$(CONFIG_ALTERA_MSGDMA) += altera-msgdma.o
1717
obj-$(CONFIG_AMBA_PL08X) += amba-pl08x.o
1818
obj-$(CONFIG_AMCC_PPC440SPE_ADMA) += ppc4xx/
1919
obj-$(CONFIG_APPLE_ADMAC) += apple-admac.o
20+
obj-$(CONFIG_APPLE_SIO) += apple-sio.o
2021
obj-$(CONFIG_AT_HDMAC) += at_hdmac.o
2122
obj-$(CONFIG_AT_XDMAC) += at_xdmac.o
2223
obj-$(CONFIG_AXI_DMAC) += dma-axi-dmac.o

0 commit comments

Comments
 (0)