Lines Matching +full:speed +full:- +full:grade
1 // SPDX-License-Identifier: GPL-2.0
5 * The sun50i-cpufreq-nvmem driver reads the efuse value from the SoC to
14 #include <linux/nvmem-consumer.h>
28 * sun50i_cpufreq_get_efuse() - Determine speed grade from efuse value
44 return -ENODEV; in sun50i_cpufreq_get_efuse()
48 return -ENOENT; in sun50i_cpufreq_get_efuse()
51 "allwinner,sun50i-h6-operating-points"); in sun50i_cpufreq_get_efuse()
54 return -ENOENT; in sun50i_cpufreq_get_efuse()
72 * the slowest bin. Expected efuse values are 1-3, slowest in sun50i_cpufreq_get_efuse()
76 *versions = efuse_value - 1; in sun50i_cpufreq_get_efuse()
89 u32 speed = 0; in sun50i_cpufreq_nvmem_probe() local
95 return -ENOMEM; in sun50i_cpufreq_nvmem_probe()
97 ret = sun50i_cpufreq_get_efuse(&speed); in sun50i_cpufreq_nvmem_probe()
103 snprintf(name, MAX_NAME_LEN, "speed%d", speed); in sun50i_cpufreq_nvmem_probe()
109 ret = -ENODEV; in sun50i_cpufreq_nvmem_probe()
121 cpufreq_dt_pdev = platform_device_register_simple("cpufreq-dt", -1, in sun50i_cpufreq_nvmem_probe()
158 .name = "sun50i-cpufreq-nvmem",
163 { .compatible = "allwinner,sun50i-h6" },
192 return -ENODEV; in sun50i_cpufreq_init()
199 platform_device_register_simple("sun50i-cpufreq-nvmem", in sun50i_cpufreq_init()
200 -1, NULL, 0); in sun50i_cpufreq_init()
217 MODULE_DESCRIPTION("Sun50i-h6 cpufreq driver");