Merge branch 'nomadik' into devel-stable
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sat, 12 Sep 2009 10:50:52 +0000 (11:50 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 12 Sep 2009 10:50:52 +0000 (11:50 +0100)
1  2 
arch/arm/Kconfig
arch/arm/Makefile

diff --combined arch/arm/Kconfig
index 5f6d977bd3df748fab0c636a4399319bf0a9050d,b1093d8786bab2f2b61be3a54441d666b5ec66ef..7a96ad317dcda0ae9f0e787dea281da0ca8fe28f
@@@ -46,6 -46,10 +46,6 @@@ config GENERIC_CLOCKEVENTS_BROADCAS
        depends on GENERIC_CLOCKEVENTS
        default y if SMP && !LOCAL_TIMERS
  
 -config MMU
 -      bool
 -      default y
 -
  config NO_IOPORT
        bool
  
@@@ -122,13 -126,6 +122,13 @@@ config ARCH_HAS_ILOG2_U3
  config ARCH_HAS_ILOG2_U64
        bool
  
 +config ARCH_HAS_CPUFREQ
 +      bool
 +      help
 +        Internal node to signify that the ARCH has CPUFREQ support
 +        and that the relevant menu configurations are displayed for
 +        it.
 +
  config GENERIC_HWEIGHT
        bool
        default y
@@@ -191,13 -188,6 +191,13 @@@ source "kernel/Kconfig.freezer
  
  menu "System Type"
  
 +config MMU
 +      bool "MMU-based Paged Memory Management Support"
 +      default y
 +      help
 +        Select if you want MMU-based virtualised addressing space
 +        support by paged memory management. If unsure, say 'Y'.
 +
  choice
        prompt "ARM system type"
        default ARCH_VERSATILE
@@@ -213,7 -203,6 +213,7 @@@ config ARCH_AAEC200
  config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
 +      select ARCH_HAS_CPUFREQ
        select HAVE_CLK
        select COMMON_CLKDEV
        select ICST525
@@@ -338,6 -327,20 +338,20 @@@ config ARCH_H720
        help
          This enables support for systems based on the Hynix HMS720x
  
+ config ARCH_NOMADIK
+       bool "STMicroelectronics Nomadik"
+       select ARM_AMBA
+       select ARM_VIC
+       select CPU_ARM926T
+       select HAVE_CLK
+       select COMMON_CLKDEV
+       select GENERIC_TIME
+       select GENERIC_CLOCKEVENTS
+       select GENERIC_GPIO
+       select ARCH_REQUIRE_GPIOLIB
+       help
+         Support for the Nomadik platform by ST-Ericsson
  config ARCH_IOP13XX
        bool "IOP13xx-based"
        depends on MMU
@@@ -520,7 -523,6 +534,7 @@@ config ARCH_PX
        bool "PXA2xx/PXA3xx-based"
        depends on MMU
        select ARCH_MTD_XIP
 +      select ARCH_HAS_CPUFREQ
        select GENERIC_GPIO
        select HAVE_CLK
        select COMMON_CLKDEV
@@@ -563,7 -565,6 +577,7 @@@ config ARCH_SA110
        select ISA
        select ARCH_SPARSEMEM_ENABLE
        select ARCH_MTD_XIP
 +      select ARCH_HAS_CPUFREQ
        select GENERIC_GPIO
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
  config ARCH_S3C2410
        bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
        select GENERIC_GPIO
 +      select ARCH_HAS_CPUFREQ
        select HAVE_CLK
        help
          Samsung S3C2410X CPU based systems, such as the Simtec Electronics
@@@ -587,18 -587,9 +601,18 @@@ config ARCH_S3C64X
        bool "Samsung S3C64XX"
        select GENERIC_GPIO
        select HAVE_CLK
 +      select ARCH_HAS_CPUFREQ
        help
          Samsung S3C64XX series based systems
  
 +config ARCH_S5PC1XX
 +      bool "Samsung S5PC1XX"
 +      select GENERIC_GPIO
 +      select HAVE_CLK
 +      select CPU_V7
 +      help
 +        Samsung S5PC1XX series based systems
 +
  config ARCH_SHARK
        bool "Shark"
        select CPU_SA110
@@@ -655,7 -646,6 +669,7 @@@ config ARCH_OMA
        select GENERIC_GPIO
        select HAVE_CLK
        select ARCH_REQUIRE_GPIOLIB
 +      select ARCH_HAS_CPUFREQ
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        help
@@@ -709,7 -699,6 +723,7 @@@ source "arch/arm/mach-kirkwood/Kconfig
  source "arch/arm/plat-s3c24xx/Kconfig"
  source "arch/arm/plat-s3c64xx/Kconfig"
  source "arch/arm/plat-s3c/Kconfig"
 +source "arch/arm/plat-s5pc1xx/Kconfig"
  
  if ARCH_S3C2410
  source "arch/arm/mach-s3c2400/Kconfig"
@@@ -727,10 -716,6 +741,10 @@@ endi
  
  source "arch/arm/plat-stmp3xxx/Kconfig"
  
 +if ARCH_S5PC1XX
 +source "arch/arm/mach-s5pc100/Kconfig"
 +endif
 +
  source "arch/arm/mach-lh7a40x/Kconfig"
  
  source "arch/arm/mach-h720x/Kconfig"
@@@ -745,6 -730,8 +759,8 @@@ source "arch/arm/mach-at91/Kconfig
  
  source "arch/arm/plat-mxc/Kconfig"
  
+ source "arch/arm/mach-nomadik/Kconfig"
  source "arch/arm/mach-netx/Kconfig"
  
  source "arch/arm/mach-ns9xxx/Kconfig"
@@@ -991,7 -978,18 +1007,7 @@@ config LOCAL_TIMER
          accounting to be spread across the timer interval, preventing a
          "thundering herd" at every timer tick.
  
 -config PREEMPT
 -      bool "Preemptible Kernel (EXPERIMENTAL)"
 -      depends on EXPERIMENTAL
 -      help
 -        This option reduces the latency of the kernel when reacting to
 -        real-time or interactive events by allowing a low priority process to
 -        be preempted even if it is in kernel mode executing a system call.
 -        This allows applications to run more reliably even when the system is
 -        under load.
 -
 -        Say Y here if you are building a kernel for a desktop, embedded
 -        or real-time system.  Say N if you are unsure.
 +source kernel/Kconfig.preempt
  
  config HZ
        int
        default AT91_TIMER_HZ if ARCH_AT91
        default 100
  
 +config THUMB2_KERNEL
 +      bool "Compile the kernel in Thumb-2 mode"
 +      depends on CPU_V7 && EXPERIMENTAL
 +      select AEABI
 +      select ARM_ASM_UNIFIED
 +      help
 +        By enabling this option, the kernel will be compiled in
 +        Thumb-2 mode. A compiler/assembler that understand the unified
 +        ARM-Thumb syntax is needed.
 +
 +        If unsure, say N.
 +
 +config ARM_ASM_UNIFIED
 +      bool
 +
  config AEABI
        bool "Use the ARM EABI to compile the kernel"
        help
@@@ -1274,7 -1257,7 +1290,7 @@@ endmen
  
  menu "CPU Power Management"
  
 -if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_PXA || ARCH_S3C64XX)
 +if ARCH_HAS_CPUFREQ
  
  source "drivers/cpufreq/Kconfig"
  
