Lines Matching +full:high +full:- +full:volume
2 * wm8997.c -- WM8997 ALSA SoC Audio driver
41 static DECLARE_TLV_DB_SCALE(eq_tlv, -1200, 100, 0);
42 static DECLARE_TLV_DB_SCALE(digital_tlv, -6400, 50, 0);
43 static DECLARE_TLV_DB_SCALE(noise_tlv, -13200, 600, 0);
44 static DECLARE_TLV_DB_SCALE(ng_tlv, -10200, 600, 0);
87 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in wm8997_sysclk_ev()
88 struct arizona *arizona = dev_get_drvdata(component->dev->parent); in wm8997_sysclk_ev()
89 struct regmap *regmap = arizona->regmap; in wm8997_sysclk_ev()
93 switch (arizona->rev) { in wm8997_sysclk_ev()
122 "Low power", "Normal", "High performance",
149 SOC_SINGLE("IN1 High Performance Switch", ARIZONA_IN1L_CONTROL,
151 SOC_SINGLE("IN2 High Performance Switch", ARIZONA_IN2L_CONTROL,
154 SOC_SINGLE_RANGE_TLV("IN1L Volume", ARIZONA_IN1L_CONTROL,
156 SOC_SINGLE_RANGE_TLV("IN1R Volume", ARIZONA_IN1R_CONTROL,
158 SOC_SINGLE_RANGE_TLV("IN2L Volume", ARIZONA_IN2L_CONTROL,
160 SOC_SINGLE_RANGE_TLV("IN2R Volume", ARIZONA_IN2R_CONTROL,
163 SOC_SINGLE_TLV("IN1L Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_1L,
165 SOC_SINGLE_TLV("IN1R Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_1R,
167 SOC_SINGLE_TLV("IN2L Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_2L,
169 SOC_SINGLE_TLV("IN2R Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_2R,
181 SOC_SINGLE_TLV("EQ1 B1 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B1_GAIN_SHIFT,
183 SOC_SINGLE_TLV("EQ1 B2 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B2_GAIN_SHIFT,
185 SOC_SINGLE_TLV("EQ1 B3 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B3_GAIN_SHIFT,
187 SOC_SINGLE_TLV("EQ1 B4 Volume", ARIZONA_EQ1_2, ARIZONA_EQ1_B4_GAIN_SHIFT,
189 SOC_SINGLE_TLV("EQ1 B5 Volume", ARIZONA_EQ1_2, ARIZONA_EQ1_B5_GAIN_SHIFT,
193 SOC_SINGLE_TLV("EQ2 B1 Volume", ARIZONA_EQ2_1, ARIZONA_EQ2_B1_GAIN_SHIFT,
195 SOC_SINGLE_TLV("EQ2 B2 Volume", ARIZONA_EQ2_1, ARIZONA_EQ2_B2_GAIN_SHIFT,
197 SOC_SINGLE_TLV("EQ2 B3 Volume", ARIZONA_EQ2_1, ARIZONA_EQ2_B3_GAIN_SHIFT,
199 SOC_SINGLE_TLV("EQ2 B4 Volume", ARIZONA_EQ2_2, ARIZONA_EQ2_B4_GAIN_SHIFT,
201 SOC_SINGLE_TLV("EQ2 B5 Volume", ARIZONA_EQ2_2, ARIZONA_EQ2_B5_GAIN_SHIFT,
205 SOC_SINGLE_TLV("EQ3 B1 Volume", ARIZONA_EQ3_1, ARIZONA_EQ3_B1_GAIN_SHIFT,
207 SOC_SINGLE_TLV("EQ3 B2 Volume", ARIZONA_EQ3_1, ARIZONA_EQ3_B2_GAIN_SHIFT,
209 SOC_SINGLE_TLV("EQ3 B3 Volume", ARIZONA_EQ3_1, ARIZONA_EQ3_B3_GAIN_SHIFT,
211 SOC_SINGLE_TLV("EQ3 B4 Volume", ARIZONA_EQ3_2, ARIZONA_EQ3_B4_GAIN_SHIFT,
213 SOC_SINGLE_TLV("EQ3 B5 Volume", ARIZONA_EQ3_2, ARIZONA_EQ3_B5_GAIN_SHIFT,
217 SOC_SINGLE_TLV("EQ4 B1 Volume", ARIZONA_EQ4_1, ARIZONA_EQ4_B1_GAIN_SHIFT,
219 SOC_SINGLE_TLV("EQ4 B2 Volume", ARIZONA_EQ4_1, ARIZONA_EQ4_B2_GAIN_SHIFT,
221 SOC_SINGLE_TLV("EQ4 B3 Volume", ARIZONA_EQ4_1, ARIZONA_EQ4_B3_GAIN_SHIFT,
223 SOC_SINGLE_TLV("EQ4 B4 Volume", ARIZONA_EQ4_2, ARIZONA_EQ4_B4_GAIN_SHIFT,
225 SOC_SINGLE_TLV("EQ4 B5 Volume", ARIZONA_EQ4_2, ARIZONA_EQ4_B5_GAIN_SHIFT,
255 SOC_SINGLE_TLV("Noise Generator Volume", ARIZONA_COMFORT_NOISE_GENERATOR,
265 SOC_SINGLE("Speaker High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_4L,
267 SOC_SINGLE("SPKDAT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_5L,
279 SOC_DOUBLE_R_TLV("HPOUT1 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_1L,
282 SOC_SINGLE_TLV("EPOUT Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_3L,
284 SOC_SINGLE_TLV("Speaker Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_4L,
286 SOC_DOUBLE_R_TLV("SPKDAT1 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_5L,
301 SOC_SINGLE_TLV("Noise Gate Threshold Volume", ARIZONA_NOISE_GATE_CONTROL,
936 return arizona_set_fll(&wm8997->fll[0], source, Fref, Fout); in wm8997_set_fll()
938 return arizona_set_fll(&wm8997->fll[1], source, Fref, Fout); in wm8997_set_fll()
940 return arizona_set_fll_refclk(&wm8997->fll[0], source, Fref, in wm8997_set_fll()
943 return arizona_set_fll_refclk(&wm8997->fll[1], source, Fref, in wm8997_set_fll()
946 return -EINVAL; in wm8997_set_fll()
957 .name = "wm8997-aif1",
979 .name = "wm8997-aif2",
1001 .name = "wm8997-slim1",
1020 .name = "wm8997-slim2",
1039 .name = "wm8997-slim3",
1063 struct arizona *arizona = priv->core.arizona; in wm8997_component_probe()
1066 snd_soc_component_init_regmap(component, arizona->regmap); in wm8997_component_probe()
1074 priv->core.arizona->dapm = dapm; in wm8997_component_probe()
1083 priv->core.arizona->dapm = NULL; in wm8997_component_remove()
1115 struct arizona *arizona = dev_get_drvdata(pdev->dev.parent); in wm8997_probe()
1119 wm8997 = devm_kzalloc(&pdev->dev, sizeof(struct wm8997_priv), in wm8997_probe()
1122 return -ENOMEM; in wm8997_probe()
1126 if (!dev_get_platdata(arizona->dev)) { in wm8997_probe()
1133 wm8997->core.arizona = arizona; in wm8997_probe()
1134 wm8997->core.num_inputs = 4; in wm8997_probe()
1136 arizona_init_dvfs(&wm8997->core); in wm8997_probe()
1138 for (i = 0; i < ARRAY_SIZE(wm8997->fll); i++) in wm8997_probe()
1139 wm8997->fll[i].vco_mult = 1; in wm8997_probe()
1141 arizona_init_fll(arizona, 1, ARIZONA_FLL1_CONTROL_1 - 1, in wm8997_probe()
1143 &wm8997->fll[0]); in wm8997_probe()
1144 arizona_init_fll(arizona, 2, ARIZONA_FLL2_CONTROL_1 - 1, in wm8997_probe()
1146 &wm8997->fll[1]); in wm8997_probe()
1149 regmap_update_bits(arizona->regmap, ARIZONA_SAMPLE_RATE_2, in wm8997_probe()
1151 regmap_update_bits(arizona->regmap, ARIZONA_SAMPLE_RATE_3, in wm8997_probe()
1155 arizona_init_dai(&wm8997->core, i); in wm8997_probe()
1157 /* Latch volume update bits */ in wm8997_probe()
1159 regmap_update_bits(arizona->regmap, wm8997_digital_vu[i], in wm8997_probe()
1162 pm_runtime_enable(&pdev->dev); in wm8997_probe()
1163 pm_runtime_idle(&pdev->dev); in wm8997_probe()
1174 ret = devm_snd_soc_register_component(&pdev->dev, in wm8997_probe()
1179 dev_err(&pdev->dev, "Failed to register component: %d\n", ret); in wm8997_probe()
1192 struct arizona *arizona = wm8997->core.arizona; in wm8997_remove()
1194 pm_runtime_disable(&pdev->dev); in wm8997_remove()
1203 .name = "wm8997-codec",
1214 MODULE_ALIAS("platform:wm8997-codec");