/* SPDX-License-Identifier: GPL-2.0 */
/*
* rt1308-sdw.h -- RT1308 ALSA SoC audio driver header
*
* Copyright(c) 2019 Realtek Semiconductor Corp.
*/
#ifndef __RT1308_SDW_H__
#define __RT1308_SDW_H__
static const struct reg_default rt1308_reg_defaults[] = {
{ 0 x0000, 0 x00 },
{ 0 x0001, 0 x00 },
{ 0 x0002, 0 x00 },
{ 0 x0003, 0 x00 },
{ 0 x0004, 0 x00 },
{ 0 x0005, 0 x01 },
{ 0 x0020, 0 x00 },
{ 0 x0022, 0 x00 },
{ 0 x0023, 0 x00 },
{ 0 x0024, 0 x00 },
{ 0 x0025, 0 x00 },
{ 0 x0026, 0 x00 },
{ 0 x0030, 0 x00 },
{ 0 x0032, 0 x00 },
{ 0 x0033, 0 x00 },
{ 0 x0034, 0 x00 },
{ 0 x0035, 0 x00 },
{ 0 x0036, 0 x00 },
{ 0 x0040, 0 x00 },
{ 0 x0041, 0 x00 },
{ 0 x0042, 0 x00 },
{ 0 x0043, 0 x00 },
{ 0 x0044, 0 x20 },
{ 0 x0045, 0 x01 },
{ 0 x0046, 0 x01 },
{ 0 x0048, 0 x00 },
{ 0 x0049, 0 x00 },
{ 0 x0050, 0 x20 },
{ 0 x0051, 0 x02 },
{ 0 x0052, 0 x5D },
{ 0 x0053, 0 x13 },
{ 0 x0054, 0 x08 },
{ 0 x0055, 0 x00 },
{ 0 x0060, 0 x00 },
{ 0 x0070, 0 x00 },
{ 0 x00E0, 0 x00 },
{ 0 x00F0, 0 x00 },
{ 0 x0100, 0 x00 },
{ 0 x0101, 0 x00 },
{ 0 x0102, 0 x20 },
{ 0 x0103, 0 x00 },
{ 0 x0104, 0 x00 },
{ 0 x0105, 0 x03 },
{ 0 x0120, 0 x00 },
{ 0 x0122, 0 x00 },
{ 0 x0123, 0 x00 },
{ 0 x0124, 0 x00 },
{ 0 x0125, 0 x00 },
{ 0 x0126, 0 x00 },
{ 0 x0127, 0 x00 },
{ 0 x0130, 0 x00 },
{ 0 x0132, 0 x00 },
{ 0 x0133, 0 x00 },
{ 0 x0134, 0 x00 },
{ 0 x0135, 0 x00 },
{ 0 x0136, 0 x00 },
{ 0 x0137, 0 x00 },
{ 0 x0200, 0 x00 },
{ 0 x0201, 0 x00 },
{ 0 x0202, 0 x00 },
{ 0 x0203, 0 x00 },
{ 0 x0204, 0 x00 },
{ 0 x0205, 0 x03 },
{ 0 x0220, 0 x00 },
{ 0 x0222, 0 x00 },
{ 0 x0223, 0 x00 },
{ 0 x0224, 0 x00 },
{ 0 x0225, 0 x00 },
{ 0 x0226, 0 x00 },
{ 0 x0227, 0 x00 },
{ 0 x0230, 0 x00 },
{ 0 x0232, 0 x00 },
{ 0 x0233, 0 x00 },
{ 0 x0234, 0 x00 },
{ 0 x0235, 0 x00 },
{ 0 x0236, 0 x00 },
{ 0 x0237, 0 x00 },
{ 0 x0400, 0 x00 },
{ 0 x0401, 0 x00 },
{ 0 x0402, 0 x00 },
{ 0 x0403, 0 x00 },
{ 0 x0404, 0 x00 },
{ 0 x0405, 0 x03 },
{ 0 x0420, 0 x00 },
{ 0 x0422, 0 x00 },
{ 0 x0423, 0 x00 },
{ 0 x0424, 0 x00 },
{ 0 x0425, 0 x00 },
{ 0 x0426, 0 x00 },
{ 0 x0427, 0 x00 },
{ 0 x0430, 0 x00 },
{ 0 x0432, 0 x00 },
{ 0 x0433, 0 x00 },
{ 0 x0434, 0 x00 },
{ 0 x0435, 0 x00 },
{ 0 x0436, 0 x00 },
{ 0 x0437, 0 x00 },
{ 0 x0f00, 0 x00 },
{ 0 x0f01, 0 x00 },
{ 0 x0f02, 0 x00 },
{ 0 x0f03, 0 x00 },
{ 0 x0f04, 0 x00 },
{ 0 x0f05, 0 x00 },
{ 0 x0f20, 0 x00 },
{ 0 x0f22, 0 x00 },
{ 0 x0f23, 0 x00 },
{ 0 x0f24, 0 x00 },
{ 0 x0f25, 0 x00 },
{ 0 x0f26, 0 x00 },
{ 0 x0f27, 0 x00 },
{ 0 x0f30, 0 x00 },
{ 0 x0f32, 0 x00 },
{ 0 x0f33, 0 x00 },
{ 0 x0f34, 0 x00 },
{ 0 x0f35, 0 x00 },
{ 0 x0f36, 0 x00 },
{ 0 x0f37, 0 x00 },
{ 0 x2f01, 0 x01 },
{ 0 x2f02, 0 x09 },
{ 0 x2f03, 0 x00 },
{ 0 x2f04, 0 x0f },
{ 0 x2f05, 0 x0b },
{ 0 x2f06, 0 x01 },
{ 0 x2f07, 0 x8e },
{ 0 x3000, 0 x00 },
{ 0 x3001, 0 x00 },
{ 0 x3004, 0 x01 },
{ 0 x3005, 0 x23 },
{ 0 x3008, 0 x02 },
{ 0 x300a, 0 x00 },
{ 0 xc000 | (RT1308_DATA_PATH << 4 ), 0 x00 },
{ 0 xc003 | (RT1308_DAC_SET << 4 ), 0 x00 },
{ 0 xc000 | (RT1308_POWER << 4 ), 0 x00 },
{ 0 xc001 | (RT1308_POWER << 4 ), 0 x00 },
{ 0 xc002 | (RT1308_POWER << 4 ), 0 x00 },
{ 0 xc000 | (RT1308_POWER_STATUS << 4 ), 0 x00 },
};
#define RT1308_SDW_OFFSET 0 xc000
#define RT1308_SDW_OFFSET_BYTE0 0 xc000
#define RT1308_SDW_OFFSET_BYTE1 0 xc001
#define RT1308_SDW_OFFSET_BYTE2 0 xc002
#define RT1308_SDW_OFFSET_BYTE3 0 xc003
#define RT1308_SDW_RESET (RT1308_SDW_OFFSET | (RT1308_RESET << 4 ))
struct rt1308_sdw_priv {
struct snd_soc_component *component;
struct regmap *regmap;
struct sdw_slave *sdw_slave;
struct sdw_bus_params params;
bool hw_init;
bool first_hw_init;
int rx_mask;
int slots;
int hw_ver;
unsigned char *bq_params;
unsigned int bq_params_cnt;
};
#endif /* __RT1308_SDW_H__ */
Messung V0.5 in Prozent C=92 H=96 G=93