ARM: OMAP4+: control: add support for initializing control module via DT
authorTero Kristo <t-kristo@ti.com>
Thu, 12 Feb 2015 09:47:04 +0000 (11:47 +0200)
committerTero Kristo <t-kristo@ti.com>
Tue, 31 Mar 2015 18:26:59 +0000 (21:26 +0300)
OMAP4, OMAP5 and DRA7 now parse DT entries for control module address spaces,
and set up syscon mappings appropriately. Low level IO init is updated to
remove the legacy control module mappings for these devices also.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
arch/arm/mach-omap2/control.c
arch/arm/mach-omap2/io.c

index c8565d3dbefe976fe5c78adc73d4419b66817e0a..af95a624fe71ea2a6d4f56f2ee11b2d2d51230c6 100644 (file)
@@ -650,6 +650,9 @@ static const struct of_device_id omap_scrm_dt_match_table[] = {
        { .compatible = "ti,omap2-scm", .data = &omap2_ctrl_data },
        { .compatible = "ti,omap3-scm", .data = &omap2_ctrl_data },
        { .compatible = "ti,dm816-scrm", .data = &ctrl_data },
+       { .compatible = "ti,omap4-scm-core", .data = &ctrl_data },
+       { .compatible = "ti,omap5-scm-core", .data = &ctrl_data },
+       { .compatible = "ti,dra7-scm-core", .data = &ctrl_data },
        { }
 };
 
index 6c39cc0caebcc89ae040ce008df31d5cc012bd15..7743e3672f98b5b5f8a5125efd9cec73e239a48a 100644 (file)
@@ -631,8 +631,8 @@ void __init omap4430_init_early(void)
 {
        omap2_set_globals_tap(OMAP443X_CLASS,
                              OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE));
-       omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE));
        omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP4430_PRCM_MPU_BASE));
+       omap2_control_base_init();
        omap4xxx_check_revision();
        omap4xxx_check_features();
        omap2_prcm_base_init();
@@ -659,8 +659,8 @@ void __init omap5_init_early(void)
 {
        omap2_set_globals_tap(OMAP54XX_CLASS,
                              OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE));
-       omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE));
        omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE));
+       omap2_control_base_init();
        omap4_pm_init_early();
        omap2_prcm_base_init();
        omap5xxx_check_revision();
@@ -684,8 +684,8 @@ void __init omap5_init_late(void)
 void __init dra7xx_init_early(void)
 {
        omap2_set_globals_tap(-1, OMAP2_L4_IO_ADDRESS(DRA7XX_TAP_BASE));
-       omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE));
        omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE));
+       omap2_control_base_init();
        omap4_pm_init_early();
        omap2_prcm_base_init();
        dra7xxx_check_revision();