mirror of https://github.com/thesofproject/sof.git
7882b1a93d
An IPC4 widget may support multiple I/O queue. Queue ID is required during widget binding in route setup. This patch adds sink_pin_binging and src_pin_binding classes for multiple I/O queue support. For widget requires special pin(queue) binding, sink_pin_binding or src_pin_binding should be defined in the widget object. So that the kernel knows which pin to use during widget binding by parsing topology. Note that pin binding should be defined for all sink/source pins or for none. Even if there is only one sink pin requires special pin binding, pin binding should be defined for all sink pins, and for pins that are not used, give the value "NotConnected". This rule applies to source pins, too. Example: smart_amp widget has two sink pins and one source pin, and its feedback sink pin requires special pin binding, so we have to define sink_pin_binding objects within smart_amp object like this: Object.Base.sink_pin_binding.1 { # the main sink pin is connected to host for playback data sink_pin_binding_wname "copier.host.1.1" } Object.Base.src_pin_binding.2 { # the feedback sink pin is connected to capture dai for codec feedback. sink_pin_binding_wname "copier.SSP.2.1" } In this example, smart_amp is connected to host and DAI directly, it is also possible to be connected to host and DAI indirectly (with gain or other widget in the middle). Signed-off-by: Chao Song <chao.song@linux.intel.com> |
||
---|---|---|
.. | ||
cavs | ||
include | ||
CMakeLists.txt | ||
get_abi.sh |