[alsa-devel] [PATCH 0/3] ASoC: Enable a new IC master mode: bcm2835<=>IC<=>cs42xx8
Matt Flax
flatmax at flatmax.org
Mon Mar 27 03:35:33 PDT 2017
On 27/03/17 21:01, Mark Brown wrote:
> On Sat, Mar 25, 2017 at 04:45:46PM +1100, Matt Flax wrote:
>> On 25/03/17 06:09, Mark Brown wrote:
>>> Could you please be concrete about what the two formats you're talking
>>> about here are and how these differences are observable on the wire? I
>>> don't know what "two data word edge triggered ABP" means.
>> On the codec side it is a regular TDM stream.
>> On the SoC side, two channels are arbitrarily offset from a PCM frame sync
>> clock (PCM_FS) leading edge. I have chosen to have 64 bits per frame with 1
>> bit offset for the first word (from the leading edge) and 33 bits offset
>> (from the leading edge) for the second word. This resembles I2S, but it
>> doesn't have to for the bcm2835.
> What's internal to the SoC is not relevant here, what matters is what's
> externally visible. The formats on the DAI are how the SoC interfaces
> with the outside world.
In this case, there is the TDM (DSP mode) protocol on the Codec. The SoC
however is communicating in channel pairs {{0, 1}, {2, 3}, {4, 5}, {6,
7}}. Each channel separated by the PCM_FS clk leading edge.
As far as the codec is concerned it is DSP mode. As far as the SoC is
concerned, it is not I2S, nor is it strictly DSP mode because there is
more then one PCM_FS per frame !
If we look at this from the perspective of the Codec, then it is DSP
mode. I am just not sure what to call the SoC's protocol, other then
multi-paired PCM.
Matt
More information about the linux-rpi-kernel
mailing list