@@ -1937,9 +1937,7 @@ static int dai_ssp_parse_tlv(struct dai_intel_ssp *dp, const uint8_t *aux_ptr, s
19371937 struct ssp_intel_ext_ctl * ext ;
19381938#if SSP_IP_VER >= SSP_IP_VER_1_5
19391939 struct ssp_intel_link_ctl * link ;
1940- #if SSP_IP_VER > SSP_IP_VER_1_5
19411940 struct dai_intel_ssp_plat_data * ssp = dai_get_plat_data (dp );
1942- #endif
19431941#endif
19441942
19451943 for (i = 0 ; i < aux_len ; i += hop ) {
@@ -1987,13 +1985,13 @@ static int dai_ssp_parse_tlv(struct dai_intel_ssp *dp, const uint8_t *aux_ptr, s
19871985 case SSP_LINK_CLK_SOURCE :
19881986#if SSP_IP_VER >= SSP_IP_VER_1_5
19891987 link = (struct ssp_intel_link_ctl * )& aux_tlv -> val ;
1988+ ssp -> link_clock = link -> clock_source ;
19901989#if SSP_IP_VER < SSP_IP_VER_2_0
19911990 sys_write32 ((sys_read32 (dai_ip_base (dp ) + I2SLCTL_OFFSET ) &
19921991 ~I2CLCTL_MLCS (0x7 )) |
19931992 I2CLCTL_MLCS (link -> clock_source ), dai_ip_base (dp ) +
19941993 I2SLCTL_OFFSET );
19951994#elif SSP_IP_VER > SSP_IP_VER_1_5
1996- ssp -> link_clock = link -> clock_source ;
19971995 sys_write32 ((sys_read32 (dai_i2svss_base (dp ) + I2SLCTL_OFFSET ) &
19981996 ~I2CLCTL_MLCS (0x7 )) |
19991997 I2CLCTL_MLCS (link -> clock_source ),
@@ -2563,6 +2561,11 @@ static void ssp_acquire_ip(struct dai_intel_ssp *dp)
25632561 ~I2CLCTL_MLCS (0x7 )) |
25642562 I2CLCTL_MLCS (ssp -> link_clock ),
25652563 dai_i2svss_base (dp ) + I2SLCTL_OFFSET );
2564+ #elif SSP_IP_VER == SSP_IP_VER_1_5
2565+ sys_write32 ((sys_read32 (dai_ip_base (dp ) + I2SLCTL_OFFSET ) &
2566+ ~I2CLCTL_MLCS (0x7 )) |
2567+ I2CLCTL_MLCS (ssp -> link_clock ), dai_ip_base (dp ) +
2568+ I2SLCTL_OFFSET );
25662569#endif
25672570 }
25682571}
@@ -2595,6 +2598,11 @@ static void ssp_release_ip(struct dai_intel_ssp *dp)
25952598 ~I2CLCTL_MLCS (0x7 )) |
25962599 I2CLCTL_MLCS (DAI_INTEL_SSP_CLOCK_XTAL_OSCILLATOR ),
25972600 dai_i2svss_base (dp ) + I2SLCTL_OFFSET );
2601+ #elif SSP_IP_VER == SSP_IP_VER_1_5
2602+ sys_write32 ((sys_read32 (dai_ip_base (dp ) + I2SLCTL_OFFSET ) &
2603+ ~I2CLCTL_MLCS (0x7 )) |
2604+ I2CLCTL_MLCS (DAI_INTEL_SSP_CLOCK_XTAL_OSCILLATOR ),
2605+ dai_ip_base (dp ) + I2SLCTL_OFFSET );
25982606#endif
25992607
26002608 dai_ssp_pm_runtime_en_ssp_clk_gating (dp , ssp -> ssp_index );
0 commit comments