[go: nahoru, domu]

History log of /drivers/clk/samsung/clk-exynos5250.c
Revision Date Author Comments
305cfab0baa837e2b0553968c6a901f6b4aef6ee 26-Jun-2014 Krzysztof Kozlowski <k.kozlowski@samsung.com> clk: samsung: Make of_device_id array const

Array of struct of_device_id may be be const as expected by
of_match_table field and of_find_matching_node_and_match() function.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
d5e136a21b2028fb1f45143ea7112d5869bfc6c7 18-Jun-2014 Sylwester Nawrocki <s.nawrocki@samsung.com> clk: samsung: Register clk provider only after registering its all clocks

Ensure the clock provider is not registered until after all its related
clocks were created and are ready to use. Currently there are races
possible and any (of_)clk_get() call right after a clock provider's
clk_init_cb callback call may fail.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
0b1643b39ddae68f1b1b5ed848c8268a004a60a9 19-Jun-2014 Rahul Sharma <rahul.sharma@samsung.com> clk/exynos5250: fix bit number for tv sysmmu clock

Change bit from 2 to 9 for tv (mixer) sysmmu clock.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Reviewed-by: Sachin Kamat <sachin.kamat@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
bfed1074f213051e94648bfad0d0611a16d81366 22-May-2014 Cho KyongHo <pullip.cho@samsung.com> clk: exynos5250: Add missing sysmmu clocks for DISP and ISP blocks

This patch adds the missing sysmmu clocks for Display and
ISP blocks.

Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Acked-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
9a8f39950d276bc77d3eb22bfc798c4612ee3c29 08-May-2014 Amit Daniel Kachhap <amit.daniel@samsung.com> ARM: EXYNOS: Move arm core power down clock to exynos5250 common clock

Now with common clock support added for exynos5250 it is necessary to
move this code to exynos5250 common clock driver as clock registers
should be handled there. This change is tested in exynos5250 based
arndale platform.

Cc: Abhilash Kesavan <a.kesavan@samsung.com>
Cc: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsugn.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
[t.figa: Rebased onto current kernel sources.]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
20b82ae27e89739ed8740323913d58efe593ef91 28-Apr-2014 Arun Kumar K <arun.kk@samsung.com> clk: samsung: exynos5250: Add clocks for G3D

This patch adds the required clocks for ARM Mali IP
in Exynos5250.

Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
[t.figa: Changed clock ID to avoid conflict with CLK_SSS]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
5b73721b60360163169a8eccd3c4285f4a605d07 17-Feb-2014 Naveen Krishna Chatradhi <ch.naveen@samsung.com> clk: samsung: exynos5250/5420: Add gate clock for SSS module

This patch adds gating clock for SSS(Security SubSystem)
module on Exynos5250/5420.

Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
[t.figa: Fixed sort order and group name.]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
976face4b46ab36b04312b4e404d160296716d46 12-Mar-2014 Rahul Sharma <rahul.sharma@samsung.com> clk/samsung: add support for multiple clock providers

Samsung CCF helper functions do not provide support to
register multiple Clock Providers for a given SoC. Due to
this limitation, SoC platforms are not able to use these
helpers for registering multiple clock providers and are
forced to bypass this layer.

This layer is modified accordingly to enable the support
for multiple clock providers.

Clock file for exynos4, exynos5250, exynos5420, exynos5440,
S3c64xx, S3c24xx are also modified as per changed helper functions.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
[t.figa: Modified s3c2410 clock driver as well]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
3efb25116774f69f0649fd6774fd46306cabdb56 14-Feb-2014 Tomasz Figa <t.figa@samsung.com> clk: samsung: Drop old suspend/resume code

Since all SoC drivers have been moved to local suspend/resume handling,
the old code can be safely dropped.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Thomas Abraham <thomas.ab@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
c3b6c1d7015a5a19d87725fe22b58aeea9a88f3c 14-Feb-2014 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Move suspend/resume handling to SoC driver

Since there are multiple differences in how suspend/resume of particular
Exynos SoCs must be handled, SoC driver is better place for
suspend/resume handlers and so this patch moves them.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Thomas Abraham <thomas.ab@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
35399dda011b515120e0c39463ac32f0cac75c6a 25-Sep-2013 Andrew Bresticker <abrestic@chromium.org> clk: exynos5250: add clock ID for div_pcm0

There is no gate for the PCM clock input to the AudioSS block, so
the parent of sclk_pcm is div_pcm0. Add a clock ID for it so that
we can reference it in device trees.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
2fe8f00c497624f8e88dcb212ae227bd06ee6bb7 07-Jan-2014 Andrzej Hajda <a.hajda@samsung.com> clk: exynos5250: replace clock ID private enums with IDs from DT header

The patch replaces private enum clock IDs in the driver with macros provided
by the DT header.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
f521ac8b390cd6e1ce3407442d500528becd5874 08-Nov-2013 Andrew Bresticker <abrestic@chromium.org> clk: exynos5250: register APLL rate table

Register the APLL rate table so that we can set the APLL rate from
the cpufreq driver.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
e86ffc4199c6004274cb4a169c7f84cc489532d4 19-Dec-2013 Sachin Kamat <sachin.kamat@linaro.org> clk: exynos5250: Add CLK_SET_RATE_PARENT flag to mout_apll

Add CLK_SET_RATE_PARENT flag to mout_apll clock. This will let us set the
clock rate in the cpufreq driver.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
96987ded8fd6e4b19fdac69950acfaeccd681952 15-Oct-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Fix parents of gate clocks from MFC domain

This patch adds mout_aclk333_sub mux clock and updates gate clocks from
MFC domain to have it as their parent as specified in SoC documentation.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Tomasz Figa <t.figa@samsung.com>
bfeb9f274b128833eedcdea9779042e49cf4fa85 15-Oct-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Correct parent list of audio muxes

According to SoC documentation, input 5 of mout_audio muxes is connected
to xxti (named fin_pll in the driver). This patch corrects defined
parent arrays to match SoC documentation.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Tomasz Figa <t.figa@samsung.com>
256dd646a30fb7bc6720b636e8b9098cd492e603 15-Oct-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Add missing unpopulated mux parents

This patch updates mux parent arrays with unpopulated mux inputs, as all
inputs need to be specified in parent arrays passed to
clk_register_mux(), otherwise clk_set_parent() can generate out of bound
accesses to the array.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Tomasz Figa <t.figa@samsung.com>
3818f11740bbf87ad76f4f502f6739c8d62e5c17 15-Oct-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Fix parent of gate clocks from DISP1 domain

This patch adds mux_aclk_200_disp1_sub mux clock, which according to SoC
documentation is the correct parent of DISP1 gate clocks.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Tomasz Figa <t.figa@samsung.com>
796d1f4cd62500ee55a645f2649b546710b11bd1 15-Oct-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Fix parents of gate clocks from GSCL domain

This patch adds mout_aclk266_gscl_sub mux clock and adjusts definitions
of GSCL domain gate clocks to use it as their parent, as specified in
SoC documentation.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Tomasz Figa <t.figa@samsung.com>
38ee37540f5a9dd946a9eaca3d48d178c72dbe15 15-Oct-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Make names of mux and div clocks consistent

This patch renames all mux clocks to start with mout_ prefix and all div
clocks to start with div_ prefix for consistency with other clocks
already defined this way.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Tomasz Figa <t.figa@samsung.com>
2786c9622e9031ff03b6d54d8b5d2d28e9fd2579 15-Oct-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Sort definitions by registers and bitfield

This patch reorders clock definitions, so they are sorted by register
addresses and bitfield shifts. When at it, blank lines are added to
separate definitions of clocks from different registers.

Overall this should make the driver more readable and reduce the number
of potential conflicts when adding new entries.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Tomasz Figa <t.figa@samsung.com>
2feed5aecf5f367b92bd6b6e92afe9e3de466907 11-Dec-2013 Abhilash Kesavan <a.kesavan@samsung.com> clk: samsung: exynos5250: Add CLK_IGNORE_UNUSED flag for the sysreg clock

