Lines Matching refs:drc
25 struct sun6i_drc *drc;
28 drc = devm_kzalloc(dev, sizeof(*drc), GFP_KERNEL);
29 if (!drc)
31 dev_set_drvdata(dev, drc);
33 drc->reset = devm_reset_control_get(dev, NULL);
34 if (IS_ERR(drc->reset)) {
36 return PTR_ERR(drc->reset);
39 ret = reset_control_deassert(drc->reset);
45 drc->bus_clk = devm_clk_get(dev, "ahb");
46 if (IS_ERR(drc->bus_clk)) {
48 ret = PTR_ERR(drc->bus_clk);
51 clk_prepare_enable(drc->bus_clk);
53 drc->mod_clk = devm_clk_get(dev, "mod");
54 if (IS_ERR(drc->mod_clk)) {
56 ret = PTR_ERR(drc->mod_clk);
60 ret = clk_set_rate_exclusive(drc->mod_clk, 300000000);
66 clk_prepare_enable(drc->mod_clk);
71 clk_disable_unprepare(drc->bus_clk);
73 reset_control_assert(drc->reset);
80 struct sun6i_drc *drc = dev_get_drvdata(dev);
82 clk_rate_exclusive_put(drc->mod_clk);
83 clk_disable_unprepare(drc->mod_clk);
84 clk_disable_unprepare(drc->bus_clk);
85 reset_control_assert(drc->reset);
104 { .compatible = "allwinner,sun6i-a31-drc" },
105 { .compatible = "allwinner,sun6i-a31s-drc" },
106 { .compatible = "allwinner,sun8i-a23-drc" },
107 { .compatible = "allwinner,sun8i-a33-drc" },
108 { .compatible = "allwinner,sun9i-a80-drc" },
117 .name = "sun6i-drc",