Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * rt711-sdw-sdca.h -- RT711 SDCA ALSA SoC audio driver header
0004  *
0005  * Copyright(c) 2021 Realtek Semiconductor Corp.
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 /* __RT711_SDW_SDCA_H__ */