Re: [PATCH 0/4] Add framework to support clkout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux