Lines Matching refs:nocp

3  * exynos-nocp.c - Exynos NoC (Network On Chip) Probe support
17 #include "exynos-nocp.h"
30 * The devfreq-event ops structure for nocp probe.
34 struct exynos_nocp *nocp = devfreq_event_get_drvdata(edev);
38 ret = regmap_update_bits(nocp->regmap, NOCP_MAIN_CTL,
41 dev_err(nocp->dev, "failed to disable the NoC probe device\n");
46 ret = regmap_write(nocp->regmap, NOCP_STAT_PERIOD, 0x0);
51 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_0_SRC,
57 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_1_SRC,
63 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_2_SRC,
69 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_3_SRC,
77 ret = regmap_write(nocp->regmap, NOCP_STAT_ALARM_MIN, 0x0);
81 ret = regmap_write(nocp->regmap, NOCP_STAT_ALARM_MAX, 0x0);
86 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_0_ALARM_MODE,
92 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_1_ALARM_MODE,
98 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_2_ALARM_MODE,
104 ret = regmap_update_bits(nocp->regmap, NOCP_COUNTERS_3_ALARM_MODE,
111 ret = regmap_update_bits(nocp->regmap, NOCP_MAIN_CTL,
118 ret = regmap_update_bits(nocp->regmap, NOCP_CFG_CTL,
125 ret = regmap_update_bits(nocp->regmap, NOCP_MAIN_CTL,
135 if (regmap_update_bits(nocp->regmap, NOCP_MAIN_CTL,
137 dev_err(nocp->dev, "Failed to reset NoC probe device\n");
146 struct exynos_nocp *nocp = devfreq_event_get_drvdata(edev);
151 ret = regmap_read(nocp->regmap, NOCP_COUNTERS_0_VAL, &counter[0]);
155 ret = regmap_read(nocp->regmap, NOCP_COUNTERS_1_VAL, &counter[1]);
159 ret = regmap_read(nocp->regmap, NOCP_COUNTERS_2_VAL, &counter[2]);
163 ret = regmap_read(nocp->regmap, NOCP_COUNTERS_3_VAL, &counter[3]);
176 dev_err(nocp->dev, "Failed to read the counter of NoC probe device\n");
187 { .compatible = "samsung,exynos5420-nocp", },
200 struct exynos_nocp *nocp)
202 struct device *dev = nocp->dev;
212 nocp->clk = devm_clk_get(dev, "nocp");
213 if (IS_ERR(nocp->clk))
214 nocp->clk = NULL;
216 /* Maps the memory mapped IO to control nocp register */
223 nocp->regmap = devm_regmap_init_mmio(dev, base,
225 if (IS_ERR(nocp->regmap)) {
227 return PTR_ERR(nocp->regmap);
237 struct exynos_nocp *nocp;
240 nocp = devm_kzalloc(&pdev->dev, sizeof(*nocp), GFP_KERNEL);
241 if (!nocp)
244 nocp->dev = &pdev->dev;
247 ret = exynos_nocp_parse_dt(pdev, nocp);
255 nocp->desc.ops = &exynos_nocp_ops;
256 nocp->desc.driver_data = nocp;
257 nocp->desc.name = np->full_name;
258 nocp->edev = devm_devfreq_event_add_edev(&pdev->dev, &nocp->desc);
259 if (IS_ERR(nocp->edev)) {
262 return PTR_ERR(nocp->edev);
264 platform_set_drvdata(pdev, nocp);
266 ret = clk_prepare_enable(nocp->clk);
272 pr_info("exynos-nocp: new NoC Probe device registered: %s\n",
280 struct exynos_nocp *nocp = platform_get_drvdata(pdev);
282 clk_disable_unprepare(nocp->clk);
289 .name = "exynos-nocp",