Lines Matching refs:evea

15 #define DRV_NAME        "evea"
107 static void evea_set_power_state_on(struct evea_priv *evea)
109 struct regmap *map = evea->regmap;
125 static void evea_set_power_state_off(struct evea_priv *evea)
127 struct regmap *map = evea->regmap;
144 static int evea_update_switch_lin(struct evea_priv *evea)
146 struct regmap *map = evea->regmap;
148 if (evea->switch_lin) {
168 static int evea_update_switch_lo(struct evea_priv *evea)
170 struct regmap *map = evea->regmap;
172 if (evea->switch_lo) {
196 static int evea_update_switch_hp(struct evea_priv *evea)
198 struct regmap *map = evea->regmap;
200 if (evea->switch_hp) {
221 static void evea_update_switch_all(struct evea_priv *evea)
223 evea_update_switch_lin(evea);
224 evea_update_switch_lo(evea);
225 evea_update_switch_hp(evea);
232 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
234 ucontrol->value.integer.value[0] = evea->switch_lin;
243 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
245 if (evea->switch_lin == ucontrol->value.integer.value[0])
248 evea->switch_lin = ucontrol->value.integer.value[0];
250 return evea_update_switch_lin(evea);
257 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
259 ucontrol->value.integer.value[0] = evea->switch_lo;
268 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
270 if (evea->switch_lo == ucontrol->value.integer.value[0])
273 evea->switch_lo = ucontrol->value.integer.value[0];
275 return evea_update_switch_lo(evea);
282 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
284 ucontrol->value.integer.value[0] = evea->switch_hp;
293 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
295 if (evea->switch_hp == ucontrol->value.integer.value[0])
298 evea->switch_hp = ucontrol->value.integer.value[0];
300 return evea_update_switch_hp(evea);
314 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
316 evea->switch_lin = 1;
317 evea->switch_lo = 1;
318 evea->switch_hp = 1;
320 evea_set_power_state_on(evea);
321 evea_update_switch_all(evea);
328 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
330 evea_set_power_state_off(evea);
332 reset_control_assert(evea->rst_adamv);
333 reset_control_assert(evea->rst_exiv);
334 reset_control_assert(evea->rst);
336 clk_disable_unprepare(evea->clk_exiv);
337 clk_disable_unprepare(evea->clk);
344 struct evea_priv *evea = snd_soc_component_get_drvdata(component);
347 ret = clk_prepare_enable(evea->clk);
351 ret = clk_prepare_enable(evea->clk_exiv);
355 ret = reset_control_deassert(evea->rst);
359 ret = reset_control_deassert(evea->rst_exiv);
363 ret = reset_control_deassert(evea->rst_adamv);
367 evea_set_power_state_on(evea);
368 evea_update_switch_all(evea);
373 reset_control_assert(evea->rst_exiv);
376 reset_control_assert(evea->rst);
379 clk_disable_unprepare(evea->clk_exiv);
382 clk_disable_unprepare(evea->clk);
452 struct evea_priv *evea;
456 evea = devm_kzalloc(&pdev->dev, sizeof(struct evea_priv), GFP_KERNEL);
457 if (!evea)
460 evea->clk = devm_clk_get(&pdev->dev, "evea");
461 if (IS_ERR(evea->clk))
462 return PTR_ERR(evea->clk);
464 evea->clk_exiv = devm_clk_get(&pdev->dev, "exiv");
465 if (IS_ERR(evea->clk_exiv))
466 return PTR_ERR(evea->clk_exiv);
468 evea->rst = devm_reset_control_get_shared(&pdev->dev, "evea");
469 if (IS_ERR(evea->rst))
470 return PTR_ERR(evea->rst);
472 evea->rst_exiv = devm_reset_control_get_shared(&pdev->dev, "exiv");
473 if (IS_ERR(evea->rst_exiv))
474 return PTR_ERR(evea->rst_exiv);
480 evea->regmap = devm_regmap_init_mmio(&pdev->dev, preg,
482 if (IS_ERR(evea->regmap))
483 return PTR_ERR(evea->regmap);
485 ret = clk_prepare_enable(evea->clk);
489 ret = clk_prepare_enable(evea->clk_exiv);
493 ret = reset_control_deassert(evea->rst);
497 ret = reset_control_deassert(evea->rst_exiv);
502 evea->rst_adamv = devm_reset_control_get_shared(&pdev->dev, "adamv");
503 if (IS_ERR(evea->rst_adamv)) {
504 ret = PTR_ERR(evea->rst_adamv);
508 ret = reset_control_deassert(evea->rst_adamv);
512 platform_set_drvdata(pdev, evea);
522 reset_control_assert(evea->rst_adamv);
525 reset_control_assert(evea->rst_exiv);
528 reset_control_assert(evea->rst);
531 clk_disable_unprepare(evea->clk_exiv);
534 clk_disable_unprepare(evea->clk);
541 struct evea_priv *evea = platform_get_drvdata(pdev);
543 reset_control_assert(evea->rst_adamv);
544 reset_control_assert(evea->rst_exiv);
545 reset_control_assert(evea->rst);
547 clk_disable_unprepare(evea->clk_exiv);
548 clk_disable_unprepare(evea->clk);
552 { .compatible = "socionext,uniphier-evea", },