Lines Matching +full:exynos4210 +full:- +full:chipid
1 // SPDX-License-Identifier: GPL-2.0
21 #include <linux/soc/samsung/exynos-chipid.h>
23 #include "exynos-asv.h"
24 #include "exynos5422-asv.h"
36 for (i = 0; i < ARRAY_SIZE(asv->subsys); i++) { in exynos_asv_update_cpu_opps()
37 if (of_device_is_compatible(cpu->of_node, in exynos_asv_update_cpu_opps()
38 asv->subsys[i].cpu_dt_compat)) { in exynos_asv_update_cpu_opps()
39 subsys = &asv->subsys[i]; in exynos_asv_update_cpu_opps()
44 return -EINVAL; in exynos_asv_update_cpu_opps()
46 for (i = 0; i < subsys->table.num_rows; i++) { in exynos_asv_update_cpu_opps()
54 dev_info(asv->dev, "cpu%d opp%d, freq: %u missing\n", in exynos_asv_update_cpu_opps()
55 cpu->id, i, opp_freq); in exynos_asv_update_cpu_opps()
61 new_volt = asv->opp_get_voltage(subsys, i, volt); in exynos_asv_update_cpu_opps()
70 dev_err(asv->dev, in exynos_asv_update_cpu_opps()
72 opp_freq, new_volt, cpu->id); in exynos_asv_update_cpu_opps()
74 dev_dbg(asv->dev, in exynos_asv_update_cpu_opps()
75 "Adjusted OPP %u Hz/%u -> %u uV, cpu%d\n", in exynos_asv_update_cpu_opps()
76 opp_freq, volt, new_volt, cpu->id); in exynos_asv_update_cpu_opps()
104 dev_err(asv->dev, "Couldn't udate OPPs for cpu%d\n", in exynos_asv_update_opps()
122 asv = devm_kzalloc(&pdev->dev, sizeof(*asv), GFP_KERNEL); in exynos_asv_probe()
124 return -ENOMEM; in exynos_asv_probe()
126 asv->chipid_regmap = device_node_to_regmap(pdev->dev.of_node); in exynos_asv_probe()
127 if (IS_ERR(asv->chipid_regmap)) { in exynos_asv_probe()
128 dev_err(&pdev->dev, "Could not find syscon regmap\n"); in exynos_asv_probe()
129 return PTR_ERR(asv->chipid_regmap); in exynos_asv_probe()
132 ret = regmap_read(asv->chipid_regmap, EXYNOS_CHIPID_REG_PRO_ID, in exynos_asv_probe()
135 dev_err(&pdev->dev, "Cannot read revision from ChipID: %d\n", in exynos_asv_probe()
137 return -ENODEV; in exynos_asv_probe()
145 return -ENODEV; in exynos_asv_probe()
151 return -EPROBE_DEFER; in exynos_asv_probe()
153 ret = of_property_read_u32(pdev->dev.of_node, "samsung,asv-bin", in exynos_asv_probe()
154 &asv->of_bin); in exynos_asv_probe()
156 asv->of_bin = -EINVAL; in exynos_asv_probe()
158 asv->dev = &pdev->dev; in exynos_asv_probe()
159 dev_set_drvdata(&pdev->dev, asv); in exynos_asv_probe()
161 for (i = 0; i < ARRAY_SIZE(asv->subsys); i++) in exynos_asv_probe()
162 asv->subsys[i].asv = asv; in exynos_asv_probe()
172 { .compatible = "samsung,exynos4210-chipid" },
178 .name = "exynos-asv",