MIPS: Alchemy: clock framework integration of onchip clocks
authorManuel Lauss <manuel.lauss@gmail.com>
Wed, 23 Jul 2014 14:36:48 +0000 (16:36 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 30 Jul 2014 12:08:42 +0000 (14:08 +0200)
commit474402291a0ad4778a4e5fdff6ae507b2a26d809
treef1adaa3305c44541325eba5a4c41aac10a176588
parent2f73bfbe0873452f4cd388ec2f67f8226fe93f79
MIPS: Alchemy: clock framework integration of onchip clocks

This patch introduces common clock framework integration for all
configurable on-chip clocks on Alchemy chips:

- 2 or 3 PLLs which generate integer multiples of the root rate 12MHz,
- 6 dividers which take one of the 3 PLLs as input and divide their
  rate by either multiples of 2 or 1 (Au1300).
- another bank of up to 6 muxes which take either one of the 6
  above dividers or one of the PLLs directly and divide their rate
  further by 1, 2, 3 or 4.
- a few other sources which are used by onchip peripherals and are
  informational.

This implementation will take the clock tree as it was set up
by boot firmware: all in-kernel boards should continue to work
without having to set up the clock tree in board code.

CLK_IGNORE_DISABLED will be removed once all drivers have been
converted.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Linux-MIPS <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/7466/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/Kconfig
arch/mips/alchemy/common/Makefile
arch/mips/alchemy/common/clock.c [new file with mode: 0644]
arch/mips/include/asm/mach-au1x00/au1000.h