1*38c89fedSNiranjan H Y /* SPDX-License-Identifier: GPL-2.0 2*38c89fedSNiranjan H Y * 3*38c89fedSNiranjan H Y * ALSA SoC Texas Instruments TAC5XX2 Audio Smart Amplifier 4*38c89fedSNiranjan H Y * 5*38c89fedSNiranjan H Y * Copyright (C) 2025 Texas Instruments Incorporated 6*38c89fedSNiranjan H Y * https://www.ti.com 7*38c89fedSNiranjan H Y * 8*38c89fedSNiranjan H Y * This the header file for TAC5XX2 family of devices 9*38c89fedSNiranjan H Y * which includes TAC5572, TAC5672, TAC5682 and TAS2883 10*38c89fedSNiranjan H Y * 11*38c89fedSNiranjan H Y * Author: Niranjan H Y <niranjanhy@ti.com> 12*38c89fedSNiranjan H Y */ 13*38c89fedSNiranjan H Y #ifndef __RGL_TAC5XX2_H__ 14*38c89fedSNiranjan H Y #define __RGL_TAC5XX2_H__ 15*38c89fedSNiranjan H Y 16*38c89fedSNiranjan H Y /* for soundwire */ 17*38c89fedSNiranjan H Y #define TAC_REG_SDW(book, page, reg) (((book) * 256 * 128) + \ 18*38c89fedSNiranjan H Y 0x3000000 + ((page) * 128) + (reg)) 19*38c89fedSNiranjan H Y 20*38c89fedSNiranjan H Y /* page 0 registers */ 21*38c89fedSNiranjan H Y #define TAC_SW_RESET TAC_REG_SDW(0, 0, 1) 22*38c89fedSNiranjan H Y #define TAC_SLEEP_MODEZ TAC_REG_SDW(0, 0, 2) 23*38c89fedSNiranjan H Y #define TAC_FEATURE_PDZ TAC_REG_SDW(0, 0, 3) 24*38c89fedSNiranjan H Y #define TAC_TX_CH_EN TAC_REG_SDW(0, 0, 4) 25*38c89fedSNiranjan H Y #define TAC_RX_CH_PD TAC_REG_SDW(0, 0, 5) 26*38c89fedSNiranjan H Y #define TAC_SHDNZ_CFG TAC_REG_SDW(0, 0, 6) 27*38c89fedSNiranjan H Y #define TAC_MISC_CFG0 TAC_REG_SDW(0, 0, 7) 28*38c89fedSNiranjan H Y #define TAC_MISC_CFG1 TAC_REG_SDW(0, 0, 8) 29*38c89fedSNiranjan H Y #define TAC_GPIO1_CFG0 TAC_REG_SDW(0, 0, 9) 30*38c89fedSNiranjan H Y #define TAC_GPIO2_CFG0 TAC_REG_SDW(0, 0, 10) 31*38c89fedSNiranjan H Y #define TAC_GPIO3_CFG0 TAC_REG_SDW(0, 0, 11) 32*38c89fedSNiranjan H Y #define TAC_GPIO4_CFG0 TAC_REG_SDW(0, 0, 12) 33*38c89fedSNiranjan H Y #define TAC_GPIO5_CFG0 TAC_REG_SDW(0, 0, 13) 34*38c89fedSNiranjan H Y #define TAC_GPIO6_CFG0 TAC_REG_SDW(0, 0, 14) 35*38c89fedSNiranjan H Y #define TAC_INTF_CFG1 TAC_REG_SDW(0, 0, 15) 36*38c89fedSNiranjan H Y #define TAC_INTF_CFG5 TAC_REG_SDW(0, 0, 16) 37*38c89fedSNiranjan H Y #define TAC_PASI_BCLK_CFG0 TAC_REG_SDW(0, 0, 17) 38*38c89fedSNiranjan H Y #define TAC_PASI_FSYNC_CFG0 TAC_REG_SDW(0, 0, 18) 39*38c89fedSNiranjan H Y #define TAC_PASI_DIN1_CFG0 TAC_REG_SDW(0, 0, 19) 40*38c89fedSNiranjan H Y #define TAC_PASI_DIN2_CFG0 TAC_REG_SDW(0, 0, 20) 41*38c89fedSNiranjan H Y #define TAC_PDM_DIN1_CFG0 TAC_REG_SDW(0, 0, 21) 42*38c89fedSNiranjan H Y #define TAC_PDM_DIN2_CFG0 TAC_REG_SDW(0, 0, 22) 43*38c89fedSNiranjan H Y #define TAC_MCLK_SEL TAC_REG_SDW(0, 0, 23) 44*38c89fedSNiranjan H Y #define TAC_I2C2_CFG0 TAC_REG_SDW(0, 0, 24) 45*38c89fedSNiranjan H Y #define TAC_SDW_IO_CFG0 TAC_REG_SDW(0, 0, 25) 46*38c89fedSNiranjan H Y #define TAC_SDW_CLK_CFG0 TAC_REG_SDW(0, 0, 26) 47*38c89fedSNiranjan H Y #define TAC_PASI_CFG0 TAC_REG_SDW(0, 0, 27) 48*38c89fedSNiranjan H Y #define TAC_PASI_CFG1 TAC_REG_SDW(0, 0, 28) 49*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG0 TAC_REG_SDW(0, 0, 29) 50*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG1 TAC_REG_SDW(0, 0, 30) 51*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG2 TAC_REG_SDW(0, 0, 31) 52*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG3 TAC_REG_SDW(0, 0, 32) 53*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH1_CFG0 TAC_REG_SDW(0, 0, 33) 54*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH2_CFG0 TAC_REG_SDW(0, 0, 34) 55*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH3_CFG0 TAC_REG_SDW(0, 0, 35) 56*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH4_CFG0 TAC_REG_SDW(0, 0, 36) 57*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH5_CFG0 TAC_REG_SDW(0, 0, 37) 58*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH6_CFG0 TAC_REG_SDW(0, 0, 38) 59*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH7_CFG0 TAC_REG_SDW(0, 0, 39) 60*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH8_CFG0 TAC_REG_SDW(0, 0, 40) 61*38c89fedSNiranjan H Y #define TAC_PASI_RX_CFG0 TAC_REG_SDW(0, 0, 41) 62*38c89fedSNiranjan H Y #define TAC_PASI_RX_CFG1 TAC_REG_SDW(0, 0, 42) 63*38c89fedSNiranjan H Y #define TAC_PASI_RX_CFG2 TAC_REG_SDW(0, 0, 43) 64*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH1_CFG0 TAC_REG_SDW(0, 0, 44) 65*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH2_CFG0 TAC_REG_SDW(0, 0, 45) 66*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH3_CFG0 TAC_REG_SDW(0, 0, 46) 67*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH4_CFG0 TAC_REG_SDW(0, 0, 47) 68*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH5_CFG0 TAC_REG_SDW(0, 0, 48) 69*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH6_CFG0 TAC_REG_SDW(0, 0, 49) 70*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH7_CFG0 TAC_REG_SDW(0, 0, 50) 71*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH8_CFG0 TAC_REG_SDW(0, 0, 51) 72*38c89fedSNiranjan H Y #define TAC_ADC_CH1_CFG0 TAC_REG_SDW(0, 0, 52) 73*38c89fedSNiranjan H Y #define TAC_ADC_DVOL_CFG0 TAC_REG_SDW(0, 0, 53) 74*38c89fedSNiranjan H Y #define TAC_ADC_CH1_FGAIN TAC_REG_SDW(0, 0, 54) 75*38c89fedSNiranjan H Y #define TAC_ADC_CH1_CFG1 TAC_REG_SDW(0, 0, 55) 76*38c89fedSNiranjan H Y #define TAC_ADC_CH2_CFG0 TAC_REG_SDW(0, 0, 57) 77*38c89fedSNiranjan H Y #define TAC_ADC_DVOL_CFG1 TAC_REG_SDW(0, 0, 58) 78*38c89fedSNiranjan H Y #define TAC_ADC_CH2_FGAIN TAC_REG_SDW(0, 0, 59) 79*38c89fedSNiranjan H Y #define TAC_ADC_CH2_CFG1 TAC_REG_SDW(0, 0, 60) 80*38c89fedSNiranjan H Y #define TAC_ADC_CFG1 TAC_REG_SDW(0, 0, 62) 81*38c89fedSNiranjan H Y #define TAC_PDM_CH1_DVOL TAC_REG_SDW(0, 0, 63) 82*38c89fedSNiranjan H Y #define TAC_PDM_CH1_FGAIN TAC_REG_SDW(0, 0, 64) 83*38c89fedSNiranjan H Y #define TAC_PDM_CH1_CFG0 TAC_REG_SDW(0, 0, 65) 84*38c89fedSNiranjan H Y #define TAC_PDM_CH2_DVOL TAC_REG_SDW(0, 0, 67) 85*38c89fedSNiranjan H Y #define TAC_PDM_CH2_FGAIN TAC_REG_SDW(0, 0, 68) 86*38c89fedSNiranjan H Y #define TAC_PDM_CH2_CFG2 TAC_REG_SDW(0, 0, 69) 87*38c89fedSNiranjan H Y #define TAC_PDM_CH3_DVOL TAC_REG_SDW(0, 0, 71) 88*38c89fedSNiranjan H Y #define TAC_PDM_CH3_FGAIN TAC_REG_SDW(0, 0, 72) 89*38c89fedSNiranjan H Y #define TAC_PDM_CH3_CFG0 TAC_REG_SDW(0, 0, 73) 90*38c89fedSNiranjan H Y #define TAC_PDM_CH4_DVOL TAC_REG_SDW(0, 0, 75) 91*38c89fedSNiranjan H Y #define TAC_PDM_CH4_FGAIN TAC_REG_SDW(0, 0, 76) 92*38c89fedSNiranjan H Y #define TAC_PDM_CH4_CFG0 TAC_REG_SDW(0, 0, 77) 93*38c89fedSNiranjan H Y #define TAC_MICBIAS_CFG0 TAC_REG_SDW(0, 0, 79) 94*38c89fedSNiranjan H Y #define TAC_MICPREAMP_CFG TAC_REG_SDW(0, 0, 80) 95*38c89fedSNiranjan H Y #define TAC_MICBIAS_CFG1 TAC_REG_SDW(0, 0, 81) 96*38c89fedSNiranjan H Y #define TAC_CLASSD_CH1_DVOL TAC_REG_SDW(0, 0, 82) 97*38c89fedSNiranjan H Y #define TAC_CLASSD_CH1_FGAIN TAC_REG_SDW(0, 0, 83) 98*38c89fedSNiranjan H Y #define TAC_CLASSD_CH2_DVOL TAC_REG_SDW(0, 0, 85) 99*38c89fedSNiranjan H Y #define TAC_CLASSD_CH2_FGAIN TAC_REG_SDW(0, 0, 86) 100*38c89fedSNiranjan H Y #define TAC_GCHP_CH1_DVOL TAC_REG_SDW(0, 0, 88) 101*38c89fedSNiranjan H Y #define TAC_GCHP_CH1_FGAIN TAC_REG_SDW(0, 0, 89) 102*38c89fedSNiranjan H Y #define TAC_GCHP_CH2_DVOL TAC_REG_SDW(0, 0, 91) 103*38c89fedSNiranjan H Y #define TAC_GCHP_CH2_FGAIN TAC_REG_SDW(0, 0, 92) 104*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG0 TAC_REG_SDW(0, 0, 94) 105*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG1 TAC_REG_SDW(0, 0, 95) 106*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG2 TAC_REG_SDW(0, 0, 96) 107*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG3 TAC_REG_SDW(0, 0, 97) 108*38c89fedSNiranjan H Y #define TAC_EFF_MODE_CFG0 TAC_REG_SDW(0, 0, 98) 109*38c89fedSNiranjan H Y #define TAC_EFF_MODE_CFG1 TAC_REG_SDW(0, 0, 99) 110*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG0 TAC_REG_SDW(0, 0, 100) 111*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG1 TAC_REG_SDW(0, 0, 101) 112*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG3 TAC_REG_SDW(0, 0, 102) 113*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG4 TAC_REG_SDW(0, 0, 103) 114*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG5 TAC_REG_SDW(0, 0, 104) 115*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG6 TAC_REG_SDW(0, 0, 105) 116*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG8 TAC_REG_SDW(0, 0, 106) 117*38c89fedSNiranjan H Y #define TAC_ISNS_CFG TAC_REG_SDW(0, 0, 107) 118*38c89fedSNiranjan H Y #define TAC_DSP_CFG0 TAC_REG_SDW(0, 0, 108) 119*38c89fedSNiranjan H Y #define TAC_DSP_CFG1 TAC_REG_SDW(0, 0, 109) 120*38c89fedSNiranjan H Y #define TAC_DSP_CFG2 TAC_REG_SDW(0, 0, 110) 121*38c89fedSNiranjan H Y #define TAC_DSP_CFG3 TAC_REG_SDW(0, 0, 111) 122*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG1 TAC_REG_SDW(0, 0, 112) 123*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG2 TAC_REG_SDW(0, 0, 113) 124*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG3 TAC_REG_SDW(0, 0, 114) 125*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG4 TAC_REG_SDW(0, 0, 115) 126*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG7 TAC_REG_SDW(0, 0, 116) 127*38c89fedSNiranjan H Y #define TAC_UJ_IMPEDANCE_L TAC_REG_SDW(0, 0, 117) 128*38c89fedSNiranjan H Y #define TAC_UJ_IMPEDANCE_R TAC_REG_SDW(0, 0, 118) 129*38c89fedSNiranjan H Y #define UJ_IMPEDANCE_L TAC_REG_SDW(0, 0, 119) 130*38c89fedSNiranjan H Y #define UJ_IMPEDANCE_R TAC_REG_SDW(0, 0, 120) 131*38c89fedSNiranjan H Y #define TAC_GP_ANA_STS TAC_REG_SDW(0, 0, 123) 132*38c89fedSNiranjan H Y #define TAC_DEV_ID TAC_REG_SDW(0, 0, 124) 133*38c89fedSNiranjan H Y #define TAC_REV_ID TAC_REG_SDW(0, 0, 125) 134*38c89fedSNiranjan H Y #define TAC_I2C_CKSUM TAC_REG_SDW(0, 0, 126) 135*38c89fedSNiranjan H Y #define TAC_BOOK TAC_REG_SDW(0, 0, 127) 136*38c89fedSNiranjan H Y 137*38c89fedSNiranjan H Y #define TAC_INT_CFG TAC_REG_SDW(0, 2, 1) 138*38c89fedSNiranjan H Y #define TAC_INT_CFG_CLR_REG BIT(3) 139*38c89fedSNiranjan H Y 140*38c89fedSNiranjan H Y /* smartamp function */ 141*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_SA 0x1 142*38c89fedSNiranjan H Y 143*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_ENT0 0x0 144*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PPU21 0x1 145*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU21 0x2 146*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU26 0x3 147*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_XU22 0x4 148*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS24 0x5 149*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS21 0x6 150*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS25 0x7 151*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS26 0x8 152*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS28 0x9 153*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PPU26 0xa 154*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU23 0xb 155*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE23 0xc 156*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_TG23 0x12 157*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT21 0x13 158*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT29 0x14 159*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT26 0x15 160*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT28 0x16 161*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT24 0x17 162*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT23 0x18 163*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT25 0x19 164*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT28 0x1a 165*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT27 0x1c 166*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_SPE199 0x21 167*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT20 0x24 168*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU27 0x26 169*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU20 0x27 170*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE24 0x2e 171*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE27 0x2f 172*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE28 0x30 173*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE20 0x31 174*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_SAPU29 0x35 175*38c89fedSNiranjan H Y 176*38c89fedSNiranjan H Y /* Control selector definitions */ 177*38c89fedSNiranjan H Y #define TAC_SDCA_MASTER_GAIN 0x0B 178*38c89fedSNiranjan H Y #define TAC_SDCA_MASTER_MUTE 0x01 179*38c89fedSNiranjan H Y #define TAC_SDCA_CHANNEL_MUTE 0x01 180*38c89fedSNiranjan H Y #define TAC_SDCA_CHANNEL_GAIN 0x02 181*38c89fedSNiranjan H Y #define TAC_SDCA_POSTURENUMBER 0x10 182*38c89fedSNiranjan H Y #define TAC_SDCA_REQUESTED_PS 0x01 183*38c89fedSNiranjan H Y #define TAC_SDCA_ACTUAL_PS 0x10 184*38c89fedSNiranjan H Y #define TAC_SDCA_CHANNEL_VOLUME 0x02 185*38c89fedSNiranjan H Y 186*38c89fedSNiranjan H Y /* 2. smart mic function */ 187*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_SM 0x2 188*38c89fedSNiranjan H Y 189*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT11 0x1 190*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT113 0x2 191*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS11 0x3 192*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS18 0x4 193*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU113 0x5 194*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU13 0x6 195*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU11 0x8 196*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_XU12 0xa 197*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS113 0xc 198*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CX11 0xf 199*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE11 0x12 200*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PPU11 0x9 201*38c89fedSNiranjan H Y 202*38c89fedSNiranjan H Y /* controls */ 203*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_USAGE 0x04 204*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_IT_CLUSTER 0x10 205*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_OT_DP_SEL 0x11 206*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_XU_BYPASS 0x01 207*38c89fedSNiranjan H Y /* cx */ 208*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_CX_CLK_SEL 0x01 209*38c89fedSNiranjan H Y /* cs */ 210*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_CS_CLKVLD 0x02 211*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_CS_SAMP_RATE_IDX 0x10 212*38c89fedSNiranjan H Y /* cs113 end */ 213*38c89fedSNiranjan H Y /* ppu */ 214*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_PPU_POSTURE_NUM 0x10 215*38c89fedSNiranjan H Y 216*38c89fedSNiranjan H Y /* 3. UAJ function */ 217*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_UAJ 0x3 218*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE47 0x35 219*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE34 0x32 220*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU41 0x26 /* user */ 221*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT41 0x07 222*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_XU42 0x2C 223*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS41 0x30 224*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT45 0x0E 225*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT33 0x03 226*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT36 0x0A 227*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU36 0x28 228*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS36 0x2E 229*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_GE35 0x3B /* 59 */ 230*38c89fedSNiranjan H Y 231*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_SEL_MODE 0x1 232*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_DET_MODE 0x2 233*38c89fedSNiranjan H Y 234*38c89fedSNiranjan H Y /* 4. HID function */ 235*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_HID 0x4 236*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_HID1 0x1 237*38c89fedSNiranjan H Y /* HID Control Selectors */ 238*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_HIDTX_CURRENT_OWNER 0x10 239*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_HIDTX_MESSAGE_OFFSET 0x12 240*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_HIDTX_MESSAGE_LENGTH 0x13 241*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_DETECTED_MODE 0x10 242*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_SELECTED_MODE 0x11 243*38c89fedSNiranjan H Y 244*38c89fedSNiranjan H Y #define TAC_BUF_ADDR_HID1 0x44007F80 245*38c89fedSNiranjan H Y 246*38c89fedSNiranjan H Y /* DAI interfaces */ 247*38c89fedSNiranjan H Y #define TAC5XX2_SPK 0 248*38c89fedSNiranjan H Y #define TAC5XX2_DMIC 2 249*38c89fedSNiranjan H Y #define TAC5XX2_UAJ 3 250*38c89fedSNiranjan H Y 251*38c89fedSNiranjan H Y /* Port numbers for DAIs */ 252*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_SPK_PLAYBACK 1 253*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_SPK_CAPTURE 2 254*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_DMIC 3 255*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_UAJ_PLAYBACK 4 256*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_UAJ_CAPTURE 7 257*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_IV_SENSE 8 258*38c89fedSNiranjan H Y 259*38c89fedSNiranjan H Y #endif 260