Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 701caa51 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/atmel',...

Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/atmel', 'asoc/topic/bcm2835', 'asoc/topic/docs', 'asoc/topic/fsl', 'asoc/topic/generic', 'asoc/topic/kirkwood', 'asoc/topic/mc13783', 'asoc/topic/mxs', 'asoc/topic/nuc900', 'asoc/topic/sai', 'asoc/topic/sh', 'asoc/topic/ssm2602', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl4030', 'asoc/topic/ux500', 'asoc/topic/width' and 'asoc/topic/x86' into for-tiwai
Loading
+50 −0
Original line number Diff line number Diff line
Freescale Enhanced Serial Audio Interface (ESAI) Controller

The Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port
for serial communication with a variety of serial devices, including industry
standard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and
other DSPs. It has up to six transmitters and four receivers.

Required properties:

  - compatible : Compatible list, must contain "fsl,imx35-esai".

  - reg : Offset and length of the register set for the device.

  - interrupts : Contains the spdif interrupt.

  - dmas : Generic dma devicetree binding as described in
  Documentation/devicetree/bindings/dma/dma.txt.

  - dma-names : Two dmas have to be defined, "tx" and "rx".

  - clocks: Contains an entry for each entry in clock-names.

  - clock-names : Includes the following entries:
	"core"		The core clock used to access registers
	"extal"		The esai baud clock for esai controller used to derive
			HCK, SCK and FS.
	"fsys"		The system clock derived from ahb clock used to derive
			HCK, SCK and FS.

  - fsl,fifo-depth: The number of elements in the transmit and receive FIFOs.
    This number is the maximum allowed value for TFCR[TFWM] or RFCR[RFWM].

  - fsl,esai-synchronous: This is a boolean property. If present, indicating
    that ESAI would work in the synchronous mode, which means all the settings
    for Receiving would be duplicated from Transmition related registers.

Example:

esai: esai@02024000 {
	compatible = "fsl,imx35-esai";
	reg = <0x02024000 0x4000>;
	interrupts = <0 51 0x04>;
	clocks = <&clks 208>, <&clks 118>, <&clks 208>;
	clock-names = "core", "extal", "fsys";
	dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
	dma-names = "rx", "tx";
	fsl,fifo-depth = <128>;
	fsl,esai-synchronous;
	status = "disabled";
};
+6 −1
Original line number Diff line number Diff line
@@ -4,7 +4,12 @@ The SSI is a serial device that communicates with audio codecs. It can
be programmed in AC97, I2S, left-justified, or right-justified modes.

Required properties:
- compatible:       Compatible list, contains "fsl,ssi".
- compatible:       Compatible list, should contain one of the following
                    compatibles:
                      fsl,mpc8610-ssi
                      fsl,imx51-ssi
                      fsl,imx35-ssi
                      fsl,imx21-ssi
- cell-index:       The SSI, <0> = SSI1, <1> = SSI2, and so on.
- reg:              Offset and length of the register set for the device.
- interrupts:       <a b> where a is the interrupt number and b is a
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ Optional properties:
- simple-audio-card,format		: CPU/CODEC common audio format.
					  "i2s", "right_j", "left_j" , "dsp_a"
					  "dsp_b", "ac97", "pdm", "msb", "lsb"
- simple-audio-routing			: A list of the connections between audio components.
- simple-audio-card,routing		: A list of the connections between audio components.
					  Each entry is a pair of strings, the first being the
					  connection's sink, the second being the connection's
					  source.
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ Required properties:

- compatible - "string" - One of:
    "ti,tlv320aic3x" - Generic TLV320AIC3x device
    "ti,tlv320aic32x4" - TLV320AIC32x4
    "ti,tlv320aic33" - TLV320AIC33
    "ti,tlv320aic3007" - TLV320AIC3007
    "ti,tlv320aic3106" - TLV320AIC3106
+18 −9
Original line number Diff line number Diff line
@@ -49,18 +49,23 @@ features :-
  * Machine specific controls: Allow machines to add controls to the sound card
    (e.g. volume control for speaker amplifier).

To achieve all this, ASoC basically splits an embedded audio system into 3
components :-
To achieve all this, ASoC basically splits an embedded audio system into
multiple re-usable component drivers :-

  * Codec driver: The codec driver is platform independent and contains audio
    controls, audio interface capabilities, codec DAPM definition and codec IO
    functions.
  * Codec class drivers: The codec class driver is platform independent and
    contains audio controls, audio interface capabilities, codec DAPM
    definition and codec IO functions. This class extends to BT, FM and MODEM
    ICs if required. Codec class drivers should be generic code that can run
    on any architecture and machine.

  * Platform driver: The platform driver contains the audio DMA engine and audio
    interface drivers (e.g. I2S, AC97, PCM) for that platform.
  * Platform class drivers: The platform class driver includes the audio DMA
    engine driver, digital audio interface (DAI) drivers (e.g. I2S, AC97, PCM)
    and any audio DSP drivers for that platform.

  * Machine driver: The machine driver handles any machine specific controls and
    audio events (e.g. turning on an amp at start of playback).
  * Machine class driver: The machine driver class acts as the glue that
    decribes and binds the other component drivers together to form an ALSA
    "sound card device". It handles any machine specific controls and
    machine level audio events (e.g. turning on an amp at start of playback).


Documentation
@@ -84,3 +89,7 @@ machine.txt: Machine driver internals.
pop_clicks.txt: How to minimise audio artifacts.

clocking.txt: ASoC clocking for best power performance.

jack.txt: ASoC jack detection.

DPCM.txt: Dynamic PCM - Describes DPCM with DSP examples.
Loading