Commit ca125b5e authored by Tero Kristo's avatar Tero Kristo

ARM: OMAP4+: control: add support for initializing control module via DT

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: default avatarTero Kristo <t-kristo@ti.com>
parent d919501f
...@@ -650,6 +650,9 @@ static const struct of_device_id omap_scrm_dt_match_table[] = { ...@@ -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,omap2-scm", .data = &omap2_ctrl_data },
{ .compatible = "ti,omap3-scm", .data = &omap2_ctrl_data }, { .compatible = "ti,omap3-scm", .data = &omap2_ctrl_data },
{ .compatible = "ti,dm816-scrm", .data = &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 },
{ } { }
}; };
......
...@@ -631,8 +631,8 @@ void __init omap4430_init_early(void) ...@@ -631,8 +631,8 @@ void __init omap4430_init_early(void)
{ {
omap2_set_globals_tap(OMAP443X_CLASS, omap2_set_globals_tap(OMAP443X_CLASS,
OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE)); 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_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP4430_PRCM_MPU_BASE));
omap2_control_base_init();
omap4xxx_check_revision(); omap4xxx_check_revision();
omap4xxx_check_features(); omap4xxx_check_features();
omap2_prcm_base_init(); omap2_prcm_base_init();
...@@ -659,8 +659,8 @@ void __init omap5_init_early(void) ...@@ -659,8 +659,8 @@ void __init omap5_init_early(void)
{ {
omap2_set_globals_tap(OMAP54XX_CLASS, omap2_set_globals_tap(OMAP54XX_CLASS,
OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE)); 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_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE));
omap2_control_base_init();
omap4_pm_init_early(); omap4_pm_init_early();
omap2_prcm_base_init(); omap2_prcm_base_init();
omap5xxx_check_revision(); omap5xxx_check_revision();
...@@ -684,8 +684,8 @@ void __init omap5_init_late(void) ...@@ -684,8 +684,8 @@ void __init omap5_init_late(void)
void __init dra7xx_init_early(void) void __init dra7xx_init_early(void)
{ {
omap2_set_globals_tap(-1, OMAP2_L4_IO_ADDRESS(DRA7XX_TAP_BASE)); 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_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE));
omap2_control_base_init();
omap4_pm_init_early(); omap4_pm_init_early();
omap2_prcm_base_init(); omap2_prcm_base_init();
dra7xxx_check_revision(); dra7xxx_check_revision();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment