Hi Tushar, On 05/09/2014 10:00 PM, Tushar Behera wrote:
The MUX/GATE register for XCLKOUT doesn't resides within PMU domain, this can be accessed through a regmap provided by syscon driver. Adding another clock provider to handle regmap based handing of XCLKOUT. Dependency: 1. [PATCH v3] mfd: syscon: Support early initialization http://article.gmane.org/gmane.linux.kernel/1679446 Also we need to find a suitable place to call early_syscon_init(), after the device tree has been unflattened and before clock initialization. While testing, I called this before of_clk_init() in arch/arm/kernel/time.c, but that place is too generic. Calling anywhere from exynos.c is not working ATM.
IMO we do not need to, or if I am not wrong we should not change time.c. It's possible if we have exynos specific init_time with following changes. FYI, In my patch series for Exynos PMU [1], currently I am handling this in exynos_dt_machine_init. But definitely it can be handled as below and it works without any side effect and I have tested it. Only reason I do not adopted this as for Exynos PMU patch support I had other options. But if required and if following change is acceptable I can include this in my next version of Exynos PMU patch series. [1]: https://lkml.org/lkml/2014/4/30/18 +static void __init exynos_init_time(void) +{ + /* Nothing to do timer specific + * as early_syscon_init requires DT to be unflattened and + * system should be able to allocate memory we need to + * postpone until init_time, but it should be done before + * init_machine. Because before init_machine, secondary + * core boot starts and it uses PMU registers. + */ + + exynos_map_pmu(); + + of_clk_init(NULL); + clocksource_of_init(); + +} + DT_MACHINE_START(EXYNOS_DT, "SAMSUNG EXYNOS (Flattened Device Tree)") /* Maintainer: Thomas Abraham <thomas.abraham@xxxxxxxxxx> */ /* Maintainer: Kukjin Kim <kgene.kim@xxxxxxxxxxx> */ .smp = smp_ops(exynos_smp_ops), .map_io = exynos_init_io, .init_early = exynos_firmware_init, + .init_time = exynos_init_time,
Tushar Behera (4): clk: samsung: out: Add infrastructure to register CLKOUT clk: samsung: exynos5420: Add xclkout debug clock clk: samsung: exynos5250: Add xclkout debug clock ARM: dts: Add pmu-syscon handle for Exynos5420/Exynos5250 clock arch/arm/boot/dts/exynos5250.dtsi | 1 + arch/arm/boot/dts/exynos5420.dtsi | 1 + drivers/clk/samsung/Makefile | 2 +- drivers/clk/samsung/clk-exynos5250.c | 14 +++ drivers/clk/samsung/clk-exynos5420.c | 14 +++ drivers/clk/samsung/clk-out.c | 181 ++++++++++++++++++++++++++++++++ drivers/clk/samsung/clk.h | 33 ++++++ include/dt-bindings/clock/exynos5250.h | 3 + include/dt-bindings/clock/exynos5420.h | 5 +- 9 files changed, 252 insertions(+), 2 deletions(-) create mode 100644 drivers/clk/samsung/clk-out.c
-- Best Regards, Pankaj Dubey -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html