@@@ -1309,52 -1292,6 +1325,52 @@@ config CPU_FREQ_S3C64X
        bool "CPUfreq support for Samsung S3C64XX CPUs"
        depends on CPU_FREQ && CPU_S3C6410
  
 +config CPU_FREQ_S3C
 +      bool
 +      help
 +        Internal configuration node for common cpufreq on Samsung SoC
 +
 +config CPU_FREQ_S3C24XX
 +      bool "CPUfreq driver for Samsung S3C24XX series CPUs"
 +      depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
 +      select CPU_FREQ_S3C
 +      help
 +        This enables the CPUfreq driver for the Samsung S3C24XX family
 +        of CPUs.
 +
 +        For details, take a look at <file:Documentation/cpu-freq>.
 +
 +        If in doubt, say N.
 +
 +config CPU_FREQ_S3C24XX_PLL
 +      bool "Support CPUfreq changing of PLL frequency"
 +      depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
 +      help
 +        Compile in support for changing the PLL frequency from the
 +        S3C24XX series CPUfreq driver. The PLL takes time to settle
 +        after a frequency change, so by default it is not enabled.
 +
 +        This also means that the PLL tables for the selected CPU(s) will
 +        be built which may increase the size of the kernel image.
 +
 +config CPU_FREQ_S3C24XX_DEBUG
 +      bool "Debug CPUfreq Samsung driver core"
 +      depends on CPU_FREQ_S3C24XX
 +      help
 +        Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
 +
 +config CPU_FREQ_S3C24XX_IODEBUG
 +      bool "Debug CPUfreq Samsung driver IO timing"
 +      depends on CPU_FREQ_S3C24XX
 +      help
 +        Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
 +
 +config CPU_FREQ_S3C24XX_DEBUGFS
 +      bool "Export debugfs for CPUFreq"
 +      depends on CPU_FREQ_S3C24XX && DEBUG_FS
 +      help
 +        Export status information via debugfs.
 +
  endif
  
  source "drivers/cpuidle/Kconfig"
