Lines Matching refs:wm8350

3  * wm8350.c -- WM8350 ALSA SoC audio driver
17 #include <linux/mfd/wm8350/audio.h>
18 #include <linux/mfd/wm8350/core.h>
28 #include "wm8350.h"
60 struct wm8350 *wm8350;
78 struct wm8350 *wm8350 = wm8350_data->wm8350;
83 reg = wm8350_reg_read(wm8350, WM8350_LOUT1_VOLUME);
91 wm8350_reg_write(wm8350, WM8350_LOUT1_VOLUME,
100 wm8350_reg_write(wm8350, WM8350_LOUT1_VOLUME,
108 reg = wm8350_reg_read(wm8350, WM8350_ROUT1_VOLUME);
115 wm8350_reg_write(wm8350, WM8350_ROUT1_VOLUME,
124 wm8350_reg_write(wm8350, WM8350_ROUT1_VOLUME,
132 wm8350_set_bits(wm8350, WM8350_LOUT1_VOLUME, WM8350_OUT1_VU);
143 struct wm8350 *wm8350 = wm8350_data->wm8350;
148 reg = wm8350_reg_read(wm8350, WM8350_LOUT2_VOLUME);
155 wm8350_reg_write(wm8350, WM8350_LOUT2_VOLUME,
164 wm8350_reg_write(wm8350, WM8350_LOUT2_VOLUME,
172 reg = wm8350_reg_read(wm8350, WM8350_ROUT2_VOLUME);
179 wm8350_reg_write(wm8350, WM8350_ROUT2_VOLUME,
188 wm8350_reg_write(wm8350, WM8350_ROUT2_VOLUME,
196 wm8350_set_bits(wm8350, WM8350_LOUT2_VOLUME, WM8350_OUT2_VU);
755 struct wm8350 *wm8350 = wm8350_data->wm8350;
760 wm8350_clear_bits(wm8350, WM8350_CLOCK_CONTROL_1,
767 wm8350_set_bits(wm8350, WM8350_CLOCK_CONTROL_1,
777 wm8350_set_bits(wm8350, WM8350_CLOCK_CONTROL_2,
780 wm8350_clear_bits(wm8350, WM8350_CLOCK_CONTROL_2,
909 struct wm8350 *wm8350 = wm8350_data->wm8350;
935 wm8350_set_bits(wm8350, WM8350_DAC_MUTE_VOLUME,
938 wm8350_clear_bits(wm8350, WM8350_DAC_MUTE_VOLUME,
987 printk(KERN_ERR "wm8350: fll freq %d out of range\n", output);
1026 struct wm8350 *wm8350 = priv->wm8350;
1035 wm8350_clear_bits(wm8350, WM8350_POWER_MGMT_4,
1044 dev_dbg(wm8350->dev,
1065 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_4, WM8350_FLL_OSC_ENA);
1066 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_4, WM8350_FLL_ENA);
1078 struct wm8350 *wm8350 = priv->wm8350;
1080 wm8350->codec.platform_data;
1086 pm1 = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_1) &
1088 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1,
1094 pm1 = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_1);
1096 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1,
1108 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_4,
1112 wm8350_set_bits(wm8350, WM8350_DAC_MUTE,
1116 wm8350_reg_write(wm8350, WM8350_ANTI_POP_CONTROL,
1128 wm8350_reg_write(wm8350, WM8350_ANTI_POP_CONTROL,
1132 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1,
1144 pm1 = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_1) &
1148 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1,
1154 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1, pm1);
1157 wm8350_reg_write(wm8350, WM8350_ANTI_POP_CONTROL, 0);
1161 pm1 = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_1) &
1163 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1,
1174 wm8350_set_bits(wm8350, WM8350_DAC_MUTE, WM8350_DAC_MUTE_ENA);
1176 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_3,
1181 wm8350_reg_write(wm8350, WM8350_ANTI_POP_CONTROL,
1185 pm1 = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_1) &
1187 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1, pm1);
1194 wm8350_reg_write(wm8350, WM8350_ANTI_POP_CONTROL,
1202 pm1 = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_1) &
1204 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1,
1212 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_1, pm1);
1215 wm8350_reg_write(wm8350, WM8350_ANTI_POP_CONTROL, 0);
1217 wm8350_clear_bits(wm8350, WM8350_LOUT1_VOLUME,
1219 wm8350_clear_bits(wm8350, WM8350_ROUT1_VOLUME,
1221 wm8350_clear_bits(wm8350, WM8350_LOUT2_VOLUME,
1223 wm8350_clear_bits(wm8350, WM8350_ROUT2_VOLUME,
1227 wm8350_clear_bits(wm8350, WM8350_POWER_MGMT_4,
1241 struct wm8350 *wm8350 = priv->wm8350;
1245 reg = wm8350_reg_read(wm8350, WM8350_JACK_PIN_STATUS);
1274 struct wm8350 *wm8350 = priv->wm8350;
1280 if (device_may_wakeup(wm8350->dev))
1281 pm_wakeup_event(wm8350->dev, 250);
1292 struct wm8350 *wm8350 = priv->wm8350;
1298 if (device_may_wakeup(wm8350->dev))
1299 pm_wakeup_event(wm8350->dev, 250);
1322 struct wm8350 *wm8350 = priv->wm8350;
1343 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_4, WM8350_TOCLK_ENA);
1344 wm8350_set_bits(wm8350, WM8350_JACK_DETECT, ena);
1346 wm8350_clear_bits(wm8350, WM8350_JACK_DETECT, ena);
1366 struct wm8350 *wm8350 = priv->wm8350;
1374 reg = wm8350_reg_read(wm8350, WM8350_JACK_PIN_STATUS);
1402 struct wm8350 *wm8350 = priv->wm8350;
1409 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_4, WM8350_TOCLK_ENA);
1410 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_1,
1413 wm8350_clear_bits(wm8350, WM8350_POWER_MGMT_1,
1438 .name = "wm8350-hifi",
1458 struct wm8350 *wm8350 = dev_get_platdata(component->dev);
1464 if (wm8350->codec.platform_data == NULL) {
1474 snd_soc_component_init_regmap(component, wm8350->regmap);
1477 priv->wm8350 = wm8350;
1482 ret = devm_regulator_bulk_get(wm8350->dev, ARRAY_SIZE(priv->supplies),
1488 wm8350_clear_bits(wm8350, WM8350_POWER_MGMT_5, WM8350_CODEC_ENA);
1495 wm8350_set_bits(wm8350, WM8350_POWER_MGMT_5, WM8350_CODEC_ENA);
1505 out1->left_vol = (wm8350_reg_read(wm8350, WM8350_LOUT1_VOLUME) &
1507 out1->right_vol = (wm8350_reg_read(wm8350, WM8350_ROUT1_VOLUME) &
1509 out2->left_vol = (wm8350_reg_read(wm8350, WM8350_LOUT2_VOLUME) &
1511 out2->right_vol = (wm8350_reg_read(wm8350, WM8350_ROUT2_VOLUME) &
1513 wm8350_reg_write(wm8350, WM8350_LOUT1_VOLUME, 0);
1514 wm8350_reg_write(wm8350, WM8350_ROUT1_VOLUME, 0);
1515 wm8350_reg_write(wm8350, WM8350_LOUT2_VOLUME, 0);
1516 wm8350_reg_write(wm8350, WM8350_ROUT2_VOLUME, 0);
1519 wm8350_set_bits(wm8350, WM8350_LOUT1_VOLUME,
1521 wm8350_set_bits(wm8350, WM8350_LOUT2_VOLUME,
1523 wm8350_set_bits(wm8350, WM8350_ROUT1_VOLUME,
1525 wm8350_set_bits(wm8350, WM8350_ROUT2_VOLUME,
1529 wm8350_clear_bits(wm8350, WM8350_AI_FORMATING, WM8350_AIF_TRI);
1532 wm8350_clear_bits(wm8350, WM8350_ADC_DAC_COMP,
1536 wm8350_clear_bits(wm8350, WM8350_JACK_DETECT,
1539 ret = wm8350_register_irq(wm8350, WM8350_IRQ_CODEC_JCK_DET_L,
1545 ret = wm8350_register_irq(wm8350, WM8350_IRQ_CODEC_JCK_DET_R,
1551 ret = wm8350_register_irq(wm8350, WM8350_IRQ_CODEC_MICSCD,
1556 ret = wm8350_register_irq(wm8350, WM8350_IRQ_CODEC_MICD,
1564 wm8350_free_irq(wm8350, WM8350_IRQ_CODEC_MICSCD, priv);
1566 wm8350_free_irq(wm8350, WM8350_IRQ_CODEC_JCK_DET_R, priv);
1568 wm8350_free_irq(wm8350, WM8350_IRQ_CODEC_JCK_DET_L, priv);
1576 struct wm8350 *wm8350 = dev_get_platdata(component->dev);
1578 wm8350_clear_bits(wm8350, WM8350_JACK_DETECT,
1580 wm8350_clear_bits(wm8350, WM8350_POWER_MGMT_4, WM8350_TOCLK_ENA);
1582 wm8350_free_irq(wm8350, WM8350_IRQ_CODEC_MICD, priv);
1583 wm8350_free_irq(wm8350, WM8350_IRQ_CODEC_MICSCD, priv);
1584 wm8350_free_irq(wm8350, WM8350_IRQ_CODEC_JCK_DET_L, priv);
1585 wm8350_free_irq(wm8350, WM8350_IRQ_CODEC_JCK_DET_R, priv);
1598 wm8350_clear_bits(wm8350, WM8350_POWER_MGMT_5, WM8350_CODEC_ENA);
1627 .name = "wm8350-codec",
1637 MODULE_ALIAS("platform:wm8350-codec");