Merge branch 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into...
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / arm / mach-shmobile / board-lager-reference.c
index 7df9ea0..a6e271d 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <linux/clk.h>
+#include <linux/clkdev.h>
 #include <linux/init.h>
 #include <linux/of_platform.h>
+#include <mach/common.h>
 #include <mach/rcar-gen2.h>
 #include <mach/r8a7790.h>
 #include <asm/mach/arch.h>
 
 static void __init lager_add_standard_devices(void)
 {
+#ifdef CONFIG_COMMON_CLK
+       /*
+        * This is a really crude hack to provide clkdev support to the SCIF
+        * and CMT devices until they get moved to DT.
+        */
+       static const char * const scif_names[] = {
+               "scifa0", "scifa1", "scifb0", "scifb1",
+               "scifb2", "scifa2", "scif0", "scif1",
+               "hscif0", "hscif1",
+       };
+       struct clk *clk;
+       unsigned int i;
+
+       for (i = 0; i < ARRAY_SIZE(scif_names); ++i) {
+               clk = clk_get(NULL, scif_names[i]);
+               if (clk) {
+                       clk_register_clkdev(clk, NULL, "sh-sci.%u", i);
+                       clk_put(clk);
+               }
+       }
+
+       clk = clk_get(NULL, "cmt0");
+       if (clk) {
+               clk_register_clkdev(clk, NULL, "sh_cmt.0");
+               clk_put(clk);
+       }
+#else
        r8a7790_clock_init();
+#endif
+
        r8a7790_add_dt_devices();
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static const char *lager_boards_compat_dt[] __initdata = {
+       "renesas,lager",
        "renesas,lager-reference",
        NULL,
 };
@@ -41,5 +74,6 @@ DT_MACHINE_START(LAGER_DT, "lager")
        .init_early     = r8a7790_init_early,
        .init_time      = rcar_gen2_timer_init,
        .init_machine   = lager_add_standard_devices,
+       .init_late      = shmobile_init_late,
        .dt_compat      = lager_boards_compat_dt,
 MACHINE_END