The sysreg (system register) generates control signals for various blocks
like disp1blk, i2c, mipi, usb etc. However, it gets disabled as an unused
clock at boot-up. This can lead to failures in operation of above blocks,
because they can not be configured properly if this clock is disabled.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
[t.figa: Updated patch description.]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
8fb9aeb7a71ef4f3e0613d459a2e1366a7a90469 12-Dec-2013 Abhilash Kesavan <a.kesavan@samsung.com> clk: samsung: exynos5250: Add MDMA0 clocks

Adds gate clock for MDMA0 on Exynos5250 SoC. This is needed to ensure
that the clock is enabled when MDMA0 is used on systems on which
firmware gates the clockby default.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
[t.figa: Updated patch description.]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
3bf34666a0cce5234ac677ed2fbe5cea82c71329 12-Dec-2013 Abhilash Kesavan <a.kesavan@samsung.com> clk: samsung: exynos5250: Fix ACP gate register offset

The CLK_GATE_IP_ACP register offset is incorrectly listed making
definition of g2d clock incorrect, which may lead to system failures
when trying to use G2D on systems on which firmware gates this clock
by default. Fix this and the register ordering as well.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
[t.figa: Updated patch description.]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
97c3557c3e0413efb1f021f582d1459760e22727 08-Nov-2013 Andrew Bresticker <abrestic@chromium.org> clk: exynos5250: fix sysmmu_mfc{l,r} gate clocks

The gate clocks for the MFC sysmmus appear to be flipped, i.e.
GATE_IP_MFC[2] gates sysmmu_mfcl and GATE_IP_MFC[1] gates sysmmu_mfcr.
Fix this so that the MFC will start up.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
22e9e7589e7bc6006af983f73e4a4057dbd9da66 26-Aug-2013 Tomasz Figa <t.figa@samsung.com> clk: samsung: exynos5250: Simplify registration of PLL rate tables

Since the _get_rate() helper has been modified to use __clk_lookup()
internally, checking of PLL input rates can be done using it and so the
registration code can be simplified.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
e2815b048aa05bc2e1c0a49ffd23ebed47e9c813 22-Aug-2013 Rahul Sharma <rahul.sharma@samsung.com> clk/exynos5250: change parent to aclk200_disp1 for hdmi subsystem

parent of hdmi and mixer block is mentioned as aclk200 which is
not correct. It is clocked by the ouput of aclk200_disp1. Hence
parent for mixer and hdmi clocks is changed to aclk200_disp1.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
b6993ecb87ac65cf7e718f4f45579e4f78fc1c27 07-Aug-2013 Sachin Kamat <sachin.kamat@linaro.org> clk: exynos5250: Fix incorrect placement of __initdata

__initdata should be placed between the variable name and equal
sign for the variable to be placed in the intended section.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
ae2329f790ee064b562ab37a2897a047f4d8eaeb 06-Aug-2013 Sachin Kamat <sachin.kamat@linaro.org> clk: exynos5250: Make exynos5250_plls static

exynos5250_plls is used only in this file. Make it static.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
d2127ac4518d81fa5edcaf922fdd34b54a2888a7 11-Jun-2013 Vikas Sajjan <vikas.sajjan@linaro.org> clk: samsung: Add EPLL and VPLL freq table for exynos5250 SoC

Adds the EPLL and VPLL freq table for exynos5250 SoC.

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
8bc2eeb83ed9d07c82f2ff22655018eae426fe33 11-Jun-2013 Vikas Sajjan <vikas.sajjan@linaro.org> clk: samsung: Reorder MUX registration for mout_vpllsrc

While trying to get rate of "mout_vpllsrc" MUX (parent) for registering the
"fout_vpll" (child), we found get rate was failing.

So this patch moves the mout_vpllsrc MUX out of the existing common list
and registers the mout_vpllsrc MUX before the PLL registrations.

Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
3ff6e0d8d64d594a551b5c4904e4b617bf7eee22 11-Jun-2013 Yadwinder Singh Brar <yadi.brar@samsung.com> clk: samsung: Add support to register rate_table for samsung plls

This patch defines a common rate_table which will contain recommended p, m, s,
k values for supported rates that needs to be changed for changing
corresponding PLL's rate.

Reviewed-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
8dac3530c76cc8f9dfbbd7acf3199b2ab5ce977d 11-Jun-2013 Yadwinder Singh Brar <yadi.brar@samsung.com> clk: samsung: Migrate exynos5250 to use common samsung_clk_register_pll()