@@@ -1456,7 -1393,107 +1472,7 @@@ endmen
  
  source "net/Kconfig"
  
 -menu "Device Drivers"
 -
 -source "drivers/base/Kconfig"
 -
 -source "drivers/connector/Kconfig"
 -
 -if ALIGNMENT_TRAP || !CPU_CP15_MMU
 -source "drivers/mtd/Kconfig"
 -endif
 -
 -source "drivers/parport/Kconfig"
 -
 -source "drivers/pnp/Kconfig"
 -
 -source "drivers/block/Kconfig"
 -
 -# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
 -
 -source "drivers/misc/Kconfig"
 -
 -source "drivers/ide/Kconfig"
 -
 -source "drivers/scsi/Kconfig"
 -
 -source "drivers/ata/Kconfig"
 -
 -source "drivers/md/Kconfig"
 -
 -source "drivers/message/fusion/Kconfig"
 -
 -source "drivers/ieee1394/Kconfig"
 -
 -source "drivers/message/i2o/Kconfig"
 -
 -source "drivers/net/Kconfig"
 -
 -source "drivers/isdn/Kconfig"
 -
 -# input before char - char/joystick depends on it. As does USB.
 -
 -source "drivers/input/Kconfig"
 -
 -source "drivers/char/Kconfig"
 -
 -source "drivers/i2c/Kconfig"
 -
 -source "drivers/spi/Kconfig"
 -
 -source "drivers/gpio/Kconfig"
 -
 -source "drivers/w1/Kconfig"
 -
 -source "drivers/power/Kconfig"
 -
 -source "drivers/hwmon/Kconfig"
 -
 -source "drivers/thermal/Kconfig"
 -
 -source "drivers/watchdog/Kconfig"
 -
 -source "drivers/ssb/Kconfig"
 -
 -#source "drivers/l3/Kconfig"
 -
 -source "drivers/mfd/Kconfig"
 -
 -source "drivers/media/Kconfig"
 -
 -source "drivers/video/Kconfig"
 -
 -source "sound/Kconfig"
 -
 -source "drivers/hid/Kconfig"
 -
 -source "drivers/usb/Kconfig"
 -
 -source "drivers/uwb/Kconfig"
 -
 -source "drivers/mmc/Kconfig"
 -
 -source "drivers/memstick/Kconfig"
 -
 -source "drivers/accessibility/Kconfig"
 -
 -source "drivers/leds/Kconfig"
 -
 -source "drivers/rtc/Kconfig"
 -
 -source "drivers/dma/Kconfig"
 -
 -source "drivers/dca/Kconfig"
 -
 -source "drivers/auxdisplay/Kconfig"
 -
 -source "drivers/regulator/Kconfig"
 -
 -source "drivers/uio/Kconfig"
 -
 -source "drivers/staging/Kconfig"
 -
 -endmenu
 +source "drivers/Kconfig"
  
  source "fs/Kconfig"
  
