Lines Matching refs:data

66 	struct qcom_ssc_block_bus_data *data = dev_get_drvdata(dev);
68 ret = clk_prepare_enable(data->xo_clk);
74 ret = clk_prepare_enable(data->aggre2_clk);
80 ret = clk_prepare_enable(data->gcc_im_sleep_clk);
90 reg32_clear_bits(data->reg_mpm_sscaon_config0,
93 reg32_clear_bits(data->reg_mpm_sscaon_config1, BIT(31));
95 ret = clk_prepare_enable(data->aggre2_north_clk);
101 ret = reset_control_deassert(data->ssc_reset);
107 ret = reset_control_deassert(data->ssc_bcr);
113 regmap_write(data->halt_map, data->ssc_axi_halt + AXI_HALTREQ_REG, 0);
115 ret = clk_prepare_enable(data->ssc_xo_clk);
121 ret = clk_prepare_enable(data->ssc_ahbs_clk);
130 clk_disable(data->ssc_xo_clk);
133 regmap_write(data->halt_map, data->ssc_axi_halt + AXI_HALTREQ_REG, 1);
135 reset_control_assert(data->ssc_bcr);
138 reset_control_assert(data->ssc_reset);
141 clk_disable(data->aggre2_north_clk);
144 reg32_set_bits(data->reg_mpm_sscaon_config0, BIT(4) | BIT(5));
145 reg32_set_bits(data->reg_mpm_sscaon_config1, BIT(31));
147 clk_disable(data->gcc_im_sleep_clk);
150 clk_disable(data->aggre2_clk);
153 clk_disable(data->xo_clk);
163 struct qcom_ssc_block_bus_data *data = dev_get_drvdata(dev);
165 clk_disable(data->ssc_xo_clk);
166 clk_disable(data->ssc_ahbs_clk);
168 ret = reset_control_assert(data->ssc_bcr);
172 regmap_write(data->halt_map, data->ssc_axi_halt + AXI_HALTREQ_REG, 1);
174 reg32_set_bits(data->reg_mpm_sscaon_config1, BIT(31));
175 reg32_set_bits(data->reg_mpm_sscaon_config0, BIT(4) | BIT(5));
177 ret = reset_control_assert(data->ssc_reset);
181 clk_disable(data->gcc_im_sleep_clk);
183 clk_disable(data->aggre2_north_clk);
185 clk_disable(data->aggre2_clk);
186 clk_disable(data->xo_clk);
255 struct qcom_ssc_block_bus_data *data;
261 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
262 if (!data)
265 platform_set_drvdata(pdev, data);
267 data->pd_names = qcom_ssc_block_pd_names;
268 data->num_pds = ARRAY_SIZE(qcom_ssc_block_pd_names);
271 ret = qcom_ssc_block_bus_pds_attach(&pdev->dev, data->pds, data->pd_names, data->num_pds);
275 ret = qcom_ssc_block_bus_pds_enable(data->pds, data->num_pds);
281 data->reg_mpm_sscaon_config0 = devm_ioremap_resource(&pdev->dev, res);
282 if (IS_ERR(data->reg_mpm_sscaon_config0))
283 return dev_err_probe(&pdev->dev, PTR_ERR(data->reg_mpm_sscaon_config0),
287 data->reg_mpm_sscaon_config1 = devm_ioremap_resource(&pdev->dev, res);
288 if (IS_ERR(data->reg_mpm_sscaon_config1))
289 return dev_err_probe(&pdev->dev, PTR_ERR(data->reg_mpm_sscaon_config1),
293 data->ssc_bcr = devm_reset_control_get_exclusive(&pdev->dev, "ssc_bcr");
294 if (IS_ERR(data->ssc_bcr))
295 return dev_err_probe(&pdev->dev, PTR_ERR(data->ssc_bcr),
298 data->ssc_reset = devm_reset_control_get_exclusive(&pdev->dev, "ssc_reset");
299 if (IS_ERR(data->ssc_reset))
300 return dev_err_probe(&pdev->dev, PTR_ERR(data->ssc_reset),
304 data->xo_clk = devm_clk_get(&pdev->dev, "xo");
305 if (IS_ERR(data->xo_clk))
306 return dev_err_probe(&pdev->dev, PTR_ERR(data->xo_clk),
309 data->aggre2_clk = devm_clk_get(&pdev->dev, "aggre2");
310 if (IS_ERR(data->aggre2_clk))
311 return dev_err_probe(&pdev->dev, PTR_ERR(data->aggre2_clk),
314 data->gcc_im_sleep_clk = devm_clk_get(&pdev->dev, "gcc_im_sleep");
315 if (IS_ERR(data->gcc_im_sleep_clk))
316 return dev_err_probe(&pdev->dev, PTR_ERR(data->gcc_im_sleep_clk),
319 data->aggre2_north_clk = devm_clk_get(&pdev->dev, "aggre2_north");
320 if (IS_ERR(data->aggre2_north_clk))
321 return dev_err_probe(&pdev->dev, PTR_ERR(data->aggre2_north_clk),
324 data->ssc_xo_clk = devm_clk_get(&pdev->dev, "ssc_xo");
325 if (IS_ERR(data->ssc_xo_clk))
326 return dev_err_probe(&pdev->dev, PTR_ERR(data->ssc_xo_clk),
329 data->ssc_ahbs_clk = devm_clk_get(&pdev->dev, "ssc_ahbs");
330 if (IS_ERR(data->ssc_ahbs_clk))
331 return dev_err_probe(&pdev->dev, PTR_ERR(data->ssc_ahbs_clk),
339 data->halt_map = syscon_node_to_regmap(halt_args.np);
341 if (IS_ERR(data->halt_map))
342 return PTR_ERR(data->halt_map);
344 data->ssc_axi_halt = halt_args.args[0];
355 struct qcom_ssc_block_bus_data *data = platform_get_drvdata(pdev);
359 iounmap(data->reg_mpm_sscaon_config0);
360 iounmap(data->reg_mpm_sscaon_config1);
362 qcom_ssc_block_bus_pds_disable(data->pds, data->num_pds);
363 qcom_ssc_block_bus_pds_detach(&pdev->dev, data->pds, data->num_pds);