18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __DRM_I2C_TDA998X_H__
38c2ecf20Sopenharmony_ci#define __DRM_I2C_TDA998X_H__
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <linux/hdmi.h>
68c2ecf20Sopenharmony_ci#include <dt-bindings/display/tda998x.h>
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cienum {
98c2ecf20Sopenharmony_ci	AFMT_UNUSED =	0,
108c2ecf20Sopenharmony_ci	AFMT_SPDIF =	TDA998x_SPDIF,
118c2ecf20Sopenharmony_ci	AFMT_I2S =	TDA998x_I2S,
128c2ecf20Sopenharmony_ci};
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cistruct tda998x_audio_params {
158c2ecf20Sopenharmony_ci	u8 config;
168c2ecf20Sopenharmony_ci	u8 format;
178c2ecf20Sopenharmony_ci	unsigned sample_width;
188c2ecf20Sopenharmony_ci	unsigned sample_rate;
198c2ecf20Sopenharmony_ci	struct hdmi_audio_infoframe cea;
208c2ecf20Sopenharmony_ci	u8 status[5];
218c2ecf20Sopenharmony_ci};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_cistruct tda998x_encoder_params {
248c2ecf20Sopenharmony_ci	u8 swap_b:3;
258c2ecf20Sopenharmony_ci	u8 mirr_b:1;
268c2ecf20Sopenharmony_ci	u8 swap_a:3;
278c2ecf20Sopenharmony_ci	u8 mirr_a:1;
288c2ecf20Sopenharmony_ci	u8 swap_d:3;
298c2ecf20Sopenharmony_ci	u8 mirr_d:1;
308c2ecf20Sopenharmony_ci	u8 swap_c:3;
318c2ecf20Sopenharmony_ci	u8 mirr_c:1;
328c2ecf20Sopenharmony_ci	u8 swap_f:3;
338c2ecf20Sopenharmony_ci	u8 mirr_f:1;
348c2ecf20Sopenharmony_ci	u8 swap_e:3;
358c2ecf20Sopenharmony_ci	u8 mirr_e:1;
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	struct tda998x_audio_params audio_params;
388c2ecf20Sopenharmony_ci};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci#endif
41