Skip to content

S3C2416: Enable armdiv and armclk

Heiko Stübner linux-arm-kernel linux-samsung-soc 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest8 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8S3C2416: Add armdiv_mask constantarch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h arch/arm/mach-s3c2416/clock.c+2 -10 replies
2/8S3C2443: Add infrastructure to transmit armdiv to common codearch/arm/mach-s3c2416/clock.c arch/arm/mach-s3c2443/clock.c arch/arm/plat-s3c24xx/include/plat/s3c2443.h +1 more+20 -40 replies
3/8S3C2443: Move clk_arm and clk_armdiv to common codearch/arm/mach-s3c2443/clock.c arch/arm/plat-s3c24xx/s3c2443-clock.c+89 -830 replies
4/8S3C2416: Add comment describing the armdiv/armclkarch/arm/mach-s3c2416/clock.c+8 -00 replies
5/8S3C2443: Add get_rate operation for clk_armdivarch/arm/plat-s3c24xx/s3c2443-clock.c+14 -00 replies
6/8S3C2443: handle unset armdiv values gracefullyarch/arm/plat-s3c24xx/s3c2443-clock.c+20 -70 replies
7/8S3C2443: Accommodate cpufreq frequency scheme in armdivarch/arm/plat-s3c24xx/s3c2443-clock.c+4 -20 replies
8/8S3C2443: use clk_get_rate to init fclk in common_setup_clocksarch/arm/mach-s3c2416/clock.c arch/arm/mach-s3c2443/clock.c arch/arm/plat-s3c24xx/include/plat/s3c2443.h +1 more+9 -260 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/8] S3C2416: Enable armdiv and armclk

To enable cpu frequency scaling on the S3C2416/2450 it is necessary to define the arm-divider and armclock.

The layout of the clocks (i.e. msysclk -> armdiv -> armclk) is the same on all three architectures (S3C2443/2416/2450) and only the possible dividers for armdiv differ.
Therefore it is possible to move the armdiv and armclk to common code with only the divider table definition remaining in the respective clock.c-files.
The s3c2443_common_init_clocks method is modified to make it possible to transmit the divider table to the common code.

As the armdiv is available in common code now, the fdiv function pointer passed to s3c2443_common_init_clocks becomes obsolete and is therefore removed as the fclk rate can be set by a clk_get_rate call.

It works as expected on S3C2416, is compile-tested on S3C2443 and checkpatch was happy.

Heiko Stuebner (8):
S3C2416: Add armdiv_mask constant.
S3C2443: Add infrastructure to transmit armdiv to common code
S3C2443: Move clk_arm and clk_armdiv to common code.
S3C2416: Add comment describing the armdiv/armclk.
S3C2443: Add get_rate operation for clk_armdiv
S3C2443: handle unset armdiv values gracefully.
S3C2443: Accommodate cpufreq frequency scheme in armdiv
S3C2443: use clk_get_rate to init fclk in common_setup_clocks

 .../mach-s3c2410/include/mach/regs-s3c2443-clock.h |    1 +
 arch/arm/mach-s3c2416/clock.c                      |   21 ++--
 arch/arm/mach-s3c2443/clock.c                      |   98 +--------------
 arch/arm/plat-s3c24xx/include/plat/s3c2443.h       |    7 +-
 arch/arm/plat-s3c24xx/s3c2443-clock.c              |  134 +++++++++++++++++++-
 5 files changed, 152 insertions(+), 109 deletions(-)
Signature · 1 line
1.7.5.4