Emilio López
862b728387
clk: sunxi: factors: automatic reparenting support
...
This commit implements .determine_rate, so that our factor clocks can be
reparented when needed.
Signed-off-by: Emilio López <emilio@elopez.com.ar >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Mike Turquette <mturquette@linaro.org >
2014-05-05 15:55:56 -07:00
Emilio López
40a5dcba4e
clk: sunxi: register factors clocks behind composite
...
This commit reworks factors clock registration to be done behind a
composite clock. This allows us to additionally add a gate, mux or
divisors, as it will be needed by some future PLLs.
Signed-off-by: Emilio López <emilio@elopez.com.ar >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Acked-by: Mike Turquette <mturquette@linaro.org >
2013-12-28 17:07:42 -03:00
Emilio López
12ef06afb3
clk: sunxi: factors: clear variables before using them
...
Random bits may get into our factors if we don't clear n, k, m and p.
Signed-off-by: Emilio López <emilio@elopez.com.ar >
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
2013-11-10 11:39:51 +01:00
Emilio López
c518e84c76
clk: sunxi: factors: fix off-by-one masks
...
The previous code would generate one bit too long masks, and was
needlessly complicated. This patch replaces it by simpler code that can
generate the masks correctly.
Signed-off-by: Emilio López <emilio@elopez.com.ar >
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
2013-11-10 11:39:46 +01:00
Emilio López
e874a66977
clk: arm: sunxi: Add a new clock driver for sunxi SOCs
...
This commit implements the base CPU clocks for sunxi devices. It has
been tested using a slightly modified cpufreq driver from the
linux-sunxi 3.0 tree.
Additionally, document the new bindings introduced by this patch.
Idling:
/ # cat /sys/kernel/debug/clk/clk_summary
clock enable_cnt prepare_cnt rate
---------------------------------------------------------------------
osc32k 0 0 32768
osc24M_fixed 0 0 24000000
osc24M 0 0 24000000
apb1_mux 0 0 24000000
apb1 0 0 24000000
pll1 0 0 60000000
cpu 0 0 60000000
axi 0 0 60000000
ahb 0 0 60000000
apb0 0 0 30000000
dummy 0 0 0
After "yes >/dev/null &":
/ # cat /sys/kernel/debug/clk/clk_summary
clock enable_cnt prepare_cnt rate
---------------------------------------------------------------------
osc32k 0 0 32768
osc24M_fixed 0 0 24000000
osc24M 0 0 24000000
apb1_mux 0 0 24000000
apb1 0 0 24000000
pll1 0 0 1008000000
cpu 0 0 1008000000
axi 0 0 336000000
ahb 0 0 168000000
apb0 0 0 84000000
dummy 0 0 0
Signed-off-by: Emilio López <emilio@elopez.com.ar >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Mike Turquette <mturquette@linaro.org >
2013-03-27 08:35:34 -07:00