162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __DRM_I2C_TDA998X_H__
362306a36Sopenharmony_ci#define __DRM_I2C_TDA998X_H__
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/hdmi.h>
662306a36Sopenharmony_ci#include <dt-bindings/display/tda998x.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_cienum {
962306a36Sopenharmony_ci	AFMT_UNUSED =	0,
1062306a36Sopenharmony_ci	AFMT_SPDIF =	TDA998x_SPDIF,
1162306a36Sopenharmony_ci	AFMT_I2S =	TDA998x_I2S,
1262306a36Sopenharmony_ci};
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistruct tda998x_audio_params {
1562306a36Sopenharmony_ci	u8 config;
1662306a36Sopenharmony_ci	u8 format;
1762306a36Sopenharmony_ci	unsigned sample_width;
1862306a36Sopenharmony_ci	unsigned sample_rate;
1962306a36Sopenharmony_ci	struct hdmi_audio_infoframe cea;
2062306a36Sopenharmony_ci	u8 status[5];
2162306a36Sopenharmony_ci};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_cistruct tda998x_encoder_params {
2462306a36Sopenharmony_ci	u8 swap_b:3;
2562306a36Sopenharmony_ci	u8 mirr_b:1;
2662306a36Sopenharmony_ci	u8 swap_a:3;
2762306a36Sopenharmony_ci	u8 mirr_a:1;
2862306a36Sopenharmony_ci	u8 swap_d:3;
2962306a36Sopenharmony_ci	u8 mirr_d:1;
3062306a36Sopenharmony_ci	u8 swap_c:3;
3162306a36Sopenharmony_ci	u8 mirr_c:1;
3262306a36Sopenharmony_ci	u8 swap_f:3;
3362306a36Sopenharmony_ci	u8 mirr_f:1;
3462306a36Sopenharmony_ci	u8 swap_e:3;
3562306a36Sopenharmony_ci	u8 mirr_e:1;
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	struct tda998x_audio_params audio_params;
3862306a36Sopenharmony_ci};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci#endif
41