linux/sound/soc/codecs/rt1318-sdw.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * rt1318-sdw.h -- RT1318 SDCA ALSA SoC audio driver header
 *
 * Copyright(c) 2022 Realtek Semiconductor Corp.
 */

#ifndef __RT1318_SDW_H__
#define __RT1318_SDW_H__

#include <linux/regmap.h>
#include <linux/soundwire/sdw.h>
#include <linux/soundwire/sdw_type.h>
#include <linux/soundwire/sdw_registers.h>
#include <sound/soc.h>

/* imp-defined registers */
#define RT1318_SAPU_SM

#define R1318_TCON
#define R1318_TCON_RELATED_1

#define R1318_SPK_TEMPERATRUE_PROTECTION_0
#define R1318_SPK_TEMPERATRUE_PROTECTION_L_4
#define R1318_SPK_TEMPERATRUE_PROTECTION_R_4

#define R1318_SPK_TEMPERATRUE_PROTECTION_L_6
#define R1318_SPK_TEMPERATRUE_PROTECTION_R_6

#define RT1318_INIT_RECIPROCAL_REG_L_24
#define RT1318_INIT_RECIPROCAL_REG_L_23_16
#define RT1318_INIT_RECIPROCAL_REG_L_15_8
#define RT1318_INIT_RECIPROCAL_REG_L_7_0
#define RT1318_INIT_RECIPROCAL_REG_R_24
#define RT1318_INIT_RECIPROCAL_REG_R_23_16
#define RT1318_INIT_RECIPROCAL_REG_R_15_8
#define RT1318_INIT_RECIPROCAL_REG_R_7_0

#define RT1318_INIT_R0_RECIPROCAL_SYN_L_24
#define RT1318_INIT_R0_RECIPROCAL_SYN_L_23_16
#define RT1318_INIT_R0_RECIPROCAL_SYN_L_15_8
#define RT1318_INIT_R0_RECIPROCAL_SYN_L_7_0
#define RT1318_INIT_R0_RECIPROCAL_SYN_R_24
#define RT1318_INIT_R0_RECIPROCAL_SYN_R_23_16
#define RT1318_INIT_R0_RECIPROCAL_SYN_R_15_8
#define RT1318_INIT_R0_RECIPROCAL_SYN_R_7_0

#define RT1318_R0_COMPARE_FLAG_L
#define RT1318_R0_COMPARE_FLAG_R

#define RT1318_STP_INITIAL_RS_TEMP_H
#define RT1318_STP_INITIAL_RS_TEMP_L

/* RT1318 SDCA Control - function number */
#define FUNC_NUM_SMART_AMP

/* RT1318 SDCA entity */
#define RT1318_SDCA_ENT_PDE23
#define RT1318_SDCA_ENT_XU24
#define RT1318_SDCA_ENT_FU21
#define RT1318_SDCA_ENT_UDMPU21
#define RT1318_SDCA_ENT_CS21
#define RT1318_SDCA_ENT_SAPU

/* RT1318 SDCA control */
#define RT1318_SDCA_CTL_SAMPLE_FREQ_INDEX
#define RT1318_SDCA_CTL_REQ_POWER_STATE
#define RT1318_SDCA_CTL_FU_MUTE
#define RT1318_SDCA_CTL_FU_VOLUME
#define RT1318_SDCA_CTL_UDMPU_CLUSTER
#define RT1318_SDCA_CTL_SAPU_PROTECTION_MODE
#define RT1318_SDCA_CTL_SAPU_PROTECTION_STATUS

/* RT1318 SDCA channel */
#define CH_L
#define CH_R

/* sample frequency index */
#define RT1318_SDCA_RATE_16000HZ
#define RT1318_SDCA_RATE_32000HZ
#define RT1318_SDCA_RATE_44100HZ
#define RT1318_SDCA_RATE_48000HZ
#define RT1318_SDCA_RATE_96000HZ
#define RT1318_SDCA_RATE_192000HZ


struct rt1318_sdw_priv {};

#endif /* __RT1318_SDW_H__ */