- 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>
-
- 20 10月, 2015 3 次提交
-
-
由 Rhyland Klein 提交于
tegra_audio_clk_init was written expecting a single PLL to be passed in directly. Change this to accept an array which will allow for supporting multiple plls and specifying specific data about them, like their parent, which may change over time. 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 提交于
Benson Leung pointed out that the kerneldoc for this structure has become stale. Update the field descriptions to match the structure content. Reported-by: NBenson Leung <bleung@chromium.org> Acked-by: NRhyland Klein <rklein@nvidia.com> Signed-off-by: NThierry Reding <treding@nvidia.com> Reviewed-by: NBenson Leung <bleung@chromium.org> Signed-off-by: NRhyland Klein <rklein@nvidia.com> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Rhyland Klein 提交于
Some fields moved from the tegra_clk_pll struct to the tegra_pll_params struct. Update the struct comments to reflect where the fields really are. Signed-off-by: NRhyland Klein <rklein@nvidia.com> Acked-By: NPeter De Schrijver <pdeschrijver@nvidia.com> Reviewed-by: NBenson Leung <bleung@chromium.org> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 16 7月, 2015 1 次提交
-
-
由 Mikko Perttunen 提交于
This patch allows SoC-specific CAR initialization routines to register their own reset_assert and reset_deassert callbacks with the common Tegra CAR code. If defined, the common code will call these callbacks when a reset control with number >= num_periph_banks * 32 is attempted to be asserted or deasserted respectively. Numbers greater than or equal to num_periph_banks * 32 are used to avoid clashes with low numbers that are automatically mapped to standard CAR reset lines. Each SoC with these special resets should specify the defined reset control numbers in a device tree header file. Signed-off-by: NMikko Perttunen <mikko.perttunen@kapsi.fi> Acked-by: NMichael Turquette <mturquette@linaro.org> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 13 5月, 2015 2 次提交
-
-
由 Thierry Reding 提交于
The EMC clock driver uses symbols exported by the EMC driver, so it needs the corresponding dependency to avoid build breakage. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Mikko Perttunen 提交于
The driver is currently only tested on Tegra124 Jetson TK1, but should work with other Tegra124 boards, provided that correct EMC tables are provided through the device tree. Older chip models have differing timing change sequences, so they are not currently supported. Signed-off-by: NMikko Perttunen <mperttunen@nvidia.com> Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> [treding@nvidia.com: use more consistent function names] Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 10 4月, 2015 2 次提交
-
-
由 Thierry Reding 提交于
Currently the Tegra clock driver simplifies the clock tree somewhat by taking advantage of the fact that clk_m runs at the same frequency as the oscillator. While that's true on all currently supported SoCs, it does not apply to Tegra210 anymore. On Tegra210 clk_m is typically divided down from the oscillator frequency. To support that setup, add a separate clock for the oscillator that both clk_m and pll_ref derive from. Modify the tegra_osc_clk_init() function to take an additional divider parameter for clk_m. Existing SoCs always pass in 1, whereas Tegra210 will read the divider from a register in the clock & reset controller. Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Thierry Reding 提交于
The clock initialization structure is named struct clk_init_table. Update the kerneldoc comment to use the correct name. Reviewed-by: NPaul Walmsley <paul@pwsan.com> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 26 11月, 2014 1 次提交
-
-
由 Thierry Reding 提交于
The memory controller clock runs either at half or the same frequency as the EMC clock. Reviewed-By: NTomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
- 12 12月, 2013 2 次提交
-
-
由 Stephen Warren 提交于
Now that no code uses the custom Tegra module reset API, we can remove its implementation. Signed-off-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NThierry Reding <treding@nvidia.com> Acked-By: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Stephen Warren 提交于
The Tegra CAR module implements both a clock and reset controller. So far, the driver exposes the clock feature via the common clock API and the reset feature using a custom API. This patch adds an implementation of the common reset framework API (include/linux/reset*.h). The legacy reset implementation will be removed once all drivers have been converted. Signed-off-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NThierry Reding <treding@nvidia.com> Acked-By: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
- 27 11月, 2013 13 次提交
-
-
由 Peter De Schrijver 提交于
Tegra124 has a clock which consists of a mux and a fractional divider. Add support for this. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 Peter De Schrijver 提交于
Tegra124 has periph clocks which share the hw register. Hence locking is required. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Signed-off-by: NThierry Reding <treding@nvidia.com>
-
由 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 提交于
Introduce a common function which performs super clock initialization for Tegra114 and beyond. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
Introduce new files for fixed and PMC clocks common between several Tegra SoCs and move Tegra114 to this new infrastructure. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
Introduce a new file for peripheral clocks common between several Tegra SoCs and move Tegra114 to this new infrastructure. Also PLLP and the PLLP_OUT clocks will be initialized here. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
Move audio clocks and PLLA initialization to a common file so it can be used by multiple Tegra SoCs. Also a new array tegra114_clks is introduced for Tegra114 which specifies which common clocks are available on Tegra114 and what their DT IDs are. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
Add a common infra for registering clkdev. This allows decoupling clk registration from clkdev registration. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
Introduce a common infrastructure for sharing clock initialization between SoCs. 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 提交于
This flag indicates the peripheral clock does not have a divider. It will simplify the initialization tables and avoids some very similar code. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
This patch makes periph_clk_enb_refcnt a global array, dynamically allocated at boottime. It simplifies the macros somewhat and allows clocks common to several Tegra SoCs to be defined in a separate files. Also the clks array becomes global and dynamically allocated which allows the DT registration to be moved to a generic funcion. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
由 Peter De Schrijver 提交于
This patch determines the register bank for clock enable/disable and reset based on the clock ID instead of hardcoding it in the tables describing the clocks. This results in less data to be maintained in the tables, making the code easier to understand. The full benefit of the change will be realized once also other clocktypes will be table based. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
-
- 19 6月, 2013 2 次提交
-
-
由 Paul Walmsley 提交于
Add DFLL DVCO reset line control functions to the CAR IP block driver. The DVCO present in the DFLL IP block has a separate reset line, exposed via the CAR IP block. This reset line is asserted upon SoC reset. Unless something (such as the DFLL driver) deasserts this line, the DVCO will not oscillate, although reads and writes to the DFLL IP block will complete. Thanks to Aleksandr Frid <afrid@nvidia.com> for identifying this and saving hours of debugging time. Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com> Cc: Aleksandr Frid <afrid@nvidia.com> Cc: Peter De Schrijver <pdeschrijver@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
由 Paul Walmsley 提交于
Add clock functions to initialize, enable, and disable the FCPU clock shapers, based on the FCPU voltage rail state. These will be used by the DFLL clocksource driver code. This version of the patch contains a fix for a problem noticed by Andrew Chew <achew@nvidia.com>, where some of the FINETRIM_R bitfields were incorrectly defined. Based on code originally written by Aleksandr Frid <afrid@nvidia.com>. Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com> Cc: Andrew Chew <achew@nvidia.com> Reviewed-by: NAndrew Chew <achew@nvidia.com> Cc: Matthew Longnecker <mlongnecker@nvidia.com> Cc: Aleksandr Frid <afrid@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
- 12 6月, 2013 2 次提交
-
-
由 Peter De Schrijver 提交于
PLLM can have override bits in the PMC. Describe those in the PLL parameters. 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>
-
- 01 6月, 2013 1 次提交
-
-
由 Prashant Gaikwad 提交于
Use common of_clk_init() function for clocks initialization. Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com> Reviewed-by: NThierry Reding <thierry.reding@gmail.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
- 05 4月, 2013 9 次提交
-
-
由 Peter De Schrijver 提交于
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 提交于
Workaround a hardware bug in MSENC during clock enable. 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 提交于
We will need some tegra peripheral clocks with the CLK_IGNORE_UNUSED flag, most notably mselect, which is a bridge between AXI and most peripherals. 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 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>
-