0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __RT711_SDW_SDCA_H__
0009 #define __RT711_SDW_SDCA_H__
0010
0011 #include <linux/regmap.h>
0012 #include <linux/soundwire/sdw_registers.h>
0013
0014 static const struct reg_default rt711_sdca_reg_defaults[] = {
0015 { 0x201a, 0x00 },
0016 { 0x201e, 0x00 },
0017 { 0x201f, 0x00 },
0018 { 0x2020, 0x00 },
0019 { 0x2021, 0x00 },
0020 { 0x2022, 0x00 },
0021 { 0x2023, 0x00 },
0022 { 0x2024, 0x00 },
0023 { 0x2025, 0x01 },
0024 { 0x2026, 0x00 },
0025 { 0x2027, 0x00 },
0026 { 0x2029, 0x00 },
0027 { 0x202a, 0x00 },
0028 { 0x202d, 0x00 },
0029 { 0x202e, 0x00 },
0030 { 0x202f, 0x00 },
0031 { 0x2030, 0x00 },
0032 { 0x2031, 0x00 },
0033 { 0x2032, 0x00 },
0034 { 0x2033, 0x00 },
0035 { 0x2230, 0x00 },
0036 { 0x2231, 0x2f },
0037 { 0x2232, 0x80 },
0038 { 0x2233, 0x00 },
0039 { 0x2234, 0x00 },
0040 { 0x2235, 0x00 },
0041 { 0x2236, 0x00 },
0042 { 0x2237, 0x00 },
0043 { 0x2238, 0x00 },
0044 { 0x2239, 0x00 },
0045 { 0x2f01, 0x00 },
0046 { 0x2f02, 0x09 },
0047 { 0x2f03, 0x00 },
0048 { 0x2f04, 0x00 },
0049 { 0x2f05, 0x0b },
0050 { 0x2f06, 0x01 },
0051 { 0x2f08, 0x00 },
0052 { 0x2f09, 0x00 },
0053 { 0x2f0a, 0x00 },
0054 { 0x2f0b, 0x00 },
0055 { 0x2f0c, 0x00 },
0056 { 0x2f0d, 0x00 },
0057 { 0x2f0e, 0x14 },
0058 { 0x2f0f, 0x00 },
0059 { 0x2f50, 0x03 },
0060 { 0x2f5a, 0x00 },
0061 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_CS01, RT711_SDCA_CTL_SAMPLE_FREQ_INDEX, 0), 0x09 },
0062 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU05, RT711_SDCA_CTL_FU_MUTE, CH_L), 0x01 },
0063 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU05, RT711_SDCA_CTL_FU_MUTE, CH_R), 0x01 },
0064 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU0F, RT711_SDCA_CTL_FU_MUTE, CH_L), 0x01 },
0065 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU0F, RT711_SDCA_CTL_FU_MUTE, CH_R), 0x01 },
0066 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_PDE28, RT711_SDCA_CTL_REQ_POWER_STATE, 0), 0x03 },
0067 { SDW_SDCA_CTL(FUNC_NUM_MIC_ARRAY, RT711_SDCA_ENT_USER_FU1E, RT711_SDCA_CTL_FU_MUTE, CH_L), 0x01 },
0068 { SDW_SDCA_CTL(FUNC_NUM_MIC_ARRAY, RT711_SDCA_ENT_USER_FU1E, RT711_SDCA_CTL_FU_MUTE, CH_R), 0x01 },
0069 };
0070
0071 static const struct reg_default rt711_sdca_mbq_defaults[] = {
0072 { 0x2000009, 0x1029 },
0073 { 0x2000011, 0x007a },
0074 { 0x200001a, 0x8003 },
0075 { 0x2000045, 0x5289 },
0076 { 0x2000048, 0x8049 },
0077 { 0x200004a, 0xa83b },
0078 { 0x200006b, 0x5064 },
0079 { 0x200006f, 0x058b },
0080 { 0x5800000, 0x0008 },
0081 { 0x5800001, 0x0000 },
0082 { 0x5f00001, 0x000a },
0083 { 0x6100000, 0x6100 },
0084 { 0x6100035, 0x0060 },
0085 { 0x6100036, 0x0029 },
0086 { 0x610003f, 0xff12 },
0087 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU05, RT711_SDCA_CTL_FU_VOLUME, CH_L), 0x00 },
0088 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU05, RT711_SDCA_CTL_FU_VOLUME, CH_R), 0x00 },
0089 { SDW_SDCA_CTL(FUNC_NUM_MIC_ARRAY, RT711_SDCA_ENT_USER_FU1E, RT711_SDCA_CTL_FU_VOLUME, CH_L), 0x00 },
0090 { SDW_SDCA_CTL(FUNC_NUM_MIC_ARRAY, RT711_SDCA_ENT_USER_FU1E, RT711_SDCA_CTL_FU_VOLUME, CH_R), 0x00 },
0091 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU0F, RT711_SDCA_CTL_FU_VOLUME, CH_L), 0x00 },
0092 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_USER_FU0F, RT711_SDCA_CTL_FU_VOLUME, CH_R), 0x00 },
0093 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_PLATFORM_FU44, RT711_SDCA_CTL_FU_CH_GAIN, CH_L), 0x00 },
0094 { SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT711_SDCA_ENT_PLATFORM_FU44, RT711_SDCA_CTL_FU_CH_GAIN, CH_R), 0x00 },
0095 { SDW_SDCA_CTL(FUNC_NUM_MIC_ARRAY, RT711_SDCA_ENT_PLATFORM_FU15, RT711_SDCA_CTL_FU_CH_GAIN, CH_L), 0x00 },
0096 { SDW_SDCA_CTL(FUNC_NUM_MIC_ARRAY, RT711_SDCA_ENT_PLATFORM_FU15, RT711_SDCA_CTL_FU_CH_GAIN, CH_R), 0x00 },
0097 };
0098
0099 #endif