From: Arnd Bergmann Date: Thu, 15 Nov 2012 16:59:54 +0000 (+0100) Subject: Merge branch 'omap/cleanup-prcm-part2' into next/dt X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=cff9f37a1e7b2565f254b5ab40c3213cc0f823a1;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'omap/cleanup-prcm-part2' into next/dt This resolves a nontrivial conflict where the omap_prcm_restart is removed in one branch but another use is added in another branch. Conflicts: arch/arm/mach-omap2/cm33xx.c arch/arm/mach-omap2/io.c arch/arm/mach-omap2/prm_common.c Signed-off-by: Arnd Bergmann --- cff9f37a1e7b2565f254b5ab40c3213cc0f823a1 diff --cc arch/arm/mach-omap2/Makefile index b118ed5f61a9,96621a20413a..78cbb8c5992e --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile @@@ -5,17 -5,20 +5,20 @@@ # Common support obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer.o pm.o \ common.o gpio.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \ - omap_device.o + omap_device.o sram.o - # INTCPS IP block support - XXX should be moved to drivers/ - obj-$(CONFIG_ARCH_OMAP2) += irq.o - obj-$(CONFIG_ARCH_OMAP3) += irq.o - obj-$(CONFIG_SOC_AM33XX) += irq.o - - # Secure monitor API support - obj-$(CONFIG_ARCH_OMAP3) += omap-smc.o omap-secure.o - obj-$(CONFIG_ARCH_OMAP4) += omap-smc.o omap-secure.o - obj-$(CONFIG_SOC_OMAP5) += omap-smc.o omap-secure.o + omap-2-3-common = irq.o + hwmod-common = omap_hwmod.o \ + omap_hwmod_common_data.o + clock-common = clock.o clock_common_data.o \ + clkt_dpll.o clkt_clksel.o + secure-common = omap-smc.o omap-secure.o + + obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common) + obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) + obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) $(secure-common) + obj-$(CONFIG_SOC_AM33XX) += irq.o $(hwmod-common) + obj-$(CONFIG_SOC_OMAP5) += prm44xx.o $(hwmod-common) $(secure-common) ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) obj-y += mcbsp.o @@@ -64,16 -74,15 +74,16 @@@ endi # Power Management ifeq ($(CONFIG_PM),y) - obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o sleep24xx.o + obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o + obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o - obj-$(CONFIG_ARCH_OMAP4) += sleep44xx.o - obj-$(CONFIG_SOC_OMAP5) += omap-mpuss-lowpower.o sleep44xx.o + obj-$(CONFIG_SOC_OMAP5) += omap-mpuss-lowpower.o obj-$(CONFIG_PM_DEBUG) += pm-debug.o +obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o - obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o + obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o AFLAGS_sleep24xx.o :=-Wa,-march=armv6 AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) diff --cc arch/arm/mach-omap2/board-generic.c index d69018028d96,475e14f07216..f0715a369c44 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c @@@ -95,25 -95,8 +95,25 @@@ DT_MACHINE_START(OMAP3_DT, "Generic OMA .init_machine = omap_generic_init, .timer = &omap3_timer, .dt_compat = omap3_boards_compat, - .restart = omap_prcm_restart, + .restart = omap3xxx_restart, MACHINE_END + +static const char *omap3_gp_boards_compat[] __initdata = { + "ti,omap3-beagle", + NULL, +}; + +DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)") + .reserve = omap_reserve, + .map_io = omap3_map_io, + .init_early = omap3430_init_early, + .init_irq = omap_intc_of_init, + .handle_irq = omap3_intc_handle_irq, + .init_machine = omap_generic_init, + .timer = &omap3_secure_timer, + .dt_compat = omap3_gp_boards_compat, - .restart = omap_prcm_restart, ++ .restart = omap3xxx_restart, +MACHINE_END #endif #ifdef CONFIG_SOC_AM33XX diff --cc arch/arm/mach-omap2/clkt2xxx_dpllcore.c index 0d2f14c2dcce,e687163a68fe..825e44cdf1cf --- a/arch/arm/mach-omap2/clkt2xxx_dpllcore.c +++ b/arch/arm/mach-omap2/clkt2xxx_dpllcore.c @@@ -28,10 -28,11 +28,10 @@@ #include "clock.h" #include "clock2xxx.h" #include "opp2xxx.h" - #include "cm2xxx_3xxx.h" + #include "cm2xxx.h" #include "cm-regbits-24xx.h" #include "sdrc.h" +#include "sram.h" /* #define DOWN_VARIABLE_DPLL 1 */ /* Experimental */ diff --cc arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c index a38ebb209721,b9b981bac9d3..1c2041fbd718 --- a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c +++ b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c @@@ -37,10 -39,9 +37,10 @@@ #include "clock.h" #include "clock2xxx.h" #include "opp2xxx.h" - #include "cm2xxx_3xxx.h" + #include "cm2xxx.h" #include "cm-regbits-24xx.h" #include "sdrc.h" +#include "sram.h" const struct prcm_config *curr_prcm_set; const struct prcm_config *rate_table; diff --cc arch/arm/mach-omap2/cm33xx.c index ed8dcaf4c849,b2dfcd777194..058ce3c0873e --- a/arch/arm/mach-omap2/cm33xx.c +++ b/arch/arm/mach-omap2/cm33xx.c @@@ -22,6 -22,9 +22,7 @@@ #include #include -#include "../plat-omap/common.h" - + #include "clockdomain.h" #include "cm.h" #include "cm33xx.h" #include "cm-regbits-34xx.h" diff --cc arch/arm/mach-omap2/io.c index 807b8d919f81,c3472bd8e5a4..9df757644cce --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c @@@ -40,9 -42,15 +40,17 @@@ #include "clock44xx.h" #include "omap-pm.h" #include "sdrc.h" + #include "control.h" #include "serial.h" +#include "sram.h" + #include "cm2xxx.h" + #include "cm3xxx.h" + #include "prm.h" + #include "cm.h" + #include "prcm_mpu44xx.h" + #include "prminst44xx.h" + #include "cminst44xx.h" + /* * The machine specific code may provide the extra mapping besides the * default mapping provided here. @@@ -371,8 -384,16 +379,15 @@@ static void __init omap_hwmod_init_post #ifdef CONFIG_SOC_OMAP2420 void __init omap2420_init_early(void) { - omap2_set_globals_242x(); + omap2_set_globals_tap(OMAP242X_CLASS, OMAP2_L4_IO_ADDRESS(0x48014000)); + omap2_set_globals_sdrc(OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE), + OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE)); + omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE), + NULL); + omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE)); + omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE), NULL); omap2xxx_check_revision(); + omap2xxx_cm_init(); - omap_common_init_early(); omap2xxx_voltagedomains_init(); omap242x_powerdomains_init(); omap242x_clockdomains_init(); @@@ -392,8 -413,16 +407,15 @@@ void __init omap2420_init_late(void #ifdef CONFIG_SOC_OMAP2430 void __init omap2430_init_early(void) { - omap2_set_globals_243x(); + omap2_set_globals_tap(OMAP243X_CLASS, OMAP2_L4_IO_ADDRESS(0x4900a000)); + omap2_set_globals_sdrc(OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE), + OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE)); + omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE), + NULL); + omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE)); + omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE), NULL); omap2xxx_check_revision(); + omap2xxx_cm_init(); - omap_common_init_early(); omap2xxx_voltagedomains_init(); omap243x_powerdomains_init(); omap243x_clockdomains_init(); @@@ -417,9 -446,17 +439,16 @@@ void __init omap2430_init_late(void #ifdef CONFIG_ARCH_OMAP3 void __init omap3_init_early(void) { - omap2_set_globals_3xxx(); + omap2_set_globals_tap(OMAP343X_CLASS, OMAP2_L4_IO_ADDRESS(0x4830A000)); + omap2_set_globals_sdrc(OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE), + OMAP2_L3_IO_ADDRESS(OMAP343X_SMS_BASE)); + omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE), + NULL); + omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE)); + omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE), NULL); omap3xxx_check_revision(); omap3xxx_check_features(); + omap3xxx_cm_init(); - omap_common_init_early(); omap3xxx_voltagedomains_init(); omap3xxx_powerdomains_init(); omap3xxx_clockdomains_init(); @@@ -450,9 -487,15 +479,14 @@@ void __init am35xx_init_early(void void __init ti81xx_init_early(void) { - omap2_set_globals_ti81xx(); + omap2_set_globals_tap(OMAP343X_CLASS, + OMAP2_L4_IO_ADDRESS(TI81XX_TAP_BASE)); + omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(TI81XX_CTRL_BASE), + NULL); + omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(TI81XX_PRCM_BASE)); + omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(TI81XX_PRCM_BASE), NULL); omap3xxx_check_revision(); ti81xx_check_features(); - omap_common_init_early(); omap3xxx_voltagedomains_init(); omap3xxx_powerdomains_init(); omap3xxx_clockdomains_init(); @@@ -507,9 -550,15 +541,14 @@@ void __init ti81xx_init_late(void #ifdef CONFIG_SOC_AM33XX void __init am33xx_init_early(void) { - omap2_set_globals_am33xx(); + omap2_set_globals_tap(AM335X_CLASS, + AM33XX_L4_WK_IO_ADDRESS(AM33XX_TAP_BASE)); + omap2_set_globals_control(AM33XX_L4_WK_IO_ADDRESS(AM33XX_CTRL_BASE), + NULL); + omap2_set_globals_prm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE)); + omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL); omap3xxx_check_revision(); ti81xx_check_features(); - omap_common_init_early(); am33xx_voltagedomains_init(); am33xx_powerdomains_init(); am33xx_clockdomains_init(); @@@ -522,9 -571,19 +561,18 @@@ #ifdef CONFIG_ARCH_OMAP4 void __init omap4430_init_early(void) { - omap2_set_globals_443x(); + 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_L4_IO_ADDRESS(OMAP443X_CTRL_BASE)); + omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE)); + omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE), + OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE)); + omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP4430_PRCM_MPU_BASE)); + omap_prm_base_init(); + omap_cm_base_init(); omap4xxx_check_revision(); omap4xxx_check_features(); - omap_common_init_early(); omap44xx_voltagedomains_init(); omap44xx_powerdomains_init(); omap44xx_clockdomains_init(); @@@ -544,8 -603,18 +592,17 @@@ void __init omap4430_init_late(void #ifdef CONFIG_SOC_OMAP5 void __init omap5_init_early(void) { - omap2_set_globals_5xxx(); + 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_L4_IO_ADDRESS(OMAP54XX_CTRL_BASE)); + omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRM_BASE)); + omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_AON_BASE), + OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_BASE)); + omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE)); + omap_prm_base_init(); + omap_cm_base_init(); omap5xxx_check_revision(); - omap_common_init_early(); } #endif diff --cc arch/arm/mach-omap2/omap4-common.c index 3cfcd41bf8fa,64fce07a3ccd..5695885ea340 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c @@@ -25,14 -25,18 +25,17 @@@ #include #include -#include "../plat-omap/sram.h" - #include "omap-wakeupgen.h" #include "soc.h" + #include "iomap.h" #include "common.h" #include "mmc.h" #include "hsmmc.h" + #include "prminst44xx.h" + #include "prcm_mpu44xx.h" #include "omap4-sar-layout.h" #include "omap-secure.h" +#include "sram.h" #ifdef CONFIG_CACHE_L2X0 static void __iomem *l2cache_base; diff --cc arch/arm/mach-omap2/pm24xx.c index 9a2f5594a7dc,83815ddc4786..13e1f4303989 --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c @@@ -43,12 -41,13 +43,12 @@@ #include "soc.h" #include "common.h" #include "clock.h" - #include "prm2xxx_3xxx.h" + #include "prm2xxx.h" #include "prm-regbits-24xx.h" - #include "cm2xxx_3xxx.h" + #include "cm2xxx.h" #include "cm-regbits-24xx.h" #include "sdrc.h" +#include "sram.h" #include "pm.h" #include "control.h" #include "powerdomain.h" diff --cc arch/arm/mach-omap2/pm34xx.c index 11f9669eb7ed,aa701d76efda..770320061422 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@@ -38,20 -37,19 +38,18 @@@ #include "clockdomain.h" #include "powerdomain.h" - #include #include -#include "../plat-omap/sram.h" - #include "soc.h" #include "common.h" - #include "cm2xxx_3xxx.h" + #include "cm3xxx.h" #include "cm-regbits-34xx.h" #include "gpmc.h" #include "prm-regbits-34xx.h" - - #include "prm2xxx_3xxx.h" + #include "prm3xxx.h" #include "pm.h" #include "sdrc.h" +#include "sram.h" #include "control.h" /* pm34xx errata defined in pm.h */ diff --cc arch/arm/mach-omap2/prm33xx.c index 0d8abb577669,53ec9cbaa3d3..1ac73883f891 --- a/arch/arm/mach-omap2/prm33xx.c +++ b/arch/arm/mach-omap2/prm33xx.c @@@ -19,7 -19,10 +19,8 @@@ #include #include -#include "../plat-omap/common.h" - #include "common.h" + #include "powerdomain.h" #include "prm33xx.h" #include "prm-regbits-33xx.h" diff --cc arch/arm/mach-omap2/prm_common.c index 3442227d3f0b,d2e0798a4c82..f596e1e91ffd --- a/arch/arm/mach-omap2/prm_common.c +++ b/arch/arm/mach-omap2/prm_common.c @@@ -24,10 -24,13 +24,11 @@@ #include #include - #include -#include "../plat-omap/common.h" -- #include "prm2xxx_3xxx.h" + #include "prm2xxx.h" + #include "prm3xxx.h" #include "prm44xx.h" + #include "common.h" /* * OMAP_PRCM_MAX_NR_PENDING_REG: maximum number of PRM_IRQ*_MPU regs diff --cc arch/arm/mach-omap2/sdrc2xxx.c index 20cc950db4de,26c1728e09ca..907291714643 --- a/arch/arm/mach-omap2/sdrc2xxx.c +++ b/arch/arm/mach-omap2/sdrc2xxx.c @@@ -27,10 -27,11 +27,10 @@@ #include "soc.h" #include "iomap.h" #include "common.h" - #include "prm2xxx_3xxx.h" + #include "prm2xxx.h" #include "clock.h" #include "sdrc.h" +#include "sram.h" /* Memory timing, DLL mode flags */ #define M_DDR 1 diff --cc arch/arm/mach-omap2/sleep34xx.S index 7046c3c67181,474dba7263e3..d1dedc8195ed --- a/arch/arm/mach-omap2/sleep34xx.S +++ b/arch/arm/mach-omap2/sleep34xx.S @@@ -26,12 -26,13 +26,12 @@@ #include -#include "../plat-omap/sram.h" - #include "omap34xx.h" #include "iomap.h" - #include "cm2xxx_3xxx.h" - #include "prm2xxx_3xxx.h" + #include "cm3xxx.h" + #include "prm3xxx.h" #include "sdrc.h" +#include "sram.h" #include "control.h" /*