This patch migrates exynos5250 pll registeration to use common
samsung_clk_register_pll() by intialising table of PLLs and adding PLLs to
unique id list of clocks.

Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
b38a5040a66dc4337ed9a06cc7495a42dd684028 25-Jul-2013 Rahul Sharma <rahul.sharma@samsung.com> clk/exynos5250: add sclk_hdmiphy in the list of special clocks

hdmi driver needs hdmiphy clock which is one of the parent
for hdmi mux clock. This is required while changing the parent
of mux clock.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
4a453314883d9d0a500107b508500ffffdca2f6d 25-Jul-2013 Rahul Sharma <rahul.sharma@samsung.com> clk/exynos5250: add mout_hdmi mux clock for hdmi

hdmi driver needs to change the parent of hdmi clock
frequently between pixel clock and hdmiphy clock. hdmiphy is
not stable after power on and for a short interval while changing
the phy configuration. For this duration pixel clock is used to
clock hdmi.

This patch is exposing the mux for changing parent.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
406c5989276967db8721d057ed4b4f51bf9c71c6 05-Jul-2013 Sachin Kamat <sachin.kamat@linaro.org> clk: exynos5250: Add G2D gate clock

Adds gate clock for G2D IP for Exynos5250 SoC.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
b95e71c6089be027d676544cc6d91e1672ae9c6b 18-Jul-2013 Sachin Kamat <sachin.kamat@linaro.org> clk: exynos5250: Staticize local symbols

Symbols referenced only in this file are made static.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
79d743c177f99d6854e152d9e7fac5bbbeb7c25e 17-Jun-2013 Padmavathi Venna <padma.v@samsung.com> clk: exynos5250: Add enum entries for divider clock of i2s1 and i2s2

This patch adds enum entries for div_i2s1 and div_i2s2 which are
required for i2s1 and i2s2 controllers.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
346f372f7b72a05bfa9b4e6d1b1e5de289a18d8a 06-Jun-2013 Tushar Behera <tushar.behera@linaro.org> clk: exynos5250: Add CLK_IGNORE_UNUSED flag for pmu clock

Currently 'pmu' clock is not handled by any of the drivers.
Also before the introduction of CCF, this clock was not defined,
hence was left enabled always.

When this clock is disabled, software reset register becomes
inaccessible and system reboot doesn't work.

Upon restoring the default behaviour, system reboot starts working.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
589c603b2c591ed470a731ceda589e6d60b77b5f 17-May-2013 Tushar Behera <tushar.behera@linaro.org> clk: exynos5250: Add sclk_mpll to the parent list of mout_cpu clock

'mout_mpll' is added the list of parent clocks for 'mout_cpu'.
'mout_mpll' is an alias to the clock 'sclk_mpll'. Hence 'sclk_mpll'
should be added to the list of parent clocks.

This results in an error when cpufreq driver for EXYNOS5250 tries to
set 'mout_mpll' as a parent for 'mout_cpu'.

clk_set_parent: clk sclk_mpll can not be parent of clk mout_cpu

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
39b72d89eb2bf74ec94773defece6890febba7a5 17-May-2013 Tushar Behera <tushar.behera@linaro.org> clk: exynos5250: Update cpufreq related clocks for EXYNOS5250

cpufreq driver for EXYNOS5250 is not a platform driver, hence we cannot
currently pass the clock names through a device tree node. Instead, we
need to make them available through a global alias.

cpufreq driver for EXYNOS5250 requires four clocks - 'armclk',
'mout_cpu', 'mout_mpll' and 'mout_apll'.

'armclk' has already been defined with an alias, 'mout_cpu', 'mout_mpll'
and 'mout_apll' are now defined with an alias.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
0e56523fd743fa67c21d31abf82e88a4a38decc3 17-May-2013 Tushar Behera <tushar.behera@linaro.org> clk: exynos5250: Add sclk_mpll to the parent list of mout_cpu clock

'mout_mpll' is added the list of parent clocks for 'mout_cpu'.
'mout_mpll' is an alias to the clock 'sclk_mpll'. Hence 'sclk_mpll'
should be added to the list of parent clocks.

