diff options
Diffstat (limited to 'arch/arm/mach-omap2/io.c')
-rw-r--r-- | arch/arm/mach-omap2/io.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index e60780f05374..c4871c55bd8b 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -461,7 +461,17 @@ void __init omap3_init_early(void) | |||
461 | omap3xxx_clockdomains_init(); | 461 | omap3xxx_clockdomains_init(); |
462 | omap3xxx_hwmod_init(); | 462 | omap3xxx_hwmod_init(); |
463 | omap_hwmod_init_postsetup(); | 463 | omap_hwmod_init_postsetup(); |
464 | omap_clk_soc_init = omap3xxx_clk_init; | 464 | if (!of_have_populated_dt()) { |
465 | omap3_prcm_legacy_iomaps_init(); | ||
466 | if (soc_is_am35xx()) | ||
467 | omap_clk_soc_init = am35xx_clk_legacy_init; | ||
468 | else if (cpu_is_omap3630()) | ||
469 | omap_clk_soc_init = omap36xx_clk_legacy_init; | ||
470 | else if (omap_rev() == OMAP3430_REV_ES1_0) | ||
471 | omap_clk_soc_init = omap3430es1_clk_legacy_init; | ||
472 | else | ||
473 | omap_clk_soc_init = omap3430_clk_legacy_init; | ||
474 | } | ||
465 | } | 475 | } |
466 | 476 | ||
467 | void __init omap3430_init_early(void) | 477 | void __init omap3430_init_early(void) |
@@ -753,15 +763,17 @@ int __init omap_clk_init(void) | |||
753 | 763 | ||
754 | ti_clk_init_features(); | 764 | ti_clk_init_features(); |
755 | 765 | ||
756 | ret = of_prcm_init(); | 766 | if (of_have_populated_dt()) { |
757 | if (ret) | 767 | ret = of_prcm_init(); |
758 | return ret; | 768 | if (ret) |
769 | return ret; | ||
759 | 770 | ||
760 | of_clk_init(NULL); | 771 | of_clk_init(NULL); |
761 | 772 | ||
762 | ti_dt_clk_init_retry_clks(); | 773 | ti_dt_clk_init_retry_clks(); |
763 | 774 | ||
764 | ti_dt_clockdomains_setup(); | 775 | ti_dt_clockdomains_setup(); |
776 | } | ||
765 | 777 | ||
766 | ret = omap_clk_soc_init(); | 778 | ret = omap_clk_soc_init(); |
767 | 779 | ||