Unverified Commit b87d37d0 authored by Codrin Ciubotariu's avatar Codrin Ciubotariu Committed by Mark Brown
Browse files

ASoC: mchp-i2s-mcc: add driver for I2SC Multi-Channel Controller



The Inter-IC Sound Controller (I2SMCC) provides a 5-wire, bidirectional,
synchronous, digital audio link to external audio devices: I2SMCC_DIN,
I2SMCC_DOUT, I2SMCC_WS, I2SMCC_CK, and I2SMCC_MCK pins.
The I2SMCC complies with the Inter-IC Sound (I2S) bus specification and
supports a Time Division Multiplexed (TDM) interface with external
multi-channel audio codecs.
The I2SMCC consists of a receiver, a transmitter and a common clock
generator that can be enabled separately to provide Master, Slave or
Controller modes with receiver and/or transmitter active.
DMA Controller channels, separate for the receiver and for the transmitter,
allow a continuous high bit rate data transfer without processor
intervention to the following:
 - Audio CODECs in Master, Slave, or Controller mode
 - Stereo DAC or ADC through a dedicated I2S serial interface
 - Multi-channel or multiple stereo DACs or ADCs, using the TDM format

This IP is embedded in Microchip's new sam9x60 SoC.

Signed-off-by: default avatarCodrin Ciubotariu <codrin.ciubotariu@microchip.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4c798984
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -109,4 +109,18 @@ config SND_SOC_MIKROE_PROTO
	  using I2C over SDA (MPU Data Input) and SCL (MPU Clock Input) pins.
	  Both playback and capture are supported.

config SND_MCHP_SOC_I2S_MCC
	tristate "Microchip ASoC driver for boards using I2S MCC"
	depends on OF && (ARCH_AT91 || COMPILE_TEST)
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select REGMAP_MMIO
	help
	  Say Y or M if you want to add support for I2S Multi-Channel ASoC
	  driver on the following Microchip platforms:
	  - sam9x60

	  The I2SMCC complies with the Inter-IC Sound (I2S) bus specification
	  and supports a Time Division Multiplexed (TDM) interface with
	  external multi-channel audio codecs.

endif
+2 −0
Original line number Diff line number Diff line
@@ -4,11 +4,13 @@ snd-soc-atmel-pcm-pdc-objs := atmel-pcm-pdc.o
snd-soc-atmel-pcm-dma-objs := atmel-pcm-dma.o
snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o
snd-soc-atmel-i2s-objs := atmel-i2s.o
snd-soc-mchp-i2s-mcc-objs := mchp-i2s-mcc.o

obj-$(CONFIG_SND_ATMEL_SOC_PDC) += snd-soc-atmel-pcm-pdc.o
obj-$(CONFIG_SND_ATMEL_SOC_DMA) += snd-soc-atmel-pcm-dma.o
obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o
obj-$(CONFIG_SND_ATMEL_SOC_I2S) += snd-soc-atmel-i2s.o
obj-$(CONFIG_SND_MCHP_SOC_I2S_MCC) += snd-soc-mchp-i2s-mcc.o

# AT91 Machine Support
snd-soc-sam9g20-wm8731-objs := sam9g20_wm8731.o
+974 −0

File added.

Preview size limit exceeded, changes collapsed.