1c72fcc34Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause
2c72fcc34Sopenharmony_ci//
3c72fcc34Sopenharmony_ci// Copyright(c) 2021 Intel Corporation. All rights reserved.
4c72fcc34Sopenharmony_ci//
5c72fcc34Sopenharmony_ci// Author: Jaska Uimonen <jaska.uimonen@linux.intel.com>
6c72fcc34Sopenharmony_ci
7c72fcc34Sopenharmony_ci#include "aconfig.h"
8c72fcc34Sopenharmony_ci#include <stdio.h>
9c72fcc34Sopenharmony_ci#include <stdint.h>
10c72fcc34Sopenharmony_ci#include <alsa/global.h>
11c72fcc34Sopenharmony_ci#include "ssp-debug.h"
12c72fcc34Sopenharmony_ci#include "../intel-nhlt.h"
13c72fcc34Sopenharmony_ci
14c72fcc34Sopenharmony_ci#ifdef NHLT_DEBUG
15c72fcc34Sopenharmony_ci
16c72fcc34Sopenharmony_civoid ssp_print_calculated(struct intel_ssp_params *ssp)
17c72fcc34Sopenharmony_ci{
18c72fcc34Sopenharmony_ci	struct ssp_intel_config_data *blob;
19c72fcc34Sopenharmony_ci	struct ssp_intel_config_data_1_5 *blob15;
20c72fcc34Sopenharmony_ci	struct ssp_aux_blob *blob_aux;
21c72fcc34Sopenharmony_ci	int ssp_index = ssp->ssp_count;
22c72fcc34Sopenharmony_ci	uint32_t *ptr;
23c72fcc34Sopenharmony_ci	int i, j;
24c72fcc34Sopenharmony_ci
25c72fcc34Sopenharmony_ci	fprintf(stdout, "printing ssp nhlt calculated data:\n");
26c72fcc34Sopenharmony_ci
27c72fcc34Sopenharmony_ci	/* top level struct */
28c72fcc34Sopenharmony_ci	fprintf(stdout, "ssp index %d\n", ssp_index);
29c72fcc34Sopenharmony_ci
30c72fcc34Sopenharmony_ci	fprintf(stdout, "ssp %d dai_index: %u\n", ssp_index, ssp->ssp_dai_index[ssp_index]);
31c72fcc34Sopenharmony_ci
32c72fcc34Sopenharmony_ci	fprintf(stdout, "ssp blob version %u\n", ssp->ssp_prm[ssp_index].version);
33c72fcc34Sopenharmony_ci
34c72fcc34Sopenharmony_ci	fprintf(stdout, "ssp %d hw_config_count: %u\n", ssp_index,
35c72fcc34Sopenharmony_ci		ssp->ssp_hw_config_count[ssp_index]);
36c72fcc34Sopenharmony_ci
37c72fcc34Sopenharmony_ci	fprintf(stdout, "\n");
38c72fcc34Sopenharmony_ci
39c72fcc34Sopenharmony_ci	for (i = 0; i < ssp->ssp_hw_config_count[ssp_index]; i++) {
40c72fcc34Sopenharmony_ci		fprintf(stdout, "ssp blob %d hw_config %d\n", ssp->ssp_count, i);
41c72fcc34Sopenharmony_ci		if (ssp->ssp_prm[ssp_index].version == SSP_BLOB_VER_1_5) {
42c72fcc34Sopenharmony_ci			blob15 = &ssp->ssp_blob_1_5[ssp_index][i];
43c72fcc34Sopenharmony_ci			fprintf(stdout, "gateway_attributes %u\n", blob15->gateway_attributes);
44c72fcc34Sopenharmony_ci			fprintf(stdout, "version %u\n", blob15->version);
45c72fcc34Sopenharmony_ci			fprintf(stdout, "size %u\n", blob15->size);
46c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[0] 0x%08x\n", blob15->ts_group[0]);
47c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[1] 0x%08x\n", blob15->ts_group[1]);
48c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[2] 0x%08x\n", blob15->ts_group[2]);
49c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[3] 0x%08x\n", blob15->ts_group[3]);
50c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[4] 0x%08x\n", blob15->ts_group[4]);
51c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[5] 0x%08x\n", blob15->ts_group[5]);
52c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[6] 0x%08x\n", blob15->ts_group[6]);
53c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[7] 0x%08x\n", blob15->ts_group[7]);
54c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc0 0x%08x\n", blob15->ssc0);
55c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc1 0x%08x\n", blob15->ssc1);
56c72fcc34Sopenharmony_ci			fprintf(stdout, "sscto 0x%08x\n", blob15->sscto);
57c72fcc34Sopenharmony_ci			fprintf(stdout, "sspsp 0x%08x\n", blob15->sspsp);
58c72fcc34Sopenharmony_ci			fprintf(stdout, "sstsa 0x%08x\n", blob15->sstsa);
59c72fcc34Sopenharmony_ci			fprintf(stdout, "ssrsa 0x%08x\n", blob15->ssrsa);
60c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc2 0x%08x\n", blob15->ssc2);
61c72fcc34Sopenharmony_ci			fprintf(stdout, "sspsp2 0x%08x\n", blob15->sspsp2);
62c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc3 0x%08x\n", blob15->ssc3);
63c72fcc34Sopenharmony_ci			fprintf(stdout, "ssioc 0x%08x\n", blob15->ssioc);
64c72fcc34Sopenharmony_ci			fprintf(stdout, "mdivc 0x%08x\n", blob15->mdivctlr);
65c72fcc34Sopenharmony_ci			fprintf(stdout, "mdivr count 0x%08x\n", blob15->mdivrcnt);
66c72fcc34Sopenharmony_ci			for (j = 0; j < blob15->mdivrcnt; j++)
67c72fcc34Sopenharmony_ci				fprintf(stdout, "mdivr 0x%08x\n",
68c72fcc34Sopenharmony_ci					ssp->ssp_prm[ssp_index].mdivr[i].mdivrs[j]);
69c72fcc34Sopenharmony_ci		} else {
70c72fcc34Sopenharmony_ci			blob = &ssp->ssp_blob[ssp_index][i];
71c72fcc34Sopenharmony_ci			fprintf(stdout, "gateway_attributes %u\n", blob->gateway_attributes);
72c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[0] 0x%08x\n", blob->ts_group[0]);
73c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[1] 0x%08x\n", blob->ts_group[1]);
74c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[2] 0x%08x\n", blob->ts_group[2]);
75c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[3] 0x%08x\n", blob->ts_group[3]);
76c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[4] 0x%08x\n", blob->ts_group[4]);
77c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[5] 0x%08x\n", blob->ts_group[5]);
78c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[6] 0x%08x\n", blob->ts_group[6]);
79c72fcc34Sopenharmony_ci			fprintf(stdout, "ts_group[7] 0x%08x\n", blob->ts_group[7]);
80c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc0 0x%08x\n", blob->ssc0);
81c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc1 0x%08x\n", blob->ssc1);
82c72fcc34Sopenharmony_ci			fprintf(stdout, "sscto 0x%08x\n", blob->sscto);
83c72fcc34Sopenharmony_ci			fprintf(stdout, "sspsp 0x%08x\n", blob->sspsp);
84c72fcc34Sopenharmony_ci			fprintf(stdout, "sstsa 0x%08x\n", blob->sstsa);
85c72fcc34Sopenharmony_ci			fprintf(stdout, "ssrsa 0x%08x\n", blob->ssrsa);
86c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc2 0x%08x\n", blob->ssc2);
87c72fcc34Sopenharmony_ci			fprintf(stdout, "sspsp2 0x%08x\n", blob->sspsp2);
88c72fcc34Sopenharmony_ci			fprintf(stdout, "ssc3 0x%08x\n", blob->ssc3);
89c72fcc34Sopenharmony_ci			fprintf(stdout, "ssioc 0x%08x\n", blob->ssioc);
90c72fcc34Sopenharmony_ci			fprintf(stdout, "mdivc 0x%08x\n", blob->mdivc);
91c72fcc34Sopenharmony_ci			fprintf(stdout, "mdivr 0x%08x\n", blob->mdivr);
92c72fcc34Sopenharmony_ci		}
93c72fcc34Sopenharmony_ci		blob_aux = (struct ssp_aux_blob *)&(ssp->ssp_blob_ext[ssp_index][i]);
94c72fcc34Sopenharmony_ci		fprintf(stdout, "aux_blob size  %u\n", blob_aux->size);
95c72fcc34Sopenharmony_ci		for (j = 0; j < blob_aux->size; j += 4) {
96c72fcc34Sopenharmony_ci			ptr = (uint32_t *)&(blob_aux->aux_blob[j]);
97c72fcc34Sopenharmony_ci			fprintf(stdout, "aux_blob %d 0x%08x\n", j, *ptr);
98c72fcc34Sopenharmony_ci		}
99c72fcc34Sopenharmony_ci
100c72fcc34Sopenharmony_ci		fprintf(stdout, "\n");
101c72fcc34Sopenharmony_ci	}
102c72fcc34Sopenharmony_ci
103c72fcc34Sopenharmony_ci	fprintf(stdout, "\n");
104c72fcc34Sopenharmony_ci}
105c72fcc34Sopenharmony_ci
106c72fcc34Sopenharmony_civoid ssp_print_internal(struct intel_ssp_params *ssp)
107c72fcc34Sopenharmony_ci{
108c72fcc34Sopenharmony_ci	struct ssp_aux_config_link *link;
109c72fcc34Sopenharmony_ci	struct ssp_aux_config_sync *sync;
110c72fcc34Sopenharmony_ci	struct ssp_aux_config_ext *ext;
111c72fcc34Sopenharmony_ci	struct ssp_aux_config_run *run;
112c72fcc34Sopenharmony_ci	struct ssp_aux_config_clk *clk;
113c72fcc34Sopenharmony_ci	struct ssp_aux_config_mn *mn;
114c72fcc34Sopenharmony_ci	struct ssp_aux_config_tr *tr;
115c72fcc34Sopenharmony_ci	struct ssp_config_dai *dai;
116c72fcc34Sopenharmony_ci	struct ssp_config_hw *hw_conf;
117c72fcc34Sopenharmony_ci	uint32_t enabled;
118c72fcc34Sopenharmony_ci	int i, j;
119c72fcc34Sopenharmony_ci
120c72fcc34Sopenharmony_ci	dai = &ssp->ssp_prm[ssp->ssp_count];
121c72fcc34Sopenharmony_ci
122c72fcc34Sopenharmony_ci	fprintf(stdout, "printing ssp nhlt internal data:\n");
123c72fcc34Sopenharmony_ci
124c72fcc34Sopenharmony_ci	fprintf(stdout, "io_clk %u\n", dai->io_clk);
125c72fcc34Sopenharmony_ci	fprintf(stdout, "dai_index %u\n", dai->dai_index);
126c72fcc34Sopenharmony_ci	fprintf(stdout, "mclk_id %u\n", dai->mclk_id);
127c72fcc34Sopenharmony_ci	fprintf(stdout, "sample_valid_bits %u\n", dai->sample_valid_bits);
128c72fcc34Sopenharmony_ci	fprintf(stdout, "mclk_direction %u\n", dai->mclk_direction);
129c72fcc34Sopenharmony_ci	fprintf(stdout, "frame_pulse_width %u\n", dai->frame_pulse_width);
130c72fcc34Sopenharmony_ci	fprintf(stdout, "tdm_per_slot_padding_flag %u\n", dai->tdm_per_slot_padding_flag);
131c72fcc34Sopenharmony_ci	fprintf(stdout, "clks_control %u\n", dai->clks_control);
132c72fcc34Sopenharmony_ci	fprintf(stdout, "quirks %u\n", dai->quirks);
133c72fcc34Sopenharmony_ci	fprintf(stdout, "bclk_delay %u\n", dai->bclk_delay);
134c72fcc34Sopenharmony_ci	fprintf(stdout, "version %u\n", dai->version);
135c72fcc34Sopenharmony_ci
136c72fcc34Sopenharmony_ci	fprintf(stdout, "\n");
137c72fcc34Sopenharmony_ci
138c72fcc34Sopenharmony_ci	fprintf(stdout, "hw_config_count %u\n", ssp->ssp_hw_config_count[ssp->ssp_count]);
139c72fcc34Sopenharmony_ci
140c72fcc34Sopenharmony_ci	for (i = 0; i < ssp->ssp_hw_config_count[ssp->ssp_count]; i++) {
141c72fcc34Sopenharmony_ci		hw_conf = &dai->hw_cfg[i];
142c72fcc34Sopenharmony_ci		fprintf(stdout, "mclk_rate %u\n", hw_conf->mclk_rate);
143c72fcc34Sopenharmony_ci		fprintf(stdout, "bclk_rate %u\n", hw_conf->bclk_rate);
144c72fcc34Sopenharmony_ci		fprintf(stdout, "fsync_rate %u\n", hw_conf->fsync_rate);
145c72fcc34Sopenharmony_ci		fprintf(stdout, "tdm_slots %u\n", hw_conf->tdm_slots);
146c72fcc34Sopenharmony_ci		fprintf(stdout, "tdm_slot_width %u\n", hw_conf->tdm_slot_width);
147c72fcc34Sopenharmony_ci		fprintf(stdout, "tx_slots %u\n", hw_conf->tx_slots);
148c72fcc34Sopenharmony_ci		fprintf(stdout, "rx_slots %u\n", hw_conf->rx_slots);
149c72fcc34Sopenharmony_ci		fprintf(stdout, "format %u\n", hw_conf->format);
150c72fcc34Sopenharmony_ci
151c72fcc34Sopenharmony_ci		enabled = dai->aux_cfg[i].enabled;
152c72fcc34Sopenharmony_ci		fprintf(stdout, "aux enabled %x\n", enabled);
153c72fcc34Sopenharmony_ci		fprintf(stdout, "\n");
154c72fcc34Sopenharmony_ci
155c72fcc34Sopenharmony_ci		mn = (struct ssp_aux_config_mn *)&(dai->aux_cfg[i].mn);
156c72fcc34Sopenharmony_ci		clk = (struct ssp_aux_config_clk *)&(dai->aux_cfg[i].clk);
157c72fcc34Sopenharmony_ci		tr = (struct ssp_aux_config_tr *)&(dai->aux_cfg[i].tr_start);
158c72fcc34Sopenharmony_ci		tr = (struct ssp_aux_config_tr *)&(dai->aux_cfg[i].tr_stop);
159c72fcc34Sopenharmony_ci		run = (struct ssp_aux_config_run *)&(dai->aux_cfg[i].run);
160c72fcc34Sopenharmony_ci		sync = (struct ssp_aux_config_sync *)&(dai->aux_cfg[i].sync);
161c72fcc34Sopenharmony_ci		ext = (struct ssp_aux_config_ext *)&(dai->aux_cfg[i].ext);
162c72fcc34Sopenharmony_ci		link = (struct ssp_aux_config_link *)&(dai->aux_cfg[i].link);
163c72fcc34Sopenharmony_ci
164c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_MN_DIVIDER_CONTROLS)) {
165c72fcc34Sopenharmony_ci			fprintf(stdout, "aux mn m_div %u\n", mn->m_div);
166c72fcc34Sopenharmony_ci			fprintf(stdout, "aux mn n_div %u\n", mn->n_div);
167c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
168c72fcc34Sopenharmony_ci		}
169c72fcc34Sopenharmony_ci
170c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_DMA_CLK_CONTROLS)) {
171c72fcc34Sopenharmony_ci			fprintf(stdout, "aux clk clock_warm_up %u\n", clk->clock_warm_up);
172c72fcc34Sopenharmony_ci			fprintf(stdout, "aux clk mclk %u\n", clk->mclk);
173c72fcc34Sopenharmony_ci			fprintf(stdout, "aux clk warm_up_ovr %u\n", clk->warm_up_ovr);
174c72fcc34Sopenharmony_ci			fprintf(stdout, "aux clk clock_stop_delay %u\n", clk->clock_stop_delay);
175c72fcc34Sopenharmony_ci			fprintf(stdout, "aux clk keep_running %u\n", clk->keep_running);
176c72fcc34Sopenharmony_ci			fprintf(stdout, "aux clk keep_running %u\n", clk->clock_stop_ovr);
177c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
178c72fcc34Sopenharmony_ci		}
179c72fcc34Sopenharmony_ci
180c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_DMA_TRANSMISSION_START)) {
181c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start sampling_frequency %u\n", tr->sampling_frequency);
182c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start bit_depth %u\n", tr->bit_depth);
183c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start channel_map %u\n", tr->channel_map);
184c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start channel_config %u\n", tr->channel_config);
185c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start interleaving_style %u\n", tr->interleaving_style);
186c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start number_of_channels %u\n", tr->number_of_channels);
187c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start valid_bit_depth %u\n", tr->valid_bit_depth);
188c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start sample_types %u\n", tr->sample_type);
189c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
190c72fcc34Sopenharmony_ci		}
191c72fcc34Sopenharmony_ci
192c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_DMA_TRANSMISSION_STOP)) {
193c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start sampling_frequency %u\n", tr->sampling_frequency);
194c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start bit_depth %u\n", tr->bit_depth);
195c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start channel_map %u\n", tr->channel_map);
196c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start channel_config %u\n", tr->channel_config);
197c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start interleaving_style %u\n", tr->interleaving_style);
198c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start number_of_channels %u\n", tr->number_of_channels);
199c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start valid_bit_depth %u\n", tr->valid_bit_depth);
200c72fcc34Sopenharmony_ci			fprintf(stdout, "aux tr start sample_types %u\n", tr->sample_type);
201c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
202c72fcc34Sopenharmony_ci		}
203c72fcc34Sopenharmony_ci
204c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_DMA_ALWAYS_RUNNING_MODE)) {
205c72fcc34Sopenharmony_ci			fprintf(stdout, "aux run always_run %u\n", run->always_run);
206c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
207c72fcc34Sopenharmony_ci		}
208c72fcc34Sopenharmony_ci
209c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_DMA_SYNC_DATA)) {
210c72fcc34Sopenharmony_ci			fprintf(stdout, "aux sync sync_denominator %u\n", sync->sync_denominator);
211c72fcc34Sopenharmony_ci			fprintf(stdout, "aux sync count %u\n", sync->count);
212c72fcc34Sopenharmony_ci
213c72fcc34Sopenharmony_ci			for (j = 0; j < sync->count; j++) {
214c72fcc34Sopenharmony_ci				fprintf(stdout, "aux sync node_id %u\n", sync->nodes[j].node_id);
215c72fcc34Sopenharmony_ci				fprintf(stdout, "aux sync sampling_rate %u\n", sync->nodes[j].sampling_rate);
216c72fcc34Sopenharmony_ci			}
217c72fcc34Sopenharmony_ci
218c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
219c72fcc34Sopenharmony_ci		}
220c72fcc34Sopenharmony_ci
221c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_DMA_CLK_CONTROLS_EXT)) {
222c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext mclk_policy_override %u\n", ext->mclk_policy_override);
223c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext mclk_always_running %u\n", ext->mclk_always_running);
224c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext mclk_starts_on_gtw_init %u\n", ext->mclk_starts_on_gtw_init);
225c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext mclk_starts_on_run %u\n", ext->mclk_starts_on_run);
226c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext mclk_starts_on_pause %u\n", ext->mclk_starts_on_pause);
227c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext mclk_stops_on_pause %u\n", ext->mclk_stops_on_pause);
228c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext mclk_stops_on_reset %u\n", ext->mclk_stops_on_reset);
229c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext bclk_policy_override %u\n", ext->bclk_policy_override);
230c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext bclk_always_running %u\n", ext->bclk_always_running);
231c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext bclk_starts_on_gtw_init %u\n", ext->bclk_starts_on_gtw_init);
232c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext bclk_starts_on_run %u\n", ext->bclk_starts_on_run);
233c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext bclk_starts_on_pause %u\n", ext->bclk_starts_on_pause);
234c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext bclk_stops_on_pause %u\n", ext->bclk_stops_on_pause);
235c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext bclk_stops_on_reset %u\n", ext->bclk_stops_on_reset);
236c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext sync_policy_override %u\n", ext->sync_policy_override);
237c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext sync_always_running %u\n", ext->sync_always_running);
238c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext sync_starts_on_gtw_init %u\n", ext->sync_starts_on_gtw_init);
239c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext sync_starts_on_run %u\n", ext->sync_starts_on_run);
240c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext sync_starts_on_pause %u\n", ext->sync_starts_on_pause);
241c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext sync_stops_on_pause %u\n", ext->sync_stops_on_pause);
242c72fcc34Sopenharmony_ci			fprintf(stdout, "aux ext sync_stops_on_reset %u\n", ext->sync_stops_on_reset);
243c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
244c72fcc34Sopenharmony_ci		}
245c72fcc34Sopenharmony_ci
246c72fcc34Sopenharmony_ci		if (enabled & BIT(SSP_LINK_CLK_SOURCE)) {
247c72fcc34Sopenharmony_ci			fprintf(stdout, "aux link clock_source %u\n", link->clock_source);
248c72fcc34Sopenharmony_ci			fprintf(stdout, "\n");
249c72fcc34Sopenharmony_ci		}
250c72fcc34Sopenharmony_ci	}
251c72fcc34Sopenharmony_ci
252c72fcc34Sopenharmony_ci	fprintf(stdout, "\n");
253c72fcc34Sopenharmony_ci}
254c72fcc34Sopenharmony_ci
255c72fcc34Sopenharmony_ci#else /* NHLT_DEBUG */
256c72fcc34Sopenharmony_civoid ssp_print_internal(struct intel_ssp_params *ssp ATTRIBUTE_UNUSED) {}
257c72fcc34Sopenharmony_civoid ssp_print_calculated(struct intel_ssp_params *ssp ATTRIBUTE_UNUSED) {}
258c72fcc34Sopenharmony_ci#endif
259