History log of /arch/arm/mach-tegra/clock.h
Revision Date Author Comments
7ff43eeabd19238dc5ee528f818f3d0e1ddd9f68 09-Jan-2012 Peter De Schrijver <pdeschrijver@nvidia.com> ARM: tegra: enable tegra30 clock framework

Add init calls for clocks on tegra30.

Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
4fccf75ba3bee0bb3be7828caa03625d4ac100a2 09-Jan-2012 Peter De Schrijver <pdeschrijver@nvidia.com> ARM: tegra: add support for new clock framework features

Add support for new clock framework features implemented in tegra30.

Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
8e4fab2c39b2db774e41553646788599cfdac9df 14-Dec-2011 Peter De Schrijver <pdeschrijver@nvidia.com> arm/tegra: don't export clk_measure_input_freq

don't export clk_measure_input_freq as its functionality is also available
using clk_get_rate().

Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Colin Cross <ccross@android.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
742face03f57727b5a86d0df631e47a1ef0498d2 14-Dec-2011 Peter De Schrijver <pdeschrijver@nvidia.com> arm/tegra: prepare clock code for multiple tegra variants

Rework the tegra20 clock code to support multiple tegra variants :

* remove tegra2_periph_reset_assert/tegra2_periph_reset_deassert. This
functionality should be in clock.c.

* remove tegra_sdmmc_tap_delay and export tegra2_sdmmc_tap_delay
directly. This feature is handled inside the sdmmc block from tegra30
onwards. So there is no need for support in the clock code beyond
tegra20. There are no in tree users of this function.

Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Colin Cross <ccross@android.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
9743b38969790d33b077ab80b175ea63a0398703 13-Feb-2011 Colin Cross <ccross@android.com> ARM: tegra: clock: Add function to set SDMMC tap delay

The SDMMC controllers have extra bits in the clock source
register that adjust the delay between the clock and data
to compenstate for delays on the PCB. The values need to
be set from the clock code so the clock can be locked
during the read-modify-write on the clock source register.

Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
4db4afb4df93425708ca19417921bcc6a6306476 21-Feb-2011 Colin Cross <ccross@android.com> ARM: tegra: clock: Minor cleanups

Remove unnecessary uses of #ifdef CONFIG_DEBUG_FS
Convert bool assignments from 1 to true

Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
310992ca4b994db8c869e1c0f32c004b7a196147 13-Feb-2011 Colin Cross <ccross@android.com> ARM: tegra: clock: Add shared bus clock type

Some clocks may have multiple downstream users that need to request a
higher clock rate. Shared bus clocks provide a unique shared_bus_user
clock to each user. The frequency of the bus is set to the highest
enabled shared_bus_user clock, with a minimum value set by the
shared bus. Drivers can use clk_enable and clk_disable to enable
or disable their requirement, and clk_set_rate to set the minimum rate.

Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
4729fd7a7dfe7847b4870801ad12222adaeb016c 13-Feb-2011 Colin Cross <ccross@android.com> ARM: tegra: clock: Convert global lock to a lock per clock

Give each clock its own lock, and remove all lock traversals from
parent to child clocks to prevent AB-BA deadlocks.

This brings the locking in line with the common struct clk
patches and should make conversion simple.

Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
f151961173bf28047d01b410969f05e485f56d7e 13-Feb-2011 Colin Cross <ccross@android.com> ARM: tegra: clock: Move unshared clk struct members into union

Creates a union of a struct for each type of clock to reduce memory
usage and clarify which members are used by all clocks and which are
used by a single type.

Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
41cfe3676d0f4f07ba79d4f64a21450ab02d22cd 13-Feb-2011 Colin Cross <ccross@android.com> ARM: tegra: clock: Drop CPU dvfs

The existing version did not extend well to core dvfs, drop it
for now until the new clk api with clk_prepare and clk_unprepare
is ready and non-atomic clocks are possible.

Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
35c47c3bbaa82b046d645aed2b709ce12ef0e25e 16-Sep-2010 Colin Cross <ccross@android.com> ARM: tegra: clock: Don't use PLL lock bits

The PLL lock bits are not reliable, use per-PLL timeouts instead.

Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
2b84cb4faab698b1708ce841c554546b1c9b2261 03-Sep-2010 Dima Zavin <dima@android.com> ARM: tegra: clock: enable clk reset for non-peripheral clocks

Add a new 'reset' clk op. This can be provided for any clock,
not just peripherals.

Signed-off-by: Dima Zavin <dima@android.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Colin Cross <ccross@android.com>
6d803ba736abb5e122dede70a4720e4843dd6df4 17-Nov-2010 Jean-Christop PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> ARM: 6483/1: arm & sh: factorised duplicated clkdev.c

factorise some generic infrastructure to assist looking up struct clks
for the ARM & SH architecture.

as the code is identical at 99%

put the arch specific code for allocation as example in asm/clkdev.h

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
71fc84cc35ee05913306bfe6e2454cdfc5bf7081 08-Jun-2010 Colin Cross <ccross@android.com> [ARM] tegra: clock: Add dvfs support, bug fixes, and cleanups

- Add drivers to clock lookup table
- Add new pll_m entries
- Support I2C U16 divider
- Fix rate reporting on 32.768kHz clock
- Call propagate rate only if set_rate succeeds
- Add support for audio_sync clock
- Add 24MHz to PLLA frequency list
- Correct i2s1/2/spdifout mux
- Add suspend support
- Fix enable/disable parent clocks in set_parent
- Add max_rate parameter to all clocks
- DVFS support
- Add virtual cpu clock with dvfs
- Support clk_round_rate
- Fix requesting very high periph frequencies
- Add quirks for PLLU:
PLLU is slightly different from the rest of the PLLs. The
lock enable bit is at bit 22 instead of 18 in the MISC
register, and the post divider field is a single bit with
reversed values from other PLLs.
- Simplify recalculating clock rates
- Fix UART divider flags
- Remove unused clock ops

Signed-off-by: Colin Cross <ccross@android.com>
d861196163e30c07add471562b45dce38517c9b2 29-Jan-2010 Colin Cross <ccross@android.com> [ARM] tegra: Add clock support

v2: fixes from Russell King:
- include linux/io.h instead of asm/io.h
- fix whitespace in Kconfig
- Use spin_lock_init to initialize lock
- Return -ENOSYS instead of BUG for unimplemented clock ops
- Use proper return values in tegra2 clock ops
additional changes:
- Rename some clocks to match dev_ids
- add rate propagation
- add debugfs entries
- add support for clock listed in clk_lookup under multiple dev_ids
v3:
- Replace per-clock locking with global clock lock
- Autodetect clock state on init
- Let clock dividers pick next lower possible frequency
- Add support for clock init tables
- Minor bug fixes
- Fix checkpatch issues

Signed-off-by: Colin Cross <ccross@android.com>