| /* SPDX-License-Identifier: GPL-2.0-only */ |
| /* |
| * rt766-sdca-sdw.h -- RT766 SDCA ALSA SoC audio driver header |
| * |
| * Copyright(c) 2026 Realtek Semiconductor Corp. |
| */ |
| |
| #ifndef __RT766_SDW_H__ |
| #define __RT766_SDW_H__ |
| |
| #include <linux/regmap.h> |
| #include <linux/soundwire/sdw_registers.h> |
| |
| static const struct reg_default rt766_sdca_defaults[] = { |
| /* 0x40400289 - 0x4040028a */ |
| { RT766_MUTE_REG(UAJ, USER_FU41, 1), 0x01 }, |
| { RT766_MUTE_REG(UAJ, USER_FU41, 2), 0x01 }, |
| /* 0x40400291 - 0x40400292 */ |
| { RT766_VOLUME_REG(UAJ, USER_FU41, 1), 0x0000 }, |
| { RT766_VOLUME_REG(UAJ, USER_FU41, 2), 0x0000 }, |
| /* 0x40400789 - 0x4040078a */ |
| { RT766_MUTE_REG(UAJ, USER_FU36, 1), 0x01 }, |
| { RT766_MUTE_REG(UAJ, USER_FU36, 2), 0x01 }, |
| /* 0x40400791 - 0x40400792 */ |
| { RT766_VOLUME_REG(UAJ, USER_FU36, 1), 0x0000 }, |
| { RT766_VOLUME_REG(UAJ, USER_FU36, 2), 0x0000 }, |
| { RT766_PDE_REQ_REG(UAJ, PDE47), 0x03 }, /* 0x40401408 */ |
| { RT766_PDE_REQ_REG(UAJ, PDE34), 0x03 }, /* 0x40401488 */ |
| { RT766_SDCA_CTL(UAJ, CS41, SDCA_CTL_CS_SAMPLERATEINDEX), 0x09 }, /* 0x40480080 */ |
| { RT766_SDCA_CTL(UAJ, CS36, SDCA_CTL_CS_SAMPLERATEINDEX), 0x09 }, /* 0x40480880 */ |
| /* 0x40600259 - 0x4060025a */ |
| { RT766_GAIN_REG(UAJ, PLATFORM_FU33, 1), 0xfe00 }, |
| { RT766_GAIN_REG(UAJ, PLATFORM_FU33, 2), 0xfe00 }, |
| { RT766_SDCA_CTL(UAJ, GE49, SDCA_CTL_GE_SELECTED_MODE), 0x00 }, /* 0x40600488 */ |
| |
| { RT766_PDE_REQ_REG(MIC, PDE11), 0x03 }, /* 0x40801508 */ |
| /* 0x40801809 - 0x4080180c */ |
| { RT766_MUTE_REG(MIC, USER_FU113, 1), 0x01 }, |
| { RT766_MUTE_REG(MIC, USER_FU113, 2), 0x01 }, |
| { RT766_MUTE_REG(MIC, USER_FU113, 3), 0x01 }, |
| { RT766_MUTE_REG(MIC, USER_FU113, 4), 0x01 }, |
| /* 0x40801811 - 0x40801814 */ |
| { RT766_VOLUME_REG(MIC, USER_FU113, 1), 0x0000 }, |
| { RT766_VOLUME_REG(MIC, USER_FU113, 2), 0x0000 }, |
| { RT766_VOLUME_REG(MIC, USER_FU113, 3), 0x0000 }, |
| { RT766_VOLUME_REG(MIC, USER_FU113, 4), 0x0000 }, |
| { RT766_SDCA_CTL(MIC, CS113, SDCA_CTL_CS_SAMPLERATEINDEX), 0x09 }, /* 0x40880900 */ |
| |
| /* 0x41000189 - 0x4100018a */ |
| { RT766_MUTE_REG(AMP, USER_FU21, 1), 0x01 }, |
| { RT766_MUTE_REG(AMP, USER_FU21, 2), 0x01 }, |
| /* 0x41000191 - 0x41000192 */ |
| { RT766_VOLUME_REG(AMP, USER_FU21, 1), 0x0000 }, |
| { RT766_VOLUME_REG(AMP, USER_FU21, 2), 0x0000 }, |
| { RT766_PDE_REQ_REG(AMP, PDE23), 0x03 }, /* 0x41001988 */ |
| { RT766_SDCA_CTL(AMP, PPU21, SDCA_CTL_PPU_POSTURENUMBER), 0x00 }, /* 0x41080200 */ |
| { RT766_SDCA_CTL(AMP, CS21, SDCA_CTL_CS_SAMPLERATEINDEX), 0x09 }, /* 0x41081080 */ |
| |
| }; |
| |
| #endif /* __RT766_SDW_H__ */ |