This results in an error when cpufreq driver for EXYNOS5250 tries to
set 'mout_mpll' as a parent for 'mout_cpu'.

clk_set_parent: clk sclk_mpll can not be parent of clk mout_cpu

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
37351fd56255cacf731dc48914aaac3acbfa4bfe 17-May-2013 Tushar Behera <tushar.behera@linaro.org> clk: exynos5250: Update cpufreq related clocks for EXYNOS5250

cpufreq driver for EXYNOS5250 is not a platform driver, hence we cannot
currently pass the clock names through a device tree node. Instead, we
need to make them available through a global alias.

cpufreq driver for EXYNOS5250 requires four clocks - 'armclk',
'mout_cpu', 'mout_mpll' and 'mout_apll'.

'armclk' has already been defined with an alias, 'mout_cpu', 'mout_mpll'
and 'mout_apll' are now defined with an alias.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
37746c9a2dd28d52790dd84267b848c087a63b2e 22-Apr-2013 Tushar Behera <tushar.behera@linaro.org> clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}

commit 688f7d8c9fef ("clk: exynos5250: Fix divider values for
sclk_mmc{0,1,2,3}") incorrectly sets the divider for sclk_mmc{0,1,2,3}
to fix the wrong clock value. Though this fixed issue with Arndale,
it created regressions for other boards like Snow.

On Exynos5250, sclk_mmc<n> is generated like below (as per the clock
names in drivers/clk/samsung/clk-exynos5250.c)

mout_group1_p ==> mout_mmc<n> ==>
div_mmc<n> ==> div_mmc_pre<n> => sclk_mmc<n>

Earlier div_mmc<n> was set as the parent for sclk_mmc<n>, hence
div_mmc_pre<n> was not getting referred in kernel code and depending
on its value set during preboot, sclk_mmc<n> value was different for
various boards.

Setting the correct clock generation path should fix the issues
reported in above referenced commit. The changes committed during the
earlier patch has also been reverted here.

Reported-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
25e56eba0ae783fc5b66d50c68826f276e8bd8c6 10-Apr-2013 Arnd Bergmann <arnd@arndb.de> clk: exynos: prepare for multiplatform

The new common clock drivers for exynos are using compile
time constants and soc_is_exynos* macros to provide backwards
compatibility for pre-DT systems, which is not possible with
multiplatform kernels. This moves all the necessary
information back into platform code and removes the mach/*
header inclusions.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mike Turquette <mturquette@linaro.org>
688f7d8c9fef621c53c7b385ff6baf62bcb6b077 08-Apr-2013 Tushar Behera <tushar.behera@linaro.org> clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}

In legacy setup, sclk_mmc{0,1,2,3} used PRE_RATIO bit-field (8-bit wide)
instead of RATIO bit-field (4-bit wide) for dividing clock rate.

With current common clock setup, we are using RATIO bit-field which
is creating FIFO read errors while accessing eMMC. Changing over to
use PRE_RATIO bit-field fixes this issue.

dwmmc_exynos 12200000.dwmmc0: data FIFO error (status=00008020)
mmcblk0: error -5 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0
end_request: I/O error, dev mmcblk0, sector 1

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
CC: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
17d4caccefd138c3e4970132c1db177024caf3c6 04-Apr-2013 Leela Krishna Amudala <l.krishna@samsung.com> clk: exynos5250: register display block gate clocks to common clock framework

Add gate clocks for fimd, mie, dsim, dp, mixer and hdmi.
Register it to common clock framework.

Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
6b5756e8bd19f8f1f23386d41997d0309e7a82a6 04-Apr-2013 Tomasz Figa <t.figa@samsung.com> clk: exynos4: Add support for SoC-specific register save list

This patch extends suspend/resume support for SoC-specific registers to
handle differences in register sets on particular SoCs.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
6e3ad26816b7281ce3b51296180aeba5d1528d1c 09-Mar-2013 Thomas Abraham <thomas.abraham@linaro.org> clk: exynos5250: register clocks using common clock framework

The Exynos5250 clocks are statically listed and registered using the
Samsung specific common clock helper functions. Both device tree based
clock lookup and clkdev based clock lookups are supported.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>