diff --combined arch/arm/Makefile
index 3de196e2a7a7f5ca1ee512d640461bb80159ac41,97cca075d0f9924f12207fc44606e6f85446b9c8..b70f62c8fc0a64671443e2d1d92734fd0f2d9797
@@@ -93,16 -93,9 +93,16 @@@ ifeq ($(CONFIG_ARM_UNWIND),y
  CFLAGS_ABI    +=-funwind-tables
  endif
  
 +ifeq ($(CONFIG_THUMB2_KERNEL),y)
 +AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=thumb,-Wa$(comma)-mauto-it)
 +AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W)
 +CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN)
 +AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb
 +endif
 +
  # Need -Uarm for gcc < 3.x
 -KBUILD_CFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
 -KBUILD_AFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -msoft-float
 +KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_THUMB2) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
 +KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_THUMB2) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float
  
  CHECKFLAGS    += -D__arm__
  
@@@ -142,9 -135,9 +142,10 @@@ machine-$(CONFIG_ARCH_MSM)                := ms
  machine-$(CONFIG_ARCH_MV78XX0)                := mv78xx0
  machine-$(CONFIG_ARCH_MX1)            := mx1
  machine-$(CONFIG_ARCH_MX2)            := mx2
 +machine-$(CONFIG_ARCH_MX25)           := mx25
  machine-$(CONFIG_ARCH_MX3)            := mx3
  machine-$(CONFIG_ARCH_NETX)           := netx
+ machine-$(CONFIG_ARCH_NOMADIK)                := nomadik
  machine-$(CONFIG_ARCH_NS9XXX)         := ns9xxx
  machine-$(CONFIG_ARCH_OMAP1)          := omap1
  machine-$(CONFIG_ARCH_OMAP2)          := omap2
@@@ -158,7 -151,6 +159,7 @@@ machine-$(CONFIG_ARCH_RPC)         := rp
  machine-$(CONFIG_ARCH_S3C2410)                := s3c2410 s3c2400 s3c2412 s3c2440 s3c2442 s3c2443
  machine-$(CONFIG_ARCH_S3C24A0)                := s3c24a0
  machine-$(CONFIG_ARCH_S3C64XX)                := s3c6400 s3c6410
 +machine-$(CONFIG_ARCH_S5PC1XX)                := s5pc100
  machine-$(CONFIG_ARCH_SA1100)         := sa1100
  machine-$(CONFIG_ARCH_SHARK)          := shark
  machine-$(CONFIG_ARCH_STMP378X)               := stmp378x
@@@ -167,7 -159,6 +168,7 @@@ machine-$(CONFIG_ARCH_U300)                := u30
  machine-$(CONFIG_ARCH_VERSATILE)      := versatile
  machine-$(CONFIG_ARCH_W90X900)                := w90x900
  machine-$(CONFIG_FOOTBRIDGE)          := footbridge
 +machine-$(CONFIG_ARCH_MXC91231)               := mxc91231
  
  # Platform directory name.  This list is sorted alphanumerically
  # by CONFIG_* macro name.
@@@ -178,7 -169,6 +179,7 @@@ plat-$(CONFIG_PLAT_ORION)  := orio
  plat-$(CONFIG_PLAT_PXA)               := pxa
  plat-$(CONFIG_PLAT_S3C24XX)   := s3c24xx s3c
  plat-$(CONFIG_PLAT_S3C64XX)   := s3c64xx s3c
 +plat-$(CONFIG_PLAT_S5PC1XX)   := s5pc1xx s3c
  plat-$(CONFIG_ARCH_STMP3XXX)  := stmp3xxx
  
  ifeq ($(CONFIG_ARCH_EBSA110),y)