ASoC: core: add TDM slot parsing from DT supports
authorXiubo Li <Li.Xiubo@freescale.com>
Fri, 14 Feb 2014 01:34:35 +0000 (09:34 +0800)
committerStephane Desneux <stephane.desneux@open.eurogiciel.org>
Wed, 4 Feb 2015 10:13:26 +0000 (11:13 +0100)
commit3c584e7b7f3af023b68e5d5c2f42dd63dacc6770
tree92723ed43a2a30a0af9b1d969655367cc2109c04
parent1fdaeac286c3de6960c6603da04bfe06abbe1ddf
ASoC: core: add TDM slot parsing from DT supports

For some CPU/CODEC DAI devices the TDM slot infomation maybe needed. This
patch adds the slot parsing from DT supports.

TDM slot properties:
    dai-tdm-slot-num : Number of slots in use.
    dai-tdm-slot-width :  Width in bits for each slot.

For instance:
    dai-tdm-slot-num = <2>;
    dai-tdm-slot-width = <8>;

And for each spcified driver, there could be one .of_xlate_tdm_slot_mask()
to specify a explicit mapping of the channels and the slots. If it's absent
the default snd_soc_of_xlate_tdm_slot_mask() will be used to generating the
tx and rx masks.

For snd_soc_of_xlate_tdm_slot_mask(), the tx and rx masks will use a 1 bit
for an active slot as default, and the default active bits are at the LSB of
the masks.

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 89c6785715592a6b082b3f9f28c27bb14b041c7d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
include/sound/soc-dai.h
include/sound/soc.h
sound/soc/soc-core.c