ASoC: wcd9xxx codecs: Add dynamic SLIMBUS ports/DAI mapping support

wcd9xxx series CODECs have hardware limitation that not all microphone
inputs can be routed to all decimators and not all decimators can be
routed to all SIMBUS TX ports. Currently, CODEC DAIs are defined based
on use cases and SLIMBUS ports are preallocated per CODEC DAI based on
microphone placements on the reference design. As concurrency use
cases grow and inflexibilty to establishing SLIMBUS port/DAI mapping,
concept of virtual port is introduced to allow run-time mapping.
At the same time, assignment of SLIMBUS shared data channel is being
rearranged to top-down approach which machine driver assigns share
data channel number to CPU DAI and CODEC DAI.

Change-Id: I43f0da5a7eff372379e159ceb99892b97f461c64
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
16 files changed