On Thu, Jun 02, 2016 at 10:40:58AM -0700, Caleb Crome wrote:
On Thu, Jun 2, 2016 at 10:17 AM, Mark Brown broonie@kernel.org wrote:
Well, if you specifically mean TDM as opposed to multi-channel our general support for that isn't good (mainly due to lack of demand). It sounds like you're more interested in multi channel here though.
I must be missing something. To me, TDM is synonymous with multi-channel on a single wire. The datasheets of codecs and SoCs
TDM, at least in the sense Linux is using it, is multiple *unrelated* audio streams on a single wire. Any multi-channel audio stream is TDM in some sense but the trivial extension to add two or more channels isn't really a big deal. This is for things more complex than just stuffing more bytes of data onto a wire where there are going to be some timeslots that the device should ignore as they're going to/from other devices (or at least other streams even if the same chip is handling them).
(I recall there is also a specific TDM format with something like 384 slots per frame, which is a well defined thing, but that's not what I'm talking about. That's used just for telephony I beleive).
You're thinking of H.1x0 CTBus which is genuine TDM, used for routing single channel audio streams between multiple PCI (H.100) or cPCI (H.110) cards in a system. It does way more than 384 slots, 4096 8kHz 8 bit timeslots IIRC.
What's the linuxy name for what the datasheets call TDM format with slots > 2? Do we just call that 'multi-channel', or specifically say, 'channels_max > 2'? I was always under the assumption that's what TDM meant.
We don't particularly call it anything, it's such a trivial extension.