History

ASoC: SOF: Add support to parse pin binding array from topology

Add support for parsing sink/source pin binding array per widget from topology. The pin binding arrays will be used to determine the source and sink queue IDs during widget binding for widget that requires special pin binding. An example of widget that requires special pin binding is the smart amplifier widget, its feedback sink pin has to be connected to a capture DAI copier for codec feedback, while the other sink pin has to be connected to a host DAI copier. Pin ID is required during widget binding for correct route setup. Conversely, the pin ID for 'generic' pins is not defined in the topology and will be allocated by the kernel dynamically. When only one pin is supported, the pin ID shall always be zero. When more than one pin is supported, the pin ID is determined with the ID allocation mechanism in the kernel.

Chao Song committed 4 years ago

Commit 3b3aced1 parent 6327c723 files · +163 −4Browse files

Showing the changes to include/uapi (1 of 3 files). Show all

Unified · Split

include/uapi/sound/sof/tokens.h+7−0
@@ -90,6 +90,13 @@ · 89 unmodified lines
9090 #define SOF_TKN_COMP_NUM_AUDIO_FORMATS 410
9191 #define SOF_TKN_COMP_NUM_SINK_PINS 411
9292 #define SOF_TKN_COMP_NUM_SOURCE_PINS 412
93+/*
94+ * The token for sink/source pin binding, it specifies the widget
95+ * name that the sink/source pin is connected from/to.
96+ */
97+#define SOF_TKN_COMP_SINK_PIN_BINDING_WNAME 413
98+#define SOF_TKN_COMP_SRC_PIN_BINDING_WNAME 414
99+
93100
94101 /* SSP */
95102 #define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500