diff options
| -rw-r--r-- | arch/arm/mach-omap2/Makefile | 23 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/common.c | 24 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/common.h | 11 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/debug-macro.S | 8 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/io.c | 44 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/iomap.h | 27 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prcm-common.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prcm.c | 2 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/hardware.h | 1 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/multi.h | 9 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/omap54xx.h | 32 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/serial.h | 10 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/uncompress.h | 6 | ||||
| -rw-r--r-- | arch/arm/plat-omap/sram.c | 11 |
15 files changed, 198 insertions, 14 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 240f1969f2ad..085e17175efa 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
| @@ -17,6 +17,7 @@ obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common) | |||
| 17 | obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) | 17 | obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) |
| 18 | obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) $(secure-common) | 18 | obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) $(secure-common) |
| 19 | obj-$(CONFIG_SOC_AM33XX) += irq.o $(hwmod-common) | 19 | obj-$(CONFIG_SOC_AM33XX) += irq.o $(hwmod-common) |
| 20 | obj-$(CONFIG_SOC_OMAP5) += prm44xx.o $(hwmod-common) $(secure-common) | ||
| 20 | 21 | ||
| 21 | ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) | 22 | ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) |
| 22 | obj-y += mcbsp.o | 23 | obj-y += mcbsp.o |
| @@ -29,8 +30,10 @@ obj-$(CONFIG_SOC_HAS_OMAP2_SDRC) += sdrc.o | |||
| 29 | 30 | ||
| 30 | obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o | 31 | obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o |
| 31 | obj-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o | 32 | obj-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o |
| 32 | obj-$(CONFIG_ARCH_OMAP4) += omap4-common.o omap-wakeupgen.o | 33 | omap-4-5-common = omap4-common.o omap-wakeupgen.o \ |
| 33 | obj-$(CONFIG_ARCH_OMAP4) += sleep44xx.o | 34 | sleep44xx.o |
| 35 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) | ||
| 36 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) | ||
| 34 | 37 | ||
| 35 | plus_sec := $(call as-instr,.arch_extension sec,+sec) | 38 | plus_sec := $(call as-instr,.arch_extension sec,+sec) |
| 36 | AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) | 39 | AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) |
| @@ -70,6 +73,7 @@ obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o | |||
| 70 | obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o | 73 | obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o |
| 71 | obj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o | 74 | obj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o |
| 72 | obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o | 75 | obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o |
| 76 | obj-$(CONFIG_SOC_OMAP5) += omap-mpuss-lowpower.o | ||
| 73 | obj-$(CONFIG_ARCH_OMAP4) += cpuidle44xx.o | 77 | obj-$(CONFIG_ARCH_OMAP4) += cpuidle44xx.o |
| 74 | obj-$(CONFIG_PM_DEBUG) += pm-debug.o | 78 | obj-$(CONFIG_PM_DEBUG) += pm-debug.o |
| 75 | obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o | 79 | obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o |
| @@ -85,14 +89,16 @@ endif | |||
| 85 | endif | 89 | endif |
| 86 | 90 | ||
| 87 | # PRCM | 91 | # PRCM |
| 92 | omap-prcm-4-5-common = prcm.o cminst44xx.o cm44xx.o \ | ||
| 93 | prcm_mpu44xx.o prminst44xx.o \ | ||
| 94 | vc44xx_data.o vp44xx_data.o | ||
| 88 | obj-y += prm_common.o | 95 | obj-y += prm_common.o |
| 89 | obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o | 96 | obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o |
| 90 | obj-$(CONFIG_ARCH_OMAP3) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o | 97 | obj-$(CONFIG_ARCH_OMAP3) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o |
| 91 | obj-$(CONFIG_ARCH_OMAP3) += vc3xxx_data.o vp3xxx_data.o | 98 | obj-$(CONFIG_ARCH_OMAP3) += vc3xxx_data.o vp3xxx_data.o |
| 92 | obj-$(CONFIG_ARCH_OMAP4) += prcm.o cminst44xx.o cm44xx.o | ||
| 93 | obj-$(CONFIG_ARCH_OMAP4) += prcm_mpu44xx.o prminst44xx.o | ||
| 94 | obj-$(CONFIG_ARCH_OMAP4) += vc44xx_data.o vp44xx_data.o prm44xx.o | ||
| 95 | obj-$(CONFIG_SOC_AM33XX) += prcm.o prm33xx.o cm33xx.o | 99 | obj-$(CONFIG_SOC_AM33XX) += prcm.o prm33xx.o cm33xx.o |
| 100 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-prcm-4-5-common) prm44xx.o | ||
| 101 | obj-$(CONFIG_SOC_OMAP5) += $(omap-prcm-4-5-common) | ||
| 96 | 102 | ||
| 97 | # OMAP voltage domains | 103 | # OMAP voltage domains |
| 98 | voltagedomain-common := voltage.o vc.o vp.o | 104 | voltagedomain-common := voltage.o vc.o vp.o |
| @@ -104,6 +110,7 @@ obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) | |||
| 104 | obj-$(CONFIG_ARCH_OMAP4) += voltagedomains44xx_data.o | 110 | obj-$(CONFIG_ARCH_OMAP4) += voltagedomains44xx_data.o |
| 105 | obj-$(CONFIG_SOC_AM33XX) += $(voltagedomain-common) | 111 | obj-$(CONFIG_SOC_AM33XX) += $(voltagedomain-common) |
| 106 | obj-$(CONFIG_SOC_AM33XX) += voltagedomains33xx_data.o | 112 | obj-$(CONFIG_SOC_AM33XX) += voltagedomains33xx_data.o |
| 113 | obj-$(CONFIG_SOC_OMAP5) += $(voltagedomain-common) | ||
| 107 | 114 | ||
| 108 | # OMAP powerdomain framework | 115 | # OMAP powerdomain framework |
| 109 | powerdomain-common += powerdomain.o powerdomain-common.o | 116 | powerdomain-common += powerdomain.o powerdomain-common.o |
| @@ -121,6 +128,8 @@ obj-$(CONFIG_ARCH_OMAP4) += powerdomains44xx_data.o | |||
| 121 | obj-$(CONFIG_SOC_AM33XX) += $(powerdomain-common) | 128 | obj-$(CONFIG_SOC_AM33XX) += $(powerdomain-common) |
| 122 | obj-$(CONFIG_SOC_AM33XX) += powerdomain33xx.o | 129 | obj-$(CONFIG_SOC_AM33XX) += powerdomain33xx.o |
| 123 | obj-$(CONFIG_SOC_AM33XX) += powerdomains33xx_data.o | 130 | obj-$(CONFIG_SOC_AM33XX) += powerdomains33xx_data.o |
| 131 | obj-$(CONFIG_SOC_OMAP5) += $(powerdomain-common) | ||
| 132 | obj-$(CONFIG_SOC_OMAP5) += powerdomain44xx.o | ||
| 124 | 133 | ||
| 125 | # PRCM clockdomain control | 134 | # PRCM clockdomain control |
| 126 | clockdomain-common += clockdomain.o | 135 | clockdomain-common += clockdomain.o |
| @@ -139,6 +148,8 @@ obj-$(CONFIG_ARCH_OMAP4) += clockdomains44xx_data.o | |||
| 139 | obj-$(CONFIG_SOC_AM33XX) += $(clockdomain-common) | 148 | obj-$(CONFIG_SOC_AM33XX) += $(clockdomain-common) |
| 140 | obj-$(CONFIG_SOC_AM33XX) += clockdomain33xx.o | 149 | obj-$(CONFIG_SOC_AM33XX) += clockdomain33xx.o |
| 141 | obj-$(CONFIG_SOC_AM33XX) += clockdomains33xx_data.o | 150 | obj-$(CONFIG_SOC_AM33XX) += clockdomains33xx_data.o |
| 151 | obj-$(CONFIG_SOC_OMAP5) += $(clockdomain-common) | ||
| 152 | obj-$(CONFIG_SOC_OMAP5) += clockdomain44xx.o | ||
| 142 | 153 | ||
| 143 | # Clock framework | 154 | # Clock framework |
| 144 | obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o | 155 | obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o |
| @@ -157,6 +168,8 @@ obj-$(CONFIG_ARCH_OMAP3) += clkt_iclk.o | |||
| 157 | obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) clock44xx_data.o | 168 | obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) clock44xx_data.o |
| 158 | obj-$(CONFIG_ARCH_OMAP4) += dpll3xxx.o dpll44xx.o | 169 | obj-$(CONFIG_ARCH_OMAP4) += dpll3xxx.o dpll44xx.o |
| 159 | obj-$(CONFIG_SOC_AM33XX) += $(clock-common) dpll3xxx.o | 170 | obj-$(CONFIG_SOC_AM33XX) += $(clock-common) dpll3xxx.o |
| 171 | obj-$(CONFIG_SOC_OMAP5) += $(clock-common) | ||
| 172 | obj-$(CONFIG_SOC_OMAP5) += dpll3xxx.o dpll44xx.o | ||
| 160 | 173 | ||
| 161 | # OMAP2 clock rate set data (old "OPP" data) | 174 | # OMAP2 clock rate set data (old "OPP" data) |
| 162 | obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o | 175 | obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o |
diff --git a/arch/arm/mach-omap2/common.c b/arch/arm/mach-omap2/common.c index 73d2a0b9ca04..069f9725b1c3 100644 --- a/arch/arm/mach-omap2/common.c +++ b/arch/arm/mach-omap2/common.c | |||
| @@ -178,3 +178,27 @@ void __init omap4_map_io(void) | |||
| 178 | } | 178 | } |
| 179 | #endif | 179 | #endif |
| 180 | 180 | ||
| 181 | #if defined(CONFIG_SOC_OMAP5) | ||
| 182 | static struct omap_globals omap5_globals = { | ||
| 183 | .class = OMAP54XX_CLASS, | ||
| 184 | .tap = OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE), | ||
| 185 | .ctrl = OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE), | ||
| 186 | .ctrl_pad = OMAP2_L4_IO_ADDRESS(OMAP54XX_CTRL_BASE), | ||
| 187 | .prm = OMAP2_L4_IO_ADDRESS(OMAP54XX_PRM_BASE), | ||
| 188 | .cm = OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_AON_BASE), | ||
| 189 | .cm2 = OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_BASE), | ||
| 190 | .prcm_mpu = OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE), | ||
| 191 | }; | ||
| 192 | |||
| 193 | void __init omap2_set_globals_5xxx(void) | ||
| 194 | { | ||
| 195 | omap2_set_globals_tap(&omap5_globals); | ||
| 196 | omap2_set_globals_control(&omap5_globals); | ||
| 197 | omap2_set_globals_prcm(&omap5_globals); | ||
| 198 | } | ||
| 199 | |||
| 200 | void __init omap5_map_io(void) | ||
| 201 | { | ||
| 202 | omap5_map_common_io(); | ||
| 203 | } | ||
| 204 | #endif | ||
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index 404f172d95a8..399e5bb13835 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
| @@ -115,6 +115,14 @@ static inline int omap_mux_late_init(void) | |||
| 115 | } | 115 | } |
| 116 | #endif | 116 | #endif |
| 117 | 117 | ||
| 118 | #ifdef CONFIG_SOC_OMAP5 | ||
| 119 | extern void omap5_map_common_io(void); | ||
| 120 | #else | ||
| 121 | static inline void omap5_map_common_io(void) | ||
| 122 | { | ||
| 123 | } | ||
| 124 | #endif | ||
| 125 | |||
| 118 | extern void omap2_init_common_infrastructure(void); | 126 | extern void omap2_init_common_infrastructure(void); |
| 119 | 127 | ||
| 120 | extern struct sys_timer omap2_timer; | 128 | extern struct sys_timer omap2_timer; |
| @@ -134,6 +142,7 @@ void am35xx_init_early(void); | |||
| 134 | void ti81xx_init_early(void); | 142 | void ti81xx_init_early(void); |
| 135 | void am33xx_init_early(void); | 143 | void am33xx_init_early(void); |
| 136 | void omap4430_init_early(void); | 144 | void omap4430_init_early(void); |
| 145 | void omap5_init_early(void); | ||
| 137 | void omap3_init_late(void); /* Do not use this one */ | 146 | void omap3_init_late(void); /* Do not use this one */ |
| 138 | void omap4430_init_late(void); | 147 | void omap4430_init_late(void); |
| 139 | void omap2420_init_late(void); | 148 | void omap2420_init_late(void); |
| @@ -169,6 +178,7 @@ void omap2_set_globals_242x(void); | |||
