Browse Source

asoc: Update SWR Port Types for Kalama chipset

Add PBR, CPS port types and port parameters for WSA
Update RX and TX port types to include full list of ports

Change-Id: I5b69ee777addebcf4167dccd4ce4ab0af31b754d
Signed-off-by: Matthew Rice <[email protected]>
Matthew Rice 3 years ago
parent
commit
a0a83d7e42

+ 6 - 5
asoc/codecs/swr-dmic.c

@@ -37,6 +37,7 @@
 
 static int swr_master_channel_map[] = {
 	ZERO,
+	SWRM_TX_PCM_OUT,
 	SWRM_TX1_CH1,
 	SWRM_TX1_CH2,
 	SWRM_TX1_CH3,
@@ -49,7 +50,7 @@ static int swr_master_channel_map[] = {
 	SWRM_TX3_CH2,
 	SWRM_TX3_CH3,
 	SWRM_TX3_CH4,
-	SWRM_PCM_IN,
+	SWRM_TX_PCM_IN,
 };
 
 /*
@@ -364,10 +365,10 @@ err_port_map:
 }
 
 static const char * const tx_master_port_text[] = {
-	"ZERO", "SWRM_TX1_CH1", "SWRM_TX1_CH2", "SWRM_TX1_CH3", "SWRM_TX1_CH4",
-	"SWRM_TX2_CH1", "SWRM_TX2_CH2", "SWRM_TX2_CH3", "SWRM_TX2_CH4",
-	"SWRM_TX3_CH1", "SWRM_TX3_CH2", "SWRM_TX3_CH3", "SWRM_TX3_CH4",
-	"SWRM_PCM_IN",
+	"ZERO", "SWRM_PCM_OUT", "SWRM_TX1_CH1", "SWRM_TX1_CH2", "SWRM_TX1_CH3",
+	"SWRM_TX1_CH4", "SWRM_TX2_CH1", "SWRM_TX2_CH2", "SWRM_TX2_CH3",
+	"SWRM_TX2_CH4", "SWRM_TX3_CH1", "SWRM_TX3_CH2", "SWRM_TX3_CH3",
+	"SWRM_TX3_CH4", "SWRM_PCM_IN",
 };
 
 static const struct soc_enum tx_master_port_enum =

+ 4 - 4
asoc/codecs/wcd938x/wcd938x.c

@@ -2886,10 +2886,10 @@ static int wcd938x_ldoh_put(struct snd_kcontrol *kcontrol,
 }
 
 const char * const tx_master_ch_text[] = {
-	"ZERO", "SWRM_TX1_CH1", "SWRM_TX1_CH2", "SWRM_TX1_CH3", "SWRM_TX1_CH4",
-	"SWRM_TX2_CH1", "SWRM_TX2_CH2", "SWRM_TX2_CH3", "SWRM_TX2_CH4",
-	"SWRM_TX3_CH1", "SWRM_TX3_CH2", "SWRM_TX3_CH3", "SWRM_TX3_CH4",
-	"SWRM_PCM_IN",
+	"ZERO", "SWRM_PCM_OUT", "SWRM_TX1_CH1", "SWRM_TX1_CH2", "SWRM_TX1_CH3",
+	"SWRM_TX1_CH4", "SWRM_TX2_CH1", "SWRM_TX2_CH2", "SWRM_TX2_CH3",
+	"SWRM_TX2_CH4", "SWRM_TX3_CH1", "SWRM_TX3_CH2", "SWRM_TX3_CH3",
+	"SWRM_TX3_CH4", "SWRM_PCM_IN",
 };
 
 const struct soc_enum tx_master_ch_enum =

+ 2 - 1
asoc/codecs/wcd938x/wcd938x.h

@@ -46,6 +46,7 @@ static const struct swr_slave_ch_map swr_slv_tx_ch_idx[] = {
 
 static int swr_master_ch_map[] = {
 	ZERO,
+	SWRM_TX_PCM_OUT,
 	SWRM_TX1_CH1,
 	SWRM_TX1_CH2,
 	SWRM_TX1_CH3,
@@ -58,7 +59,7 @@ static int swr_master_ch_map[] = {
 	SWRM_TX3_CH2,
 	SWRM_TX3_CH3,
 	SWRM_TX3_CH4,
-	SWRM_PCM_IN,
+	SWRM_TX_PCM_IN,
 };
 
 #if IS_ENABLED(CONFIG_SND_SOC_WCD938X)

+ 63 - 33
asoc/kalama-port-config.h

@@ -17,53 +17,83 @@
  */
 
 static struct port_params wsa_frame_params_default[SWR_MSTR_PORT_LEN] = {
-	{7,  1,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{31, 2,  0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{63, 12, 31,   0xFF, 0xFF, 0xFF,  0x1, 0xFF, 0xFF, 0x00, 0x00},
-	{7,  6,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{31, 18, 0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{63, 13, 31,   0xFF, 0xFF, 0xFF,  0x1, 0xFF, 0xFF, 0x00, 0x00},
-	{15, 7,  0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{15, 10, 0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
+	{7,    1,    0,    0,    0,    1,    0,    0,    0xFF, 0x00, 0x00}, /* SPKR1 */
+	{31,   3,    7,    0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* CMP1 */
+	{63,   5,    31,   0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* SB1 */
+	{7,    2,    0,    0,    0,    1,    0,    0,    0xFF, 0x00, 0x00}, /* SPKR2 */
+	{31,   4,    7,    0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* CMP2 */
+	{63,   21,   31,   0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* SB2 */
+	{399,  0,    0,    8,    0,    9,    0,    0,    0xFF, 0x00, 0x01}, /* PBR */
+	{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00}, /* HAPT */
+	{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01}, /* OCPM */
+	{15,   6,    0,    0,    15,   1,    1,    0,    0xFF, 0x01, 0x00}, /* IVS1 */
+	{15,   13,   0,    0,    15,   1,    1,    0,    0xFF, 0x01, 0x00}, /* IVS2 */
+	{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01}, /* ICPM */
+	{799,  0,    0,    15,   15,   25,   0,    0,    0xFF, 0x01, 0x01}, /* CPS */
+
 };
 
 static struct port_params wsa_frame_params_receiver[SWR_MSTR_PORT_LEN] = {
-	{3,  1,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{31, 2,  3,    0xFF, 0xFF, 0xFF, 0x1, 0xFF, 0xFF, 0x00, 0x00},
-	{63, 7,  0,   0xFF, 0xFF, 0xFF,  0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{3,  6,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{31, 18, 0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{63, 13, 31,   0xFF, 0xFF, 0xFF,  0x1, 0xFF, 0xFF, 0x00, 0x00},
-	{15, 3,  0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
-	{15, 10, 0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00},
+	{3,    1,    0,    0,    0,    1,    0,    0,    0xFF, 0x00, 0x00}, /* SPKR1 */
+	{31,   3,    7,    0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* CMP1 */
+	{63,   5,    31,   0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* SB1 */
+	{3,    2,    0,    0,    0,    1,    0,    0,    0xFF, 0x00, 0x00}, /* SPKR2 */
+	{31,   4,    7,    0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* CMP2 */
+	{63,   21,   31,   0,    0,    1,    1,    0,    0xFF, 0x00, 0x00}, /* SB2 */
+	{399,  0,    0,    8,    0,    9,    0,    0,    0xFF, 0x00, 0x01}, /* PBR */
+	{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00}, /* HAPT */
+	{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01}, /* OCPM */
+	{15,   6,    0,    0,    15,   1,    1,    0,    0xFF, 0x01, 0x00}, /* IVS1 */
+	{15,   13,   0,    0,    15,   1,    1,    0,    0xFF, 0x01, 0x00}, /* IVS2 */
+	{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01}, /* ICPM */
+	{799,  0,    0,    15,   15,   25,   0,    0,    0xFF, 0x01, 0x01}, /* CPS */
 };
 
 static struct port_params rx_frame_params_dsd[SWR_MSTR_PORT_LEN] = {
-	{3,  0,  0,  0xFF, 0xFF, 1,    0xFF, 0xFF, 1, 0x00, 0x00},
-	{31, 0,  0,  3,    6,    7,    0,    0xFF, 0, 0x00, 0x02},
-	{31, 11, 11, 0xFF, 0xFF, 4,    1,    0xFF, 0, 0x00, 0x02},
-	{7,  9,  0,  0xFF, 0xFF, 0xFF, 0xFF, 1,    0, 0x00, 0x00},
-	{3,  1,  0,  0xFF, 0xFF, 0xFF, 0xFF, 3,    0, 0x00, 0x00},
+	{3,     0,    0,    0xFF, 0xFF, 1,    0xFF, 0xFF, 1,    0x00, 0x00}, /* HPH/EAR */
+	{31,    0,    0,    3,    6,    7,    0,    0xFF, 0,    0x00, 0x02}, /* HPH_CLH */
+	{31,    11,   11,   0xFF, 0xFF, 4,    1,    0xFF, 0,    0x00, 0x02}, /* HPH_CMP */
+	{7,     9,    0,    0xFF, 0xFF, 0xFF, 0xFF, 1,    0,    0x00, 0x00}, /* LO/AUX */
+	{3,     1,    0,    0xFF, 0xFF, 0xFF, 0xFF, 3,    0,    0x00, 0x00}, /* DSD */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* GPPO */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HAPT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HIFI */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HPHT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* CMPT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* IPCM */
 };
 
 /* Headset + PCM Haptics */
 static struct port_params rx_frame_params_default[SWR_MSTR_PORT_LEN] = {
-	{3,  0,  0,  0xFF, 0xFF, 1,    0xFF, 0xFF, 1, 0x00, 0x00}, /* HPH/EAR */
-	{31, 0,  0,  3,    6,    7,    0,    0xFF, 0, 0x00, 0x02}, /* HPH_CLH */
-	{31, 11, 11, 0xFF, 0xFF, 4,    1,    0xFF, 0, 0x00, 0x02}, /* HPH_CMP */
-	{7,  1,  0,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0x00, 0x00}, /* LO/AUX */
-	{0,  0,  0,  0xFF, 0xFF, 0xFF, 0xFF, 0,    0, 0x00, 0x00}, /* DSD */
-	{0x18F, 0, 0, 0x8, 0x8, 0x0F,  0x00, 0,    0, 0x00, 0x01}, /* PCM_OUT */
+	{3,     0,    0,    0xFF, 0xFF, 1,    0xFF, 0xFF, 1,    0x00, 0x00}, /* HPH/EAR */
+	{31,    0,    0,    3,    6,    7,    0,    0xFF, 0,    0x00, 0x02}, /* HPH_CLH */
+	{31,    11,   11,   0xFF, 0xFF, 4,    1,    0xFF, 0,    0x00, 0x02}, /* HPH_CMP */
+	{7,     1,    0,    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0,    0x00, 0x00}, /* LO/AUX */
+	{0,     0,    0,    0xFF, 0xFF, 0xFF, 0xFF, 0,    0,    0x00, 0x00}, /* DSD */
+	{0x18F, 0,    0,    0x8,  0x8,  0x0F, 0x00, 0,    0,    0x00, 0x01}, /* PCM_OUT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* GPPO */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HAPT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HIFI */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HPHT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* CMPT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* IPCM */
+
 };
 
 /* Headset(44.1K) + PCM Haptics */
 static struct port_params rx_frame_params_44p1KHz[SWR_MSTR_PORT_LEN] = {
-	{3,  0,  0,  0xFF, 0xFF, 1,    0xFF, 0xFF, 1, 0x00, 0x00}, /* HPH/EAR */
-	{63, 0,  0,  3,    6,    7,    0,    0xFF, 0, 0x00, 0x02}, /* HPH_CLH */
-	{31, 11, 11, 0xFF, 0xFF, 4,    1,    0xFF, 0, 0x00, 0x02}, /* HPH_CMP */
-	{3,  1,  0,  0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0, 0x00, 0x00}, /* LO/AUX */
-	{0,  0,  0,  0xFF, 0xFF, 0xFF, 0xFF, 0,    0, 0x00, 0x00}, /* DSD */
-	{0x1FF, 0, 0, 0x8, 0x8, 0x0F, 0, 0,    0, 0x00, 0x01}, /* PCM_OUT */
+	{3,     0,    0,    0xFF, 0xFF, 1,    0xFF, 0xFF, 1,    0x00, 0x00}, /* HPH/EAR */
+	{63,    0,    0,    3,    6,    7,    0,    0xFF, 0,    0x00, 0x02}, /* HPH_CLH */
+	{31,    11,   11,   0xFF, 0xFF, 4,    1,    0xFF, 0,    0x00, 0x02}, /* HPH_CMP */
+	{3,     1,    0,    0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0,    0x00, 0x00}, /* LO/AUX */
+	{0,     0,    0,    0xFF, 0xFF, 0xFF, 0xFF, 0,    0,    0x00, 0x00}, /* DSD */
+	{0x1FF, 0,    0,    0x8,  0x8,  0x0F, 0,    0,    0,    0x00, 0x01}, /* PCM_OUT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* GPPO */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HAPT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HIFI */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* HPHT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* CMPT */
+	{0xFF,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* IPCM */
 };
 
 static struct swr_mstr_port_map sm_port_map[] = {

+ 7 - 6
asoc/kalama.c

@@ -1439,15 +1439,16 @@ static struct snd_soc_card *populate_snd_card_dailinks(struct device *dev, int w
 
 static int msm_int_wsa_init(struct snd_soc_pcm_runtime *rtd)
 {
-	u8 spkleft_ports[WSA884X_MAX_SWR_PORTS] = {0, 1, 2, 3};
-	u8 spkright_ports[WSA884X_MAX_SWR_PORTS] = {0, 1, 2, 3};
+	u8 spkleft_ports[WSA884X_MAX_SWR_PORTS] = {0, 1, 2, 3, 4, 5};
+	u8 spkright_ports[WSA884X_MAX_SWR_PORTS] = {0, 1, 2, 3, 4, 5};
 	u8 spkleft_port_types[WSA884X_MAX_SWR_PORTS] = {SPKR_L, SPKR_L_COMP,
-						SPKR_L_BOOST, SPKR_L_VI};
+						SPKR_L_BOOST, PBR, SPKR_L_VI, CPS};
 	u8 spkright_port_types[WSA884X_MAX_SWR_PORTS] = {SPKR_R, SPKR_R_COMP,
-						SPKR_R_BOOST, SPKR_R_VI};
+						SPKR_R_BOOST, PBR, SPKR_R_VI, CPS};
 	unsigned int ch_rate[WSA884X_MAX_SWR_PORTS] = {SWR_CLK_RATE_2P4MHZ, SWR_CLK_RATE_0P6MHZ,
-							SWR_CLK_RATE_0P3MHZ, SWR_CLK_RATE_1P2MHZ};
-	unsigned int ch_mask[WSA884X_MAX_SWR_PORTS] = {0x1, 0xF, 0x3, 0x3};
+							SWR_CLK_RATE_0P3MHZ, SWR_CLK_RATE_48KHZ,
+							SWR_CLK_RATE_1P2MHZ, SWR_CLK_RATE_24KHZ};
+	unsigned int ch_mask[WSA884X_MAX_SWR_PORTS] = {0x1, 0xF, 0x3, 0x3, 0x3, 0x3};
 
 
 	struct snd_soc_component *component = NULL;

+ 55 - 43
include/bindings/audio-codec-port-types.h

@@ -28,48 +28,60 @@
 #define SPKR_L 1
 #define SPKR_L_COMP 2
 #define SPKR_L_BOOST 3
-#define SPKR_L_VI 4
-#define SPKR_R 5
-#define SPKR_R_COMP 6
-#define SPKR_R_BOOST 7
-#define SPKR_R_VI 8
-#define HPH_L 9
-#define HPH_R 10
-#define COMP_L 11
-#define COMP_R 12
-#define CLSH 13
-#define LO 14
-#define DSD_L 15
-#define DSD_R 16
-#define MBHC 17
-#define ADC1 18
-#define ADC2 19
-#define ADC3 20
-#define ADC4 21
-#define DMIC0 22
-#define DMIC1 23
-#define DMIC2 24
-#define DMIC3 25
-#define DMIC4 26
-#define DMIC5 27
-#define DMIC6 28
-#define DMIC7 29
-#define DMIC8 30
-#define DMIC9 31
-#define DMIC10 32
-#define PCM_OUT1 33
-#define SWRM_TX1_CH1 34
-#define SWRM_TX1_CH2 35
-#define SWRM_TX1_CH3 36
-#define SWRM_TX1_CH4 37
-#define SWRM_TX2_CH1 38
-#define SWRM_TX2_CH2 39
-#define SWRM_TX2_CH3 40
-#define SWRM_TX2_CH4 41
-#define SWRM_TX3_CH1 42
-#define SWRM_TX3_CH2 43
-#define SWRM_TX3_CH3 44
-#define SWRM_TX3_CH4 45
-#define SWRM_PCM_IN 46
+#define SPKR_R 4
+#define SPKR_R_COMP 5
+#define SPKR_R_BOOST 6
+#define PBR 7
+#define SPKR_HAPT 8
+#define OCPM 9
+#define SPKR_L_VI 10
+#define SPKR_R_VI 11
+#define SPKR_IPCM 12
+#define CPS 13
+#define HPH_L 14
+#define HPH_R 15
+#define COMP_L 16
+#define COMP_R 17
+#define CLSH 18
+#define LO 19
+#define DSD_L 20
+#define DSD_R 21
+#define PCM_OUT1 22
+#define GPPO 23
+#define HAPT 24
+#define HIFI 25
+#define HPTH 26
+#define CMPT 27
+#define IPCM 28
+#define MBHC 29
+#define ADC1 30
+#define ADC2 31
+#define ADC3 32
+#define ADC4 33
+#define DMIC0 34
+#define DMIC1 35
+#define DMIC2 36
+#define DMIC3 37
+#define DMIC4 38
+#define DMIC5 39
+#define DMIC6 40
+#define DMIC7 41
+#define DMIC8 42
+#define DMIC9 43
+#define DMIC10 44
+#define SWRM_TX_PCM_OUT 45
+#define SWRM_TX1_CH1 46
+#define SWRM_TX1_CH2 47
+#define SWRM_TX1_CH3 48
+#define SWRM_TX1_CH4 49
+#define SWRM_TX2_CH1 50
+#define SWRM_TX2_CH2 51
+#define SWRM_TX2_CH3 52
+#define SWRM_TX2_CH4 53
+#define SWRM_TX3_CH1 54
+#define SWRM_TX3_CH2 55
+#define SWRM_TX3_CH3 56
+#define SWRM_TX3_CH4 57
+#define SWRM_TX_PCM_IN 58
 
 #endif /* __AUDIO_CODEC_PORT_TYPES_H */

+ 3 - 1
include/soc/soundwire.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _LINUX_SOUNDWIRE_H
@@ -19,6 +19,8 @@ enum {
 	SWR_UC_MAX,
 };
 
+#define SWR_CLK_RATE_24KHZ        24000
+#define SWR_CLK_RATE_48KHZ        48000
 #define SWR_CLK_RATE_0P3MHZ       300000
 #define SWR_CLK_RATE_0P6MHZ       600000
 #define SWR_CLK_RATE_1P2MHZ      1200000

+ 2 - 2
include/soc/swr-common.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2015, 2017-2020 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015, 2017-2021 The Linux Foundation. All rights reserved.
  */
 
 #ifndef _LINUX_SWR_COMMON_H
@@ -36,6 +36,6 @@ struct swr_mstr_port_map {
 	struct port_params *swr_port_params;
 };
 
-#define SWR_MSTR_PORT_LEN      8 /* Number of master ports */
+#define SWR_MSTR_PORT_LEN      13 /* Number of master ports */
 
 #endif /* _LINUX_SWR_COMMON_H */

+ 2 - 2
soc/swr-mstr-ctrl.h

@@ -15,7 +15,7 @@
 #include <linux/debugfs.h>
 #include <linux/uaccess.h>
 
-#define SWR_MSTR_MAX_REG_ADDR	0x6B160A8
+#define SWR_MSTR_MAX_REG_ADDR	0x60A8
 #define SWR_MSTR_START_REG_ADDR	0x00
 #define SWR_MSTR_MAX_BUF_LEN     32
 #define BYTES_PER_LINE          12
@@ -32,7 +32,7 @@
 
 #define SWR_WCD_NAME	"swr-wcd"
 
-#define SWR_MSTR_PORT_LEN	8 /* Number of master ports */
+#define SWR_MSTR_PORT_LEN	13 /* Number of master ports */
 
 #define SWRM_VERSION_1_0 0x01010000
 #define SWRM_VERSION_1_2 0x01030000