summaryrefslogtreecommitdiffstats
path: root/arch (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'tegra-for-4.3-clk' of ↵Stephen Boyd2015-08-261-0/+1
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next clk: tegra: Changes for v4.3-rc1 This contains the DFLL driver needed to implement CPU frequency scaling on Tegra.
| * clk: tegra: Add functions for parsing CVB tablesTuomas Tynkkynen2015-07-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tegra CVB tables encode the relationship between operating voltage and optimal frequency as a function of the so-called speedo value. The speedo value is written to the on-chip fuses at the factory, which allows the voltage-frequency operating points to be calculated on an per-chip basis. Add utility functions to parse the Tegra-specific tables and export the voltage-frequency pairs to the generic OPP framework for other drivers to use. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Signed-off-by: Mikko Perttunen <mikko.perttunen@kapsi.fi> Acked-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Michael Turquette <mturquette@linaro.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
* | clk/ARM: move Ux500 PRCC bases to the device treeLinus Walleij2015-08-252-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | The base addresses for the Ux500 PRCC controllers are hardcoded, let's move them to the clock node in the device tree and delete the constants. Cc: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Olof Johansson <olof@lixom.net> Acked-by: Michael Turquette <mturquette@baylibre.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
* | MIPS: alchemy: Convert to clk_hw based provider APIsStephen Boyd2015-08-251-6/+6
| | | | | | | | | | | | | | | | | | | | We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Manuel Lauss <manuel.lauss@gmail.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Linux-MIPS <linux-mips@linux-mips.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
* | ARM: OMAP: Convert __clk_get_rate() to provider/consumer APIsStephen Boyd2015-08-251-3/+3
| | | | | | | | | | | | | | | | We're removing struct clk from the clk provider API, so switch to clk_get_rate() and clk_hw_get_rate() here appropriately. Acked-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
* | ARM: sun9i: Wrap the clock-indicesMaxime Ripard2015-08-121-10/+22
| | | | | | | | | | | | | | | | Wrap the clock-indices to match the wrapping of the clock-output-names in order to make it easier to match indices to names. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* | ARM: sun8i: Add clock indicesMaxime Ripard2015-08-121-0/+15
| | | | | | | | | | | | | | | | The A23 and A33 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* | ARM: sun7i: Add clock indicesMaxime Ripard2015-08-121-0/+23
| | | | | | | | | | | | | | | | The A20 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* | ARM: sun6i: Add clock indicesMaxime Ripard2015-08-121-0/+24
| | | | | | | | | | | | | | | | The A31 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* | ARM: sun5i: Add clock indicesMaxime Ripard2015-08-123-3/+39
| | | | | | | | | | | | | | | | The A10s and A13 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* | ARM: sun4i: Add clock indicesMaxime Ripard2015-08-121-17/+52
| | | | | | | | | | | | | | | | The A10 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* | Merge branch 'cleanup-clk-h-includes' into clk-nextStephen Boyd2015-07-2812-7/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cleanup-clk-h-includes: (62 commits) clk: Remove clk.h from clk-provider.h clk: h8300: Remove clk.h and clkdev.h includes clk: at91: Include clk.h and slab.h clk: ti: Switch clk-provider.h include to clk.h clk: pistachio: Include clk.h clk: ingenic: Include clk.h clk: si570: Include clk.h clk: moxart: Include clk.h clk: cdce925: Include clk.h clk: Include clk.h in clk.c clk: zynq: Include clk.h clk: ti: Include clk.h clk: sunxi: Include clk.h and remove unused clkdev.h includes clk: st: Include clk.h clk: qcom: Include clk.h clk: highbank: Include clk.h clk: bcm: Include clk.h clk: versatile: Remove clk.h and clkdev.h includes clk: ux500: Remove clk.h and clkdev.h includes clk: tegra: Properly include clk.h ...
| * | powerpc/512x: clk: Include clk.hStephen Boyd2015-07-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This clock provider uses the consumer API, so include clk.h explicitly. Cc: Gerhard Sittig <gsi@denx.de> Cc: Scott Wood <scottwood@freescale.com> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | MIPS: Alchemy: Include clk.hStephen Boyd2015-07-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This clock provider uses the consumer API, so include clk.h explicitly. Cc: Manuel Lauss <manuel.lauss@gmail.com> Acked-by: Ralf Baechle <ralf@linux-mips.org> Cc: Linux-MIPS <linux-mips@linux-mips.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | arm64: Remove clk-provider.h includeStephen Boyd2015-07-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This file doesn't use the clk provider APIs. Remove the include. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: OMAP2+: Include clk.hStephen Boyd2015-07-203-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | These files use the consumer API, so include clk.h explicitly. Acked-by: Tero Kristo <t-kristo@ti.com> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: s3c64xx: Remove clk-provider.h includeStephen Boyd2015-07-201-1/+0
| | | | | | | | | | | | | | | | | | This file doesn't use the clk provider APIs. Remove the include. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: orion5x: Remove clk-provider.h includeStephen Boyd2015-07-201-1/+0
| | | | | | | | | | | | | | | | | | | | | This file doesn't use the clk provider APIs. Remove the include. Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: mvebu: Remove clk-provider.h includeStephen Boyd2015-07-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This file doesn't use the clk provider APIs. Remove the include. Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: keystone: Remove clk-provider.h includeStephen Boyd2015-07-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This file doesn't use the clk provider APIs. Remove the include. Cc: Nishanth Menon <nm@ti.com> Cc: Sekhar Nori <nsekhar@ti.com> Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: hisi: Remove clk-provider.h includeStephen Boyd2015-07-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This file doesn't use the clk provider APIs. Remove the include. Cc: Haojian Zhuang <haojian.zhuang@linaro.org> Cc: Wei Xu <xuwei5@hisilicon.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: at91: Remove clk-provider.h includeStephen Boyd2015-07-201-1/+0
| |/ | | | | | | | | | | | | | | | | This file doesn't use the clk provider APIs. Remove the include. Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
* | Merge branch 'for-4.2/ti-clk-move' of https://github.com/t-kristo/linux-pm ↵Stephen Boyd2015-07-2821-3567/+42
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into clk-next From Tero Kristo: "This pull request contains the TI clock driver set to move the clock implementations under clock driver. Some small portions of the clock driver code still remain under mach-omap2 after this, it should be decided whether this code is now obsolete and should be deleted or should someone try to fix it." Slight merge conflicts with determine_rate prototype changes.
| * | clk: ti: move low-level access and init code under clock driverTero Kristo2015-06-022-89/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | With most of the clock code under clock driver already, the low-level register access code, and the init code for the same, is no longer needed outside the clock driver. Thus, these can be moved under clock driver also. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: remove legacy omap2_clk_readl/writel APIsTero Kristo2015-06-022-19/+0
| | | | | | | | | | | | | | | | | | | | | As most of the clock driver code has migrated, these are no longer used for anything. Thus remove these APIs completely. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: remove exported ll_ops struct, instead add an API for registrationTero Kristo2015-06-023-4/+16
| | | | | | | | | | | | | | | | | | | | | We should avoid exporting data from drivers, instead use an API for registering the clock low level operations. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: remove dead definitions from the clock header fileTero Kristo2015-06-023-143/+0
| | | | | | | | | | | | | | | | | | | | | Cleanup the mess in clock.h by removing all definitions that are no longer used for anything. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: am3517: move remaining am3517 clock support code to clock driverTero Kristo2015-06-023-133/+0
| | | | | | | | | | | | | | | | | | | | | | | | With legacy clock support gone, this is no longer needed under platform, so move it under the clock driver itself. Make some exports be driver internal definitions at the same time. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP4: clock: remove clock44xx.h headerTero Kristo2015-06-022-21/+0
| | | | | | | | | | | | | | | | | | This is not needed for anything anymore, so remove it completely. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: omap34xx: move omap34xx clock type support code to clock driverTero Kristo2015-06-022-139/+1
| | | | | | | | | | | | | | | | | | | | | | | | With the legacy clock data gone, this is no longer needed under platform, so move it under the clock driver itself. Remove unnecessary declarations from the TI clock header also. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: clkdm: move clkdm gate clock support code to clock driverTero Kristo2015-06-022-79/+0
| | | | | | | | | | | | | | | | | | | | | | | | With the legacy clock data gone, this is no longer needed under platform, so move it under the clock driver itself. Remove the exported clock driver APIs as well, as these are not needed outside clock driver anymore. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: omap2430: move clock support code under clock driverTero Kristo2015-06-022-58/+0
| | | | | | | | | | | | | | | | | | | | | | | | With the legacy clock support gone, this is no longer needed under platform code-base. Thus, move this under the TI clock driver, and remove the exported API from the public header. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: dflt: move support for default gate clock to clock driverTero Kristo2015-06-021-273/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the legacy support gone, OMAP2+ default gate clock can be moved under clock driver. Create a new file for the purpose, and clean-up the header exports a bit as some clock APIs are no longer needed outside clock driver itself. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: remove clkdm_control static boolean from codeTero Kristo2015-06-022-26/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | clkdm_control is used to determine, whether clocks should trigger a clockdomain transition when they are enabled/disabled. Keep this functionality intact, but replace this with a clk_features flag which can be initialized during boot if needed. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP3: clock: remove clock3xxx.c fileTero Kristo2015-06-023-34/+3
| | | | | | | | | | | | | | | | | | | | | | | | This now only has a couple of variables within it, which are used outside the file itself. Move these variables to where they are actually used, and remove the file completely as it is now empty. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: dpll: move omap3 DPLL functionality to clock driverTero Kristo2015-06-024-905/+2
| | | | | | | | | | | | | | | | | | | | | | | | With the legacy clock support gone, OMAP3 generic DPLL code can now be moved over to the clock driver also. A few un-unused clkoutx2 functions are also removed at the same time. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: add support for specific CM ops to ti_clk_ll_opsTero Kristo2015-06-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clock driver requires access to some CM API functions once the code is being moved under the clock driver from the platform directory. Gate type clock requires access to cm_wait_module_ready and cm_split_idlest_reg functions, which are both used for waiting until the module being clocked has been successfully activated. These CM APIs are now exported through the ti_clk_ll_ops struct. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: add support for clkdm ops to the low level clk opsTero Kristo2015-06-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Clock driver requires access to certain clockdomain handling ops once the code is being moved over under clock driver. Example of this is clk_enable / clk_disable under omap3 DPLL code. The required clkdm APIs are now exported through the ti_clk_ll_ops struct. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: remove support for legacy mpurate command line paramTero Kristo2015-06-025-125/+1
| | | | | | | | | | | | | | | | | | | | | | | | The legacy support is wrong and dangerous, as it doesn't take any OPPs into account and does not scale voltages. Switching mpurate should be handled through cpufreq. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: move omap2_clk_enable_init_clocks under clock driverTero Kristo2015-06-021-24/+0
| | | | | | | | | | | | | | | | | | | | | This is no longer used outside clock driver, so move it under the driver and remove the export for it from the global header file. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: autoidle: move generic autoidle handling code to clock driverTero Kristo2015-06-022-107/+0
| | | | | | | | | | | | | | | | | | | | | | | | This is no longer needed in platform directory, as the legacy clock data is gone, so move it under TI clock driver. Some static functions are renamed also. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP36xx: remove clock36xx.c/.h filesTero Kristo2015-06-023-83/+1
| | | | | | | | | | | | | | | | | | | | | These files contain legacy clock implementations which are no longer used for anything, thus remove them completely. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: remove clock_common_data.c fileTero Kristo2015-06-023-130/+1
| | | | | | | | | | | | | | | | | | | | | | | | This only contains clksel tables that were used with the legacy clock data. Now that legacy clock data is completely gone, this file can be removed also. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clk: remove obsolete clksel support codeTero Kristo2015-06-023-480/+1
| | | | | | | | | | | | | | | | | | | | | | | | The clksel clock type is no longer used for anything, it is rather replaced with common clock divider code. Thus, remove the dead code from kernel. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP3: dpll3-m2: get rid of obsolete clksel accessTero Kristo2015-06-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Core DVFS support code is currently referencing clksel functionality, which is wrong. The m2 divisor has been implemented as a divider clock for a long time already, so replace the validrate check call with proper functionality. Core DVFS is currently not supported in the kernel so verifying this patch can be rather tricky, this should probably be fixed at some point. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: move interface clock implementation under drivers/clkTero Kristo2015-06-023-81/+1
| | | | | | | | | | | | | | | | | | | | | | | | With the legacy clock support gone, the OMAP interface clock implementation can be moved under the clock driver. Some temporary header file tweaks are also needed to make this change work properly. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: move OMAP4+ DPLL implementation under drivers/clkTero Kristo2015-06-023-239/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the legacy clock support gone, the OMAP4 specific DPLL implementations can be moved under the clock driver. Change some of the function prototypes to be static at the same time, and remove some exports from the global TI clock driver header. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | clk: ti: move generic OMAP DPLL implementation under drivers/clkTero Kristo2015-06-022-371/+1
| | | | | | | | | | | | | | | | | | | | | | | | With the legacy clock data now gone, we can start moving OMAP clock type implementations under clock driver. Start this with moving the generic OMAP DPLL clock type under TI clock driver. Signed-off-by: Tero Kristo <t-kristo@ti.com>
| * | ARM: OMAP2+: clock: export driver API to setup/get clock featuresTero Kristo2015-06-025-48/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | As most of the clock driver support code is going to be moved under drivers/clk/ti, an API for setting / getting the SoC specific clock features is needed. This patch provides this API and changes the existing code to use it. Signed-off-by: Tero Kristo <t-kristo@ti.com>
* | | clk: fix some determine_rate implementationsBoris Brezillon2015-07-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some determine_rate implementations are not returning an error when they failed to adapt the rate according to the rate request. Fix them so that they return an error instead of silently returning 0. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> CC: Jonathan Corbet <corbet@lwn.net> CC: Tony Lindgren <tony@atomide.com> CC: Ralf Baechle <ralf@linux-mips.org> CC: "Emilio López" <emilio@elopez.com.ar> CC: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Tero Kristo <t-kristo@ti.com> CC: Peter De Schrijver <pdeschrijver@nvidia.com> CC: Prashant Gaikwad <pgaikwad@nvidia.com> CC: Stephen Warren <swarren@wwwdotorg.org> CC: Thierry Reding <thierry.reding@gmail.com> CC: Alexandre Courbot <gnurou@gmail.com> CC: linux-doc@vger.kernel.org CC: linux-kernel@vger.kernel.org CC: linux-arm-kernel@lists.infradead.org CC: linux-omap@vger.kernel.org CC: linux-mips@linux-mips.org CC: linux-tegra@vger.kernel.org Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>