@@ -2229,14 +2229,16 @@ SND_SOC_DAPM_PGA_E("HPOUT", SND_SOC_NOPM, 0, 0, NULL, 0, hp_event,
22292229
22302230SND_SOC_DAPM_OUTPUT ("HPOUTL" ),
22312231SND_SOC_DAPM_OUTPUT ("HPOUTR" ),
2232+
2233+ SND_SOC_DAPM_PGA ("SPKOUTL Output" , WM8962_CLASS_D_CONTROL_1 , 6 , 0 , NULL , 0 ),
2234+ SND_SOC_DAPM_PGA ("SPKOUTR Output" , WM8962_CLASS_D_CONTROL_1 , 7 , 0 , NULL , 0 ),
22322235};
22332236
22342237static const struct snd_soc_dapm_widget wm8962_dapm_spk_mono_widgets [] = {
22352238SND_SOC_DAPM_MIXER ("Speaker Mixer" , WM8962_MIXER_ENABLES , 1 , 0 ,
22362239 spkmixl , ARRAY_SIZE (spkmixl )),
22372240SND_SOC_DAPM_MUX_E ("Speaker PGA" , WM8962_PWR_MGMT_2 , 4 , 0 , & spkoutl_mux ,
22382241 out_pga_event , SND_SOC_DAPM_POST_PMU ),
2239- SND_SOC_DAPM_PGA ("Speaker Output" , WM8962_CLASS_D_CONTROL_1 , 7 , 0 , NULL , 0 ),
22402242SND_SOC_DAPM_OUTPUT ("SPKOUT" ),
22412243};
22422244
@@ -2251,9 +2253,6 @@ SND_SOC_DAPM_MUX_E("SPKOUTL PGA", WM8962_PWR_MGMT_2, 4, 0, &spkoutl_mux,
22512253SND_SOC_DAPM_MUX_E ("SPKOUTR PGA" , WM8962_PWR_MGMT_2 , 3 , 0 , & spkoutr_mux ,
22522254 out_pga_event , SND_SOC_DAPM_POST_PMU ),
22532255
2254- SND_SOC_DAPM_PGA ("SPKOUTR Output" , WM8962_CLASS_D_CONTROL_1 , 7 , 0 , NULL , 0 ),
2255- SND_SOC_DAPM_PGA ("SPKOUTL Output" , WM8962_CLASS_D_CONTROL_1 , 6 , 0 , NULL , 0 ),
2256-
22572256SND_SOC_DAPM_OUTPUT ("SPKOUTL" ),
22582257SND_SOC_DAPM_OUTPUT ("SPKOUTR" ),
22592258};
@@ -2366,12 +2365,18 @@ static const struct snd_soc_dapm_route wm8962_spk_mono_intercon[] = {
23662365 { "Speaker PGA" , "Mixer" , "Speaker Mixer" },
23672366 { "Speaker PGA" , "DAC" , "DACL" },
23682367
2369- { "Speaker Output" , NULL , "Speaker PGA" },
2370- { "Speaker Output" , NULL , "SYSCLK" },
2371- { "Speaker Output" , NULL , "TOCLK" },
2372- { "Speaker Output" , NULL , "TEMP_SPK" },
2368+ { "SPKOUTL Output" , NULL , "Speaker PGA" },
2369+ { "SPKOUTL Output" , NULL , "SYSCLK" },
2370+ { "SPKOUTL Output" , NULL , "TOCLK" },
2371+ { "SPKOUTL Output" , NULL , "TEMP_SPK" },
23732372
2374- { "SPKOUT" , NULL , "Speaker Output" },
2373+ { "SPKOUTR Output" , NULL , "Speaker PGA" },
2374+ { "SPKOUTR Output" , NULL , "SYSCLK" },
2375+ { "SPKOUTR Output" , NULL , "TOCLK" },
2376+ { "SPKOUTR Output" , NULL , "TEMP_SPK" },
2377+
2378+ { "SPKOUT" , NULL , "SPKOUTL Output" },
2379+ { "SPKOUT" , NULL , "SPKOUTR Output" },
23752380};
23762381
23772382static const struct snd_soc_dapm_route wm8962_spk_stereo_intercon [] = {
@@ -2914,8 +2919,12 @@ static int wm8962_set_fll(struct snd_soc_component *component, int fll_id, int s
29142919 switch (fll_id ) {
29152920 case WM8962_FLL_MCLK :
29162921 case WM8962_FLL_BCLK :
2922+ fll1 |= (fll_id - 1 ) << WM8962_FLL_REFCLK_SRC_SHIFT ;
2923+ break ;
29172924 case WM8962_FLL_OSC :
29182925 fll1 |= (fll_id - 1 ) << WM8962_FLL_REFCLK_SRC_SHIFT ;
2926+ snd_soc_component_update_bits (component , WM8962_PLL2 ,
2927+ WM8962_OSC_ENA , WM8962_OSC_ENA );
29192928 break ;
29202929 case WM8962_FLL_INT :
29212930 snd_soc_component_update_bits (component , WM8962_FLL_CONTROL_1 ,
@@ -2924,7 +2933,7 @@ static int wm8962_set_fll(struct snd_soc_component *component, int fll_id, int s
29242933 WM8962_FLL_FRC_NCO , WM8962_FLL_FRC_NCO );
29252934 break ;
29262935 default :
2927- dev_err (component -> dev , "Unknown FLL source %d\n" , ret );
2936+ dev_err (component -> dev , "Unknown FLL source %d\n" , source );
29282937 return - EINVAL ;
29292938 }
29302939
0 commit comments