]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge tag 'tags/omap-for-v3.8/devel-prcm-signed' into omap-for-v3.8/cleanup-headers...
authorTony Lindgren <tony@atomide.com>
Fri, 30 Nov 2012 16:40:31 +0000 (08:40 -0800)
committerTony Lindgren <tony@atomide.com>
Fri, 30 Nov 2012 16:40:31 +0000 (08:40 -0800)
omap prcm changes via Paul Walmsley <paul@pwsan.com>:

Some miscellaneous OMAP hwmod changes for 3.8, along with a PRM
change needed for one of the hwmod patches to function.

Basic test logs for this branch on top of Tony's
omap-for-v3.8/clock branch at commit
558a0780b0a04862a678f7823215424b4e5501f9 are here:

http://www.pwsan.com/omap/testlogs/hwmod_devel_a_3.8/20121121161522/

However, omap-for-v3.8/clock at 558a0780 does not include some fixes
that are needed for a successful test.  With several reverts,
fixes, and workarounds applied, the following test logs were
obtained:

http://www.pwsan.com/omap/testlogs/TEST_hwmod_devel_a_3.8/20121121162719/

which indicate that the series tests cleanly.

Conflicts:
arch/arm/mach-omap2/cm33xx.c
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/prm_common.c

23 files changed:
1  2 
arch/arm/mach-omap1/common.h
arch/arm/mach-omap1/devices.c
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-2430sdp.c
arch/arm/mach-omap2/board-cm-t35.c
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/clkt2xxx_dpllcore.c
arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
arch/arm/mach-omap2/clkt34xx_dpll3m2.c
arch/arm/mach-omap2/cm33xx.c
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/i2c.c
arch/arm/mach-omap2/id.c
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/omap4-common.c
arch/arm/mach-omap2/pm24xx.c
arch/arm/mach-omap2/pm34xx.c
arch/arm/mach-omap2/prm33xx.c
arch/arm/mach-omap2/prm_common.c
arch/arm/mach-omap2/sdrc.c
arch/arm/mach-omap2/sdrc2xxx.c
arch/arm/mach-omap2/sleep34xx.S

Simple merge
Simple merge
index ada6006ab2f31376a7c86b0a70cab0808c208517,798f35b8ea59673483c1d52f08231412f9d84924..745401020c2b5996d0b95828baca2c6c76fb4fbf
@@@ -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
@@@ -63,14 -73,12 +73,14 @@@ obj-$(CONFIG_ARCH_OMAP4)           += opp4xxx_da
  endif
  
  # Power Management
 +obj-$(CONFIG_OMAP_PM_NOOP)            += omap-pm-noop.o
 +
  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_POWER_AVS_OMAP)          += sr_device.o
Simple merge
Simple merge
Simple merge
Simple merge
index 0d2f14c2dcce4ccf09d4e5064d4c0bbb1c241543,a0ae3c09f97a9f72b8e95ef859c61a0aae19e5b9..d8620105c42a3a0681c59de527b3f5d9c8e41b96
  #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 */
  
index a38ebb20972166aceac5b467eb190d043362f54d,7af224208a2593ce24fbb7f6d262677668994842..ae2b35e76dc8e1e7592b1fd84d969d6f033e603a
  #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;
index ed8dcaf4c849288a3d98a60bfb32d613a3b698f6,b2dfcd777194119463d3e82e110f026ac489033c..058ce3c0873ecb7aa0f4356d4d596c152aea5f03
@@@ -22,6 -22,9 +22,7 @@@
  #include <linux/err.h>
  #include <linux/io.h>
  
 -#include "../plat-omap/common.h"
 -
+ #include "clockdomain.h"
  #include "cm.h"
  #include "cm33xx.h"
  #include "cm-regbits-34xx.h"
Simple merge
Simple merge
Simple merge
index 807b8d919f81b7fbc27137748648b4016b101895,007dc4d85d54815b8bf5366cae2f6ed8e31aa4fd..7c39238322e034958aaef2d6b08f3409974b0780
  #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"
+ #include "prm2xxx.h"
+ #include "prm3xxx.h"
+ #include "prm44xx.h"
  
  /*
   * The machine specific code may provide the extra mapping besides the
@@@ -371,8 -388,17 +382,16 @@@ 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();
 -      omap_common_init_early();
+       omap2xxx_prm_init();
+       omap2xxx_cm_init();
        omap2xxx_voltagedomains_init();
        omap242x_powerdomains_init();
        omap242x_clockdomains_init();
@@@ -392,8 -419,17 +412,16 @@@ 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();
 -      omap_common_init_early();
+       omap2xxx_prm_init();
+       omap2xxx_cm_init();
        omap2xxx_voltagedomains_init();
        omap243x_powerdomains_init();
        omap243x_clockdomains_init();
@@@ -417,9 -454,18 +446,17 @@@ 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();
 -      omap_common_init_early();
+       omap3xxx_prm_init();
+       omap3xxx_cm_init();
        omap3xxx_voltagedomains_init();
        omap3xxx_powerdomains_init();
        omap3xxx_clockdomains_init();
@@@ -450,9 -496,15 +487,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 -565,15 +555,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();
  #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_prm_init();
        omap44xx_voltagedomains_init();
        omap44xx_powerdomains_init();
        omap44xx_clockdomains_init();
@@@ -544,8 -620,18 +608,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
  
index 3cfcd41bf8fa144d0f30e23a3ee9c57c735ec0c7,64fce07a3ccdf7e8c257ff62267278eb6d5ef5c1..5695885ea340b6b754b3d36d5c181c78c67731b6
  #include <asm/mach/map.h>
  #include <asm/memblock.h>
  
 -#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;
index 9a2f5594a7dc937533f868e69d1915e8f9c2aec8,3d35bd64487c22c886fdadf3bda177f44b858f4d..c289b3333c99eedf3c5d6ed03100cc97b7d37851
  #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"
index 11f9669eb7ede4becc1aab56173f0927a17c9e03,a9b8da1629bf46ffefafd22d58eed0a344dbb5c8..7703200614222aa8e16aaf15f715191dee62a71c
  
  #include "clockdomain.h"
  #include "powerdomain.h"
- #include <plat/prcm.h>
  #include <plat-omap/dma-omap.h>
  
 -#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 */
index 0d8abb5776690b16a343ef538730f710346ba607,53ec9cbaa3d3577ba40e6afd0952dd60f487076a..1ac73883f8913c5894aff5f5267222c9f35343ee
  #include <linux/err.h>
  #include <linux/io.h>
  
 -#include "../plat-omap/common.h"
 -
  #include "common.h"
+ #include "powerdomain.h"
  #include "prm33xx.h"
  #include "prm-regbits-33xx.h"
  
index 3442227d3f0b2501cc155e6a9ac2afacb641d1d0,c6ae53ca82247813f9d273560e6655537550c57a..228b850e632f6be77894b9d75a7162a105fd6889
  #include <linux/interrupt.h>
  #include <linux/slab.h>
  
- #include <plat/prcm.h>
 -#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
Simple merge
index 20cc950db4de54e4eae3a1f4bb75649eb8326a2d,26c1728e09ca2a7f0ff816aa6ee5b593b37af775..90729171464300a908f522730e3572a3d64e5683
  #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
index 7046c3c671810b16f1a44d8c929e8590efa1e18e,474dba7263e3efc5606f29b79d2e4886f765ea32..d1dedc8195ed2569508e0d522301bdf535aefda8
  
  #include <asm/assembler.h>
  
 -#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"
  
  /*