- 21 11月, 2015 2 次提交
-
-
由 Rhyland Klein 提交于
Create a wrapper interface to make use of the existing clk_pll_wait_for_lock. This will be useful for implementations of callbacks in Tegra SoC specific clock drivers. Reviewed-by: NBenson Leung <bleung@chromium.org> Signed-off-by: NRhyland Klein <rklein@nvidia.com> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Thierry Reding 提交于
This is static data that is never modified, so make it const. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 18 11月, 2015 1 次提交
-
-
由 Thierry Reding 提交于
Use unsigned int for loop variables that can never become negative and remove a couple of gratuitous blank lines. Also use single spaces around operators and use a single space instead of a tab to separate comments from code. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 25 8月, 2015 2 次提交
-
-
由 Stephen Boyd 提交于
Use the provider based method to get a clock's name so that we can get rid of the clk member in struct clk_hw one day. Mostly converted with the following coccinelle script. @@ struct clk_hw *E; @@ -__clk_get_name(E->clk) +clk_hw_get_name(E) Acked-by: NHeiko Stuebner <heiko@sntech.de> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com> Cc: Tomasz Figa <tomasz.figa@gmail.com> Cc: Peter De Schrijver <pdeschrijver@nvidia.com> Cc: Prashant Gaikwad <pgaikwad@nvidia.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Acked-by: NThierry Reding <treding@nvidia.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Alexandre Courbot <gnurou@gmail.com> Cc: Tero Kristo <t-kristo@ti.com> Cc: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: NAndrew Bresticker <abrestic@chromium.org> Cc: Ezequiel Garcia <ezequiel.garcia@imgtec.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Kevin Cernekee <cernekee@chromium.org> Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be> Cc: Ulrich Hecht <ulrich.hecht+renesas@gmail.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-rockchip@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: linux-tegra@vger.kernel.org Cc: linux-omap@vger.kernel.org Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: Thierry Reding <treding@nvidia.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 21 7月, 2015 1 次提交
-
-
由 Stephen Boyd 提交于
Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h in files that are using it. Also add in a clkdev.h include that was missing in a file using clkdev APIs. Cc: Peter De Schrijver <pdeschrijver@nvidia.com> Cc: Thierry Reding <treding@nvidia.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 10 4月, 2015 2 次提交
-
-
由 Thierry Reding 提交于
The ret variable is often explicitly initialized to 0, but there is no need to do so in many cases because it will immediately be overwritten with the return value from a function. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Thierry Reding 提交于
Make usage of blank lines as separators more consistent. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 02 2月, 2015 2 次提交
-
-
由 Paul Walmsley 提交于
Tegra132 CAR supports almost the same clocks as Tegra124 CAR. This patch mostly deals with the small differences. Since Tegra132 contains many of the same PLL clock sources used on Tegra114 and Tegra124, enable them in drivers/clk/tegra/clk-pll.c when the kernel is configured to include Tegra132 support. This patch is based on several patches from others: 1. a patch from Peter De Schrijver: http://lkml.iu.edu/hypermail/linux/kernel/1407.1/06094.html 2. a patch from Bill Huang ("clk: tegra: enable cclk_g at boot on Tegra132"), and 3. a patch from Allen Martin ("clk: Enable tegra clock driver for tegra132"). Signed-off-by: NPaul Walmsley <paul@pwsan.com> Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com> Cc: Peter De Schrijver <pdeschrijver@nvidia.com> Cc: Allen Martin <amartin@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: Bill Huang <bilhuang@nvidia.com> Cc: Mike Turquette <mturquette@linaro.org> Cc: Stephen Boyd <sboyd@codeaurora.org>
-
由 Tomeu Vizoso 提交于
As previously the names of the present clock and its parent were swapped. Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
- 08 7月, 2014 1 次提交
-
-
由 Mikko Perttunen 提交于
Use a sequence for enabling hardware control of the SATA PLL that works both when using the SATA lane with SATA and when using it with XUSB. Signed-off-by: NMikko Perttunen <mperttunen@nvidia.com>
-
- 26 6月, 2014 1 次提交
-
-
由 Mikko Perttunen 提交于
This makes the SATA PLL be controlled by hardware instead of software. This is required for working SATA support. Signed-off-by: NMikko Perttunen <mperttunen@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com>
-
- 23 5月, 2014 1 次提交
-
-
由 Jim Lin 提交于
Enable hardware control of PLLE spread-spectrum, IDDQ, and enable controls when enabling PLLE. The hardware (e.g. XUSB) using PLLE will use these controls for power-saving optimizations. Signed-off-by: NJim Lin <jilin@nvidia.com> Signed-off-by: NAndrew Bresticker <abrestic@chromium.org> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
- 17 5月, 2014 1 次提交
-
-
由 Tuomas Tynkkynen 提交于
The value written to PLLE_AUX was incorrect due to a wrong variable being used. Without this fix SATA does not work. Cc: stable@vger.kernel.org Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Tested-by: NMikko Perttunen <mperttunen@nvidia.com> Reviewed-by: NThierry Reding <treding@nvidia.com> Tested-by: NThierry Reding <treding@nvidia.com> Acked-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org> [mturquette@linaro.org: improved changelog]
-
- 17 4月, 2014 3 次提交
-
-
由 Thierry Reding 提交于
When enabling the PLLE as its final step, clk_plle_enable() would accidentally OR in the value previously written to the PLLE_SS_CTRL register. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Thierry Reding 提交于
Add div{m,n,p}_shift() and div{m,n,p}_mask_shifted() helpers to make the code that modifies the m-, n- and p-divider fields of PLLs shorter and easier to read. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Thierry Reding 提交于
PLLE has M, N and P divider shift and width parameters that differ from the defaults. Furthermore, when clearing the M, N and P divider fields the corresponding masks were never shifted, thereby clearing only the lowest bits of the register. This lead to a situation where the PLLE programming would only work if the register hadn't been touched before. Signed-off-by: NThierry Reding <treding@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com>
-
- 20 12月, 2013 1 次提交
-
-
由 Sachin Kamat 提交于
Local variables used only in this file are made static. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Cc: Stephen Warren <swarren@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
- 28 11月, 2013 2 次提交
-
-
由 Wei Yongjun 提交于
In case of error, the function __clk_lookup() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Thierry Reding 提交于
clk_round_rate() can be used by drivers to determine whether or not a frequency is supported by the clock. The current Tegra clock driver outputs an error message and a stacktrace when the requested rate isn't supported. That's fine for clk_set_rate(), but it's confusing when all the driver does is query whether or not a frequency is supported. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 27 11月, 2013 6 次提交
-
-
由 Peter De Schrijver 提交于
Tegra124 introduces a new PLL type, PLLSS. Add support for it. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
Move some fields related to the PLL HW description to the tegra_clk_pll_params. This allows some PLL code to be moved to common files later. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
Use pll_ref instead of pll_re_vco as the pll_e parent on Tegra114. Also add a 12Mhz pll_ref table entry for pll_e for Tegra114. This prevents the system from crashing at bootup because of an unsupported pll_re_vco rate. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
VCO min clipping, dynamic ramp setup and IDDQ init can be done in the respective PLL clk_register functions if the parent is already registered. This is done for other some PLLs already. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Thierry Reding 提交于
The PLL output frequency is multiplied during the P-divider computation, so it needs to be divided by the P-divider again before returning. This fixes an issue where clk_round_rate() would return the multiplied frequency instead of the real one after the P-divider. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Peter De Schrijver 提交于
Add spread spectrum control for PLLE in Tegra114. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
- 12 6月, 2013 4 次提交
-
-
由 Peter De Schrijver 提交于
PLLM has override bits in the PMC. Use those when PLLM_OVERRIDE_ENABLE is set. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
由 Peter De Schrijver 提交于
The PLLRE flags weren't set correctly. Fixed in this patch. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
由 Peter De Schrijver 提交于
The m,n,p fields don't have the same bit offset and width across all PLLs. This patch allows SoC specific files to indicate the offset and width. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
由 Peter De Schrijver 提交于
The pllc and pllxc code weren't always using the correct pdiv_map to map between the post divider value and the hw p field. This could result in illegal values being programmed in the hw. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
- 05 4月, 2013 6 次提交
-
-
由 Peter De Schrijver 提交于
Tegra114 introduces new PLL types. This requires new clocktypes as well as some new fields in the pll structure. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Peter De Schrijver 提交于
PLLC2 and PLLC3 on Tegra114 have separate phaselock and frequencylock bits. So switch to a lock mask to be able to test both at the same time. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Peter De Schrijver 提交于
Some PLLs in Tegra114 don't use a power of 2 mapping for the post divider. Introduce a table based approach and switch PLLU to it. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Peter De Schrijver 提交于
Tegra114 PLLC2 and PLLC3 don't have a lock enable bit. The lock bits are always functional. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Peter De Schrijver 提交于
Not all PLLs in Tegra114 have a bypass bit. Adapt the common code to only use this bit when available. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Peter De Schrijver 提交于
Refactor the PLL programming code to make it useable by the new PLL types introduced by Tegra114. The following changes were done: * Split programming the PLL into updating m,n,p and updating cpcon * Move locking from _update_pll_cpcon() to clk_pll_set_rate() * Introduce _get_pll_mnp() helper * Move check for identical m,n,p values to clk_pll_set_rate() * struct tegra_clk_pll_freq_table will always contain the values as defined by the hardware. * Simplify the arguments to clk_pll_wait_for_lock() * Split _tegra_clk_register_pll() Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 29 1月, 2013 1 次提交
-
-
由 Prashant Gaikwad 提交于
Add Tegra specific clocks, pll, pll_out, peripheral, frac_divider, super. Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com> [swarren: alloc sizeof(*foo) not sizeof(struct foo), add comments re: storing pointers to stack variables, make a timeout loop more idiomatic, use _clk_pll_disable() not clk_disable_pll() from _program_pll() to avoid redundant lock operations, unified tegra_clk_periph() and tegra_clk_periph_nodiv(), unified tegra_clk_pll{,e}, rename all clock registration functions so they don't have the same name as the clock structs, return -EINVAL from clk_plle_enable when matching table rate not found, pass ops to _tegra_clk_register_pll rather than a bool.] Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-