[alsa-devel] [PATCH 0/7] asoc: Add audio for sti platforms
Arnaud Pouliquen
arnaud.pouliquen at st.com
Tue Apr 14 15:35:24 CEST 2015
version 1:
- First patches submission
Set of patches concerns the audio part of the STi platform
Hardware is split in two main blocks:
Unipheriperal IPs and codec IPs
Uniperipheral IPs:
Ips in charge of the I2S buses
Uniperipheral IPs are in charge the PCM rendering/capturing on/from I2S.
- 4 uniperipheral player IPs receive the PCM audio data or audio encoded
bit stream data from the memory (via FDMA)and performs optional IEC-60958 or
IEC-61937 formatting on the audio data and sends them out on the I2S output.
- 2 uniperipheral reader IPS receive the PCM audio or encoded bit stream on
the I2S input interface and writes the processed data in memory (via FDMA)
Codec IPs:
- HDMI_TX: format and generate HDMI signal.
- SPDIF: format and generate biphase signal for SPDIF output
- DAC: format and generate stereo analogic signal
- HDMI_RX: receive HDMI signal from external source.
In addition 2 I2S/TDM interfaces are available to connect external ICs
- PCM_IN to external capture codec (ADC, BT...)
- PCM_OUT for external player codec (DAC, BT..)
On Sti platform audio driver is splitted in 2 part to support Hw architecture
- sti_audio_platform for uniperipheral IPs mmannagement
- sti-sas codec for codec IP management
+-----------------------+ +-----------------+
| +-----------------+ | | |
| | +---------+ | | | +---------+ |
| | |Uniperif | | | | | HDMI | | +---+
| | |player 0 +---------------> TX +-------> |
| | +---------+ | | | +---------+ | +---+
| | +---------+ | | | |
| | |Uniperif | | | | | +---+
| | |player 1 +---------------------------------> |
| | +---------+ | | | | +---+
| | +---------+ | | | +---------+ | +---+
| | |Uniperif | | | | | DAC | | | |
| | |player 2 +---------------> +------^----+
| | +---------+ | | | +---------+ |
| | +---------+ | | | +---------+ |
| | |Uniperif | | | | | SPDIF | | +---+
| | |player 3 +---------------> +-------> |
| | +---------+ | | | +---------+ | +---+
| | +---------+ | | | |
| | |Uniperif | | | | | +---+
| | |reader 0 <---------------------------------+ |
| | +---------+ | | | | +---+
| | +---------+ | | | +---------+ |
| | |Uniperif | | | | | HDMIF | | +---+
| | |reader 1 <---------------+ RX <-------+ |
| | +---------+ | | | +---------+ | +---+
| | | | | |
| | CPU DAI | | | |
| +-----------------+ | | |
| STI platform | | SAS CODEC |
+-----------------------+ +-----------------+
In the first version of the driver only SPDIF and DAC are supported.
in future HDMI TX, HDMI_RX and support for TDM mode should be added.
Arnaud Pouliquen (7):
ASoC: sti: add binding for ASoc driver
Asoc: sti: add uniperipheral header file
Asoc: sti: add CPU DAI driver for playback
Asoc: sti: add CPU DAI driver for capture
Asoc: sti: Add platform driver
ASoc: Add ability to build sti drivers
ASoc: Codec: add sti platform codec
.../devicetree/bindings/sound/st,sti-asoc-card.txt | 176 +++
sound/soc/Kconfig | 1 +
sound/soc/Makefile | 1 +
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/sti-sas.c | 663 ++++++++++
sound/soc/sti/Kconfig | 17 +
sound/soc/sti/Makefile | 5 +
sound/soc/sti/sti_platform.c | 643 +++++++++
sound/soc/sti/uniperif.h | 1236 ++++++++++++++++++
sound/soc/sti/uniperif_player.c | 1367 ++++++++++++++++++++
sound/soc/sti/uniperif_reader.c | 493 +++++++
12 files changed, 4608 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
create mode 100644 sound/soc/codecs/sti-sas.c
create mode 100644 sound/soc/sti/Kconfig
create mode 100644 sound/soc/sti/Makefile
create mode 100644 sound/soc/sti/sti_platform.c
create mode 100644 sound/soc/sti/uniperif.h
create mode 100644 sound/soc/sti/uniperif_player.c
create mode 100644 sound/soc/sti/uniperif_reader.c
--
1.9.1
More information about the Alsa-devel
mailing list