linux/drivers/cpufreq
Dave Gerlach e13cf046cd cpufreq: ti: Add cpufreq driver to determine available OPPs at runtime
Some TI SoCs, like those in the AM335x, AM437x, DRA7x, and AM57x families,
have different OPPs available for the MPU depending on which specific
variant of the SoC is in use. This can be determined through use of the
revision and an eFuse register present in the silicon. Introduce a
ti-cpufreq driver that can read the aformentioned values and provide
them as version matching data to the opp framework. Through this the
opp-supported-hw dt binding that is part of the operating-points-v2
table can be used to indicate availability of OPPs for each device.

This driver also creates the "cpufreq-dt" platform_device after passing
the version matching data to the OPP framework so that the cpufreq-dt
handles the actual cpufreq implementation. Even without the necessary
data to pass the version matching data the driver will still create this
device to maintain backwards compatibility with operating-points v1
tables.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-02-09 22:57:48 +01:00
..
acpi-cpufreq.c cpufreq: Remove CPU hotplug callbacks only if they were initialized 2016-12-21 02:52:52 +01:00
amd_freq_sensitivity.c cpufreq: Reuse new freq-table helpers 2016-07-07 00:14:27 +02:00
arm_big_little_dt.c cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table 2016-05-05 01:40:04 +02:00
arm_big_little.c cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table 2016-05-05 01:40:04 +02:00
arm_big_little.h cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table 2016-05-05 01:40:04 +02:00
at32ap-cpufreq.c
blackfin-cpufreq.c blackfin-cpufreq: Mark cpu_set_cclk() as static 2015-12-28 01:51:36 +01:00
bmips-cpufreq.c cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs 2017-02-09 01:22:44 +01:00
brcmstb-avs-cpufreq.c cpufreq: brcmstb-avs-cpufreq: remove unnecessary platform_set_drvdata() 2017-02-09 01:22:46 +01:00
cppc_cpufreq.c cpufreq / CPPC: Add MODULE_DEVICE_TABLE for cppc_cpufreq driver 2016-10-21 15:11:23 +02:00
cpufreq_conservative.c cpufreq: conservative: Fix comment explaining frequency updates 2016-11-16 23:15:56 +01:00
cpufreq_governor_attr_set.c cpufreq: governor: Move abstract gov_attr_set code to seperate file 2016-04-02 01:09:01 +02:00
cpufreq_governor.c cpufreq: conservative: Decrease frequency faster for deferred updates 2016-11-16 23:15:56 +01:00
cpufreq_governor.h cpufreq: conservative: Decrease frequency faster for deferred updates 2016-11-16 23:15:56 +01:00
cpufreq_ondemand.c cpufreq: ondemand: Set MIN_FREQUENCY_UP_THRESHOLD to 1 2016-12-01 22:43:33 +01:00
cpufreq_ondemand.h cpufreq: ondemand: Don't keep a copy of freq_table pointer 2016-06-09 00:58:06 +02:00
cpufreq_performance.c cpufreq: governor: Get rid of governor events 2016-06-02 23:24:15 +02:00
cpufreq_powersave.c cpufreq: governor: Get rid of governor events 2016-06-02 23:24:15 +02:00
cpufreq_stats.c cpufreq: Remove CONFIG_CPU_FREQ_STAT_DETAILS config option 2017-02-03 23:59:39 +01:00
cpufreq_userspace.c cpufreq: governor: Get rid of governor events 2016-06-02 23:24:15 +02:00
cpufreq-dt-platdev.c cpufreq: dt: Add support for APM X-Gene 2 2017-01-05 00:27:51 +01:00
cpufreq-dt.c PM / OPP: Rename dev_pm_opp_get_suspend_opp() and return OPP rate 2017-01-27 11:49:09 +01:00
cpufreq-dt.h cpufreq: dt: Support governor tunables per policy 2016-09-13 02:39:12 +02:00
cpufreq-nforce2.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
cpufreq.c cpufreq: Remove CPUFREQ_START notifier event 2017-02-04 00:05:30 +01:00
cris-artpec3-cpufreq.c
cris-etraxfs-cpufreq.c
davinci-cpufreq.c cpufreq: davinci: Reuse cpufreq_generic_frequency_table_verify() 2016-06-09 00:58:07 +02:00
dbx500-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
e_powersaver.c cpufreq: e_powersaver: Use IS_ENABLED() instead of checking for built-in or module 2016-04-27 22:42:34 +02:00
elanfreq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
exynos5440-cpufreq.c PM / OPP: Update OPP users to put reference 2017-01-30 09:22:21 +01:00
freq_table.c cpufreq: Handle sorted frequency tables more efficiently 2016-07-07 00:13:20 +02:00
gx-suspmod.c cpufreq: gx-suspmod: Fix two typos in two comments 2015-06-15 15:46:15 +02:00
highbank-cpufreq.c Merge branch 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration 2014-10-21 11:21:19 -07:00
ia64-acpi-cpufreq.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
imx6q-cpufreq.c PM / OPP: Update OPP users to put reference 2017-01-30 09:22:21 +01:00
intel_pstate.c Merge back earlier cpufreq changes for v4.11. 2017-02-09 01:18:14 +01:00
Kconfig cpufreq: qoriq: add ARM64 SoCs support 2017-02-09 14:33:01 +01:00
Kconfig.arm cpufreq: ti: Add cpufreq driver to determine available OPPs at runtime 2017-02-09 22:57:48 +01:00
Kconfig.powerpc cpufreq: qoriq: rename the driver 2015-03-18 22:35:16 +01:00
Kconfig.x86 sched/x86: Change CONFIG_SCHED_ITMT to CONFIG_SCHED_MC_PRIO 2016-11-30 08:27:08 +01:00
kirkwood-cpufreq.c cpufreq: kirkwood: add missing \n to end of dev_err messages 2016-09-26 15:10:58 +02:00
longhaul.c Power management material for v4.7-rc1 2016-05-16 19:17:22 -07:00
longhaul.h
longrun.c
loongson1-cpufreq.c CPUFREQ: Loongson1: Replace goto out with return in ls1x_cpufreq_probe() 2016-05-13 14:02:08 +02:00
loongson2_cpufreq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
Makefile cpufreq: ti: Add cpufreq driver to determine available OPPs at runtime 2017-02-09 22:57:48 +01:00
maple-cpufreq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
mt8173-cpufreq.c PM / OPP: Update OPP users to put reference 2017-01-30 09:22:21 +01:00
mvebu-cpufreq.c cpufreq: mvebu: fix integer to pointer cast 2016-06-13 23:49:43 +02:00
omap-cpufreq.c PM / OPP: Update OPP users to put reference 2017-01-30 09:22:21 +01:00
p4-clockmod.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
pasemi-cpufreq.c
pcc-cpufreq.c Revert "cpufreq: pcc-cpufreq: update default value of cpuinfo_transition_latency" 2016-07-22 23:51:06 +02:00
pmac32-cpufreq.c powerpc updates for 4.7 2016-05-20 10:12:41 -07:00
pmac64-cpufreq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
powernow-k6.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
powernow-k7.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
powernow-k7.h
powernow-k8.c ACPI / processor: Drop an unused argument of a cleanup routine 2015-07-22 22:11:16 +02:00
powernow-k8.h
powernv-cpufreq.c cpufreq: powernv: Add boost files to export ultra-turbo frequencies 2017-02-03 23:59:41 +01:00
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c cpufreq: Remove CPUFREQ_START notifier event 2017-02-04 00:05:30 +01:00
ppc_cbe_cpufreq.c
ppc_cbe_cpufreq.h cpufreq: e_powersaver: Use IS_ENABLED() instead of checking for built-in or module 2016-04-27 22:42:34 +02:00
pxa2xx-cpufreq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
pxa3xx-cpufreq.c
qoriq-cpufreq.c cpufreq: qoriq: Don't look at clock implementation details 2017-02-09 14:33:02 +01:00
s3c24xx-cpufreq-debugfs.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
s3c24xx-cpufreq.c cpufreq: Return index from cpufreq_frequency_table_target() 2016-06-09 00:58:06 +02:00
s3c64xx-cpufreq.c cpufreq: s3c64xx: remove incorrect __init annotation 2016-12-21 02:54:18 +01:00
s3c2410-cpufreq.c
s3c2412-cpufreq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
s3c2416-cpufreq.c cpufreq: s3c2416: double free on driver init error path 2017-02-09 01:22:45 +01:00
s3c2440-cpufreq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
s5pv210-cpufreq.c ARM: SoC driver updates for v4.8 2016-08-01 18:36:01 -04:00
sa1100-cpufreq.c
sa1110-cpufreq.c ARM: sa1100: move StrongARM CPU ID checks to cputype.h 2016-08-23 10:25:17 +01:00
sc520_freq.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
scpi-cpufreq.c cpufreq-SCPI: Delete unnecessary assignment for the field "owner" 2016-08-18 03:42:32 +02:00
sfi-cpufreq.c cpufreq: sfi: use kmemdup rather than duplicating its implementation 2015-09-01 15:51:15 +02:00
sh-cpufreq.c
sparc-us2e-cpufreq.c
sparc-us3-cpufreq.c
spear-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
speedstep-centrino.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
speedstep-ich.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
speedstep-lib.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
speedstep-lib.h
speedstep-smi.c cpufreq: Use consistent prefixing via pr_fmt 2016-04-09 01:35:18 +02:00
sti-cpufreq.c PM / OPP: Return opp_table from dev_pm_opp_set_*() routines 2017-01-30 09:22:21 +01:00
tegra20-cpufreq.c cpufreq: tegra20: remove superfluous CONFIG_PM ifdefs 2015-09-26 03:00:57 +02:00
tegra124-cpufreq.c cpufreq: tegra124: No need of setting platform-data 2016-04-09 01:12:09 +02:00
ti-cpufreq.c cpufreq: ti: Add cpufreq driver to determine available OPPs at runtime 2017-02-09 22:57:48 +01:00
unicore2-cpufreq.c
vexpress-spc-cpufreq.c cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table 2016-05-05 01:40:04 +02:00