- 03 12月, 2015 3 次提交
-
-
由 Stephen Boyd 提交于
* clk-fixes: clk: sunxi: pll2: Fix clock running too fast clk: scpi: add missing of_node_put clk: qoriq: fix memory leak imx/clk-pllv2: fix wrong do_div() usage imx/clk-pllv1: fix wrong do_div() usage clk: mmp: add linux/clk.h includes clk: ti: drop locking code from mux/divider drivers clk: ti816x: Add missing dmtimer clkdev entries clk: ti: fapll: fix wrong do_div() usage clk: ti: clkt_dpll: fix wrong do_div() usage clk: gpio: Get parent clk names in of_gpio_clk_setup()
-
由 Maxime Ripard 提交于
Contrary to what the datasheet says, the pre divider doesn't seem to be incremented by one in the PLL2, but just uses the value from the register, with 0 being a bypass. This fixes the audio playing too fast. Since we now have the same pre-divider flags, and the only difference with the A10 is the post-divider offset, also remove the structure to just pass the offset as an argument. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Fixes: eb662f85 ("clk: sunxi: pll2: Add A13 support") Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Masahiro Yamada 提交于
Currently, of_clk_get_parent_name() returns a wrong parent clock name when "clock-indices" property exists and the target index is not found in the property. In this case, NULL should be returned. For example, oscillator { compatible = "myclocktype"; #clock-cells = <1>; clock-indices = <1>, <3>; clock-output-names = "clka", "clkb"; }; consumer { compatible = "myclockconsumer"; clocks = <&oscillator 0>, <&oscillator 1>; }; Currently, of_clk_get_parent_name(consumer_np, 0) returns "clka" (and of_clk_get_parent_name(consumer_np, 1) also returns "clka", this is correct). Because the "clock-indices" in the clock parent does not contain <0>, of_clk_get_parent_name(consumer_np, 0) should return NULL. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 01 12月, 2015 14 次提交
-
-
由 Stephen Boyd 提交于
* clk-msm8996: clk: qcom: Add MSM8996 Multimedia Clock Controller (MMCC) driver clk: qcom: Add gfx3d ping-pong PLL frequency switching clk: qcom: Add MSM8996 Global Clock Control (GCC) driver clk: qcom: Add Alpha PLL support clk: divider: Cap table divider values to 'width' member
-
由 Stephen Boyd 提交于
Add a driver for the multimedia clock controller found on MSM8996 based devices. This should allow most multimedia device drivers to probe and control their clocks. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
The GPU clocks on msm8996 have three dedicated PLLs, MMPLL2, MMPLL8, and MMPLL9. We leave MMPLL9 at the maximum speed (624 MHz), and we use MMPLL2 and MMPLL8 for the other frequencies. To make switching frequencies faster, we ping-pong between MMPLL2 and MMPLL8 when we're switching between frequencies that aren't the maximum. Implement custom rcg clk ops for this type of frequency switching. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
Add support for the global clock controller found on MSM8996 based devices. This should allow most non-multimedia device drivers to probe and control their clocks. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
Add support for configuring rates of, enabling, and disabling Alpha PLLs. This is sufficient for the types of PLLs found in the global and multimedia clock controllers. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
When we use a clk divider with a divider table, we limit the maximum divider value in divider_get_val() to the div_mask(width), but when we calculate the divider in divider_round_rate() we don't consider that the maximum divider may be limited by the width. Pass the width along to _get_table_maxdiv() so that we only return the maximum divider that is valid. This is useful for clocks that want to share the same divider table while limiting the available dividers to some subset of the table depending on the width of the bitfield. Cc: Rajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Kuninori Morimoto 提交于
This patch adds CS2000 Fractional-N driver as clock provider. Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> [sboyd@codeaurora.org: Fix unsigned checked for < 0 in cs2000_ratio_get()] Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Julia Lawall 提交于
for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr> Acked-by: NSudeep Holla <sudeep.holla@arm.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Sudip Mukherjee 提交于
If get_pll_div() fails we exited by returning NULL but we missed releasing hwc. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Fixes: 0dfc86b3 ("clk: qoriq: Move chip-specific knowledge into driver") Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Nicolas Pitre 提交于
do_div() is meant to be used with an unsigned dividend. Signed-off-by: NNicolas Pitre <nico@linaro.org> Acked-by: NShawn Guo <shawnguo@kernel.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Nicolas Pitre 提交于
do_div() is meant to be used with an unsigned dividend. Signed-off-by: NNicolas Pitre <nico@linaro.org> Acked-by: NShawn Guo <shawnguo@kernel.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
https://github.com/t-kristo/linux-pm由 Stephen Boyd 提交于
Pull TI clock driver fixes from Tero Kristo: * 'for-4.4-rc/ti-clk-fixes' of https://github.com/t-kristo/linux-pm: clk: ti: drop locking code from mux/divider drivers clk: ti816x: Add missing dmtimer clkdev entries clk: ti: fapll: fix wrong do_div() usage clk: ti: clkt_dpll: fix wrong do_div() usage
-
由 Masahiro Yamada 提交于
The word "cases" is doubled. Keep decent forms for the following lines. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Tero Kristo 提交于
Errata i810 states that DPLL controller can get stuck while transitioning to a power saving state, while its M/N ratio is being re-programmed. As a workaround, before re-programming the M/N ratio, SW has to ensure the DPLL cannot start an idle state transition. SW can disable DPLL idling by setting the DPLL AUTO_DPLL_MODE=0 or keeping a clock request active by setting a dependent clock domain in SW_WKUP. This errata impacts OMAP5 and DRA7 chips, so enable the errata for these. Signed-off-by: NTero Kristo <t-kristo@ti.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 26 11月, 2015 1 次提交
-
-
由 Arnd Bergmann 提交于
The common clk implementation for MMP broke without anyone noticing when we stopped including linux/clk.h from the clk-provider header. This did not show up in the defconfig builds because those use the legacy MMP clk drivers, and it did not show up in my randconfig tests either because I was testing with my mmp multiplatform series applied, which at some point gained the fixup. This fixes the three broken files. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: 61ae7656 ("clk: Remove clk.h from clk-provider.h") Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 24 11月, 2015 4 次提交
-
-
由 Grygorii Strashko 提交于
TI's mux and divider clock drivers do not require locking and they do not initialize internal spinlocks. This code was occasionally copy-posted from generic mux/divider drivers. So remove it. Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Sekhar Nori <nsekhar@ti.com> Signed-off-by: NTero Kristo <t-kristo@ti.com>
-
由 Neil Armstrong 提交于
Add missing clkdev dmtimer related entries for dm816x. 32Khz and ext sources were missing. Signed-off-by: NNeil Armstrong <narmstrong@baylibre.com> Cc: Brian Hutchinson <b.hutchman@gmail.com> Acked-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NTero Kristo <t-kristo@ti.com>
-
由 Nicolas Pitre 提交于
do_div() is meant to be used with an unsigned dividend. Signed-off-by: NNicolas Pitre <nico@linaro.org> Signed-off-by: NTero Kristo <t-kristo@ti.com>
-
由 Nicolas Pitre 提交于
do_div() is meant to be used with an unsigned dividend. Signed-off-by: NNicolas Pitre <nico@linaro.org> Signed-off-by: NTero Kristo <t-kristo@ti.com>
-
- 21 11月, 2015 17 次提交
-
-
由 Georgi Djakov 提交于
Move the xo and sleep clocks to device-tree, instead of hard-coding them in the driver. This allows us to insert the RPM clocks (if they are enabled) in between the on-board oscillators and the actual clock. Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Julia Lawall 提交于
The clk_hw_omap_ops structures are never modified, so declare this one as const, like the others. Done with the help of Coccinelle. Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
* clk-bcm63xx: clk: bcm: Add BCM63138 clock support clk: iproc: Extend binding to cover BCM63138
-
由 Florian Fainelli 提交于
BCM63138 has a simple clocking domain which is primarily the ARMPLL clocking complex, from which the ARM (CPU), APB and AXI clocks would be derived from. Since the ARMPLL controller is entirely compatible with the iProc ARM PLL, we just initialize it without additional parameters. Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Florian Fainelli 提交于
Broadcom BCM63138 DSL SoCs have the same ARMPLL clocking infrastructure as the Cygnus and iProc chips, add a dedicated compatible string and document that the ARMPLL node is a valid node for this chip. Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
All these clock controllers are little endian devices, but so far we've been relying on the regmap mmio bus handling this for us without explicitly stating that fact. After commit 4a98da2164cf (regmap-mmio: Use native endianness for read/write, 2015-10-29), the regmap mmio bus will read/write with the __raw_*() IO accessors, instead of using the readl/writel() APIs that do proper byte swapping for little endian devices. So if we're running on a big endian processor and haven't specified the endianness explicitly in the regmap config or in DT, we're going to switch from doing little endian byte swapping to big endian accesses without byte swapping, leading to some confusing results. On my apq8074 dragonboard, this causes the device to fail to boot as we access the clock controller with big endian IO accesses even though the device is little endian. Specify the endianness explicitly so that the regmap core properly byte swaps the accesses for us. Reported-by: NKevin Hilman <khilman@linaro.org> Tested-by: NTyler Baker <tyler.baker@linaro.org> Tested-by: NKevin Hilman <khilman@linaro.org> Cc: Simon Arlott <simon@fire.lp0.eu> Cc: Mark Brown <broonie@kernel.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Geert Uytterhoeven 提交于
s/dependant of/dependent on/ s/ouput/output/ Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Geert Uytterhoeven 提交于
Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Geert Uytterhoeven 提交于
if CONFIG_OF=n: drivers/clk/clk-cs2000-cp.c: In function ‘cs2000_remove’: drivers/clk/clk-cs2000-cp.c:453:22: warning: unused variable ‘np’ [-Wunused-variable] struct device_node *np = dev->of_node; ^ Convert dummies of_clk_del_provider() and of_clk_init() from macros to static inline functions to kill such compiler warnings. Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Masahiro Yamada 提交于
Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Arnd Bergmann 提交于
quadfs_pll_fs660c32_round_rate prints a few structure members that are never initialized, and also doesn't print the only one it cares about. We get a gcc warning about the ones that are printed: clk/st/clkgen-fsyn.c:560:93: warning: 'params.sdiv' may be used uninitialized in this function clk/st/clkgen-fsyn.c:560:93: warning: 'params.mdiv' may be used uninitialized in this function clk/st/clkgen-fsyn.c:560:93: warning: 'params.pe' may be used uninitialized in this function clk/st/clkgen-fsyn.c:560:93: warning: 'params.nsdiv' may be used uninitialized in this function This changes the code to no longer print uninitialized data, and for good measure it also prints the ndiv member that is being set. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: 5f7aa907 ("clk: st: Support for QUADFS inside ClockGenB/C/D/E/F") Acked-by: NGabriel Fernandez <gabriel.fernandez@linaro.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Alexandre Belloni 提交于
Commit dca1a4b5 ("clk: at91: keep slow clk enabled to prevent system hang") added a workaround for the slow clock as it is not properly handled by its users. Now that the slow clock is taken properly by the drivers, this workaround is not necessary anymore, revert it. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NMichael Turquette <mturquette@baylibre.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Loc Ho 提交于
The X-Gene clock driver missed the divider shift operation when set the divider value. Signed-off-by: NLoc Ho <lho@apm.com> Fixes: 308964ca ("clk: Add APM X-Gene SoC clock driver") Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Jacob Siverskog 提交于
This is according to figure 12 ("I2C Programming Procedure") in "Si5351A/B/C Data Sheet" (https://www.silabs.com/Support%20Documents/TechnicalDocs/Si5351-B.pdf). Without the PLL soft reset, we were unable to get three outputs working at the same time. According to Silicon Labs support, performing PLL soft reset will only be noticeable if the PLL parameters have been changed. Signed-off-by: NJacob Siverskog <jacob@teenage.engineering> Signed-off-by: NJens Rudberg <jens@teenage.engineering> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Masahiro Yamada 提交于
This minor refactoring does not change the function behavior. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Masahiro Yamada 提交于
This if-block can be dropped because the of_parse_phandle_with_args() in the following line returns -EINVAL for negative index. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Sudip Mukherjee 提交于
If kzalloc fails we will already have many messages in the log and we do not need another message to know that kzalloc for sp810 has failed. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 19 11月, 2015 1 次提交
-
-
由 Jyri Sarha 提交于
Get parent clk names in of_gpio_clk_setup() and store the names in struct clk_gpio_delayed_register_data instead of doing it from the clk provider's get() callback. of_clk_get_parent_name() can't be called in struct of_clk_provider's get() callback since it may make a call to of_clk_get_from_provider() and this in turn tries to recursively lock of_clk_mutex. Signed-off-by: NJyri Sarha <jsarha@ti.com> Cc: Sergej Sawazki <ce3a@gmx.de> Fixes: 0a4807c2 ("clk: Make of_clk_get_parent_name() robust with #clock-cells = 1") Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-