diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/Kconfig | 8 | ||||
| -rw-r--r-- | arch/arm/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/configs/exynos4_defconfig | 9 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/Kconfig (renamed from arch/arm/mach-exynos4/Kconfig) | 42 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/Makefile (renamed from arch/arm/mach-exynos4/Makefile) | 11 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/Makefile.boot (renamed from arch/arm/mach-exynos4/Makefile.boot) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/clock-exynos4210.c (renamed from arch/arm/mach-exynos4/clock-exynos4210.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/clock-exynos4212.c (renamed from arch/arm/mach-exynos4/clock-exynos4212.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/clock.c (renamed from arch/arm/mach-exynos4/clock.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/cpu.c (renamed from arch/arm/mach-exynos4/cpu.c) | 69 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/cpuidle.c (renamed from arch/arm/mach-exynos4/cpuidle.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/dev-ahci.c (renamed from arch/arm/mach-exynos4/dev-ahci.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/dev-audio.c (renamed from arch/arm/mach-exynos4/dev-audio.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/dev-dwmci.c (renamed from arch/arm/mach-exynos4/dev-dwmci.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/dev-pd.c (renamed from arch/arm/mach-exynos4/dev-pd.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/dev-sysmmu.c (renamed from arch/arm/mach-exynos4/dev-sysmmu.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/dma.c (renamed from arch/arm/mach-exynos4/dma.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/headsmp.S (renamed from arch/arm/mach-exynos4/headsmp.S) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/hotplug.c (renamed from arch/arm/mach-exynos4/hotplug.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/debug-macro.S (renamed from arch/arm/mach-exynos4/include/mach/debug-macro.S) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/dma.h (renamed from arch/arm/mach-exynos4/include/mach/dma.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/dwmci.h (renamed from arch/arm/mach-exynos4/include/mach/dwmci.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/entry-macro.S (renamed from arch/arm/mach-exynos4/include/mach/entry-macro.S) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/exynos4-clock.h (renamed from arch/arm/mach-exynos4/include/mach/exynos4-clock.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/gpio.h (renamed from arch/arm/mach-exynos4/include/mach/gpio.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/hardware.h (renamed from arch/arm/mach-exynos4/include/mach/hardware.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/io.h (renamed from arch/arm/mach-exynos4/include/mach/io.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/irqs.h (renamed from arch/arm/mach-exynos4/include/mach/irqs.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/map.h (renamed from arch/arm/mach-exynos4/include/mach/map.h) | 32 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/memory.h (renamed from arch/arm/mach-exynos4/include/mach/memory.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/pm-core.h (renamed from arch/arm/mach-exynos4/include/mach/pm-core.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/pmu.h (renamed from arch/arm/mach-exynos4/include/mach/pmu.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-audss.h (renamed from arch/arm/mach-exynos4/include/mach/regs-audss.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-clock.h (renamed from arch/arm/mach-exynos4/include/mach/regs-clock.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-gpio.h (renamed from arch/arm/mach-exynos4/include/mach/regs-gpio.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-irq.h (renamed from arch/arm/mach-exynos4/include/mach/regs-irq.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-mct.h (renamed from arch/arm/mach-exynos4/include/mach/regs-mct.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-mem.h (renamed from arch/arm/mach-exynos4/include/mach/regs-mem.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-pmu.h (renamed from arch/arm/mach-exynos4/include/mach/regs-pmu.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-sysmmu.h (renamed from arch/arm/mach-exynos4/include/mach/regs-sysmmu.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-usb-phy.h (renamed from arch/arm/mach-exynos4/include/mach/regs-usb-phy.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/sysmmu.h (renamed from arch/arm/mach-exynos4/include/mach/sysmmu.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/system.h (renamed from arch/arm/mach-exynos4/include/mach/system.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/timex.h (renamed from arch/arm/mach-exynos4/include/mach/timex.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/uncompress.h (renamed from arch/arm/mach-exynos4/include/mach/uncompress.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/vmalloc.h (renamed from arch/arm/mach-exynos4/include/mach/vmalloc.h) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/init.c (renamed from arch/arm/mach-exynos4/init.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/irq-combiner.c (renamed from arch/arm/mach-exynos4/irq-combiner.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/irq-eint.c (renamed from arch/arm/mach-exynos4/irq-eint.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mach-armlex4210.c (renamed from arch/arm/mach-exynos4/mach-armlex4210.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mach-nuri.c (renamed from arch/arm/mach-exynos4/mach-nuri.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mach-origen.c (renamed from arch/arm/mach-exynos4/mach-origen.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mach-smdk4x12.c (renamed from arch/arm/mach-exynos4/mach-smdk4x12.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mach-smdkv310.c (renamed from arch/arm/mach-exynos4/mach-smdkv310.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mach-universal_c210.c (renamed from arch/arm/mach-exynos4/mach-universal_c210.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mct.c (renamed from arch/arm/mach-exynos4/mct.c) | 40 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/platsmp.c (renamed from arch/arm/mach-exynos4/platsmp.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/pm.c (renamed from arch/arm/mach-exynos4/pm.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/pmu.c (renamed from arch/arm/mach-exynos4/pmu.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-fimc.c (renamed from arch/arm/mach-exynos4/setup-fimc.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-fimd0.c (renamed from arch/arm/mach-exynos4/setup-fimd0.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c0.c (renamed from arch/arm/mach-exynos4/setup-i2c0.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c1.c (renamed from arch/arm/mach-exynos4/setup-i2c1.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c2.c (renamed from arch/arm/mach-exynos4/setup-i2c2.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c3.c (renamed from arch/arm/mach-exynos4/setup-i2c3.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c4.c (renamed from arch/arm/mach-exynos4/setup-i2c4.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c5.c (renamed from arch/arm/mach-exynos4/setup-i2c5.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c6.c (renamed from arch/arm/mach-exynos4/setup-i2c6.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-i2c7.c (renamed from arch/arm/mach-exynos4/setup-i2c7.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-keypad.c (renamed from arch/arm/mach-exynos4/setup-keypad.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-sdhci-gpio.c (renamed from arch/arm/mach-exynos4/setup-sdhci-gpio.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-sdhci.c (renamed from arch/arm/mach-exynos4/setup-sdhci.c) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/setup-usb-phy.c (renamed from arch/arm/mach-exynos4/setup-usb-phy.c) | 0 | ||||
| -rw-r--r-- | arch/arm/plat-s5p/Kconfig | 2 | ||||
| -rw-r--r-- | arch/arm/plat-s5p/cpu.c | 6 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/dev-backlight.c | 1 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/include/plat/exynos4.h | 6 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/pwm.c | 7 |
78 files changed, 141 insertions, 94 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2bda424c1b2b..44789eff983f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -837,8 +837,8 @@ config ARCH_S5PV210 | |||
| 837 | help | 837 | help |
| 838 | Samsung S5PV210/S5PC110 series based systems | 838 | Samsung S5PV210/S5PC110 series based systems |
| 839 | 839 | ||
| 840 | config ARCH_EXYNOS4 | 840 | config ARCH_EXYNOS |
| 841 | bool "Samsung EXYNOS4" | 841 | bool "SAMSUNG EXYNOS" |
| 842 | select CPU_V7 | 842 | select CPU_V7 |
| 843 | select ARCH_SPARSEMEM_ENABLE | 843 | select ARCH_SPARSEMEM_ENABLE |
| 844 | select ARCH_HAS_HOLES_MEMORYMODEL | 844 | select ARCH_HAS_HOLES_MEMORYMODEL |
| @@ -852,7 +852,7 @@ config ARCH_EXYNOS4 | |||
| 852 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 852 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
| 853 | select NEED_MACH_MEMORY_H | 853 | select NEED_MACH_MEMORY_H |
| 854 | help | 854 | help |
| 855 | Samsung EXYNOS4 series based systems | 855 | Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5) |
| 856 | 856 | ||
| 857 | config ARCH_SHARK | 857 | config ARCH_SHARK |
| 858 | bool "Shark" | 858 | bool "Shark" |
| @@ -1079,7 +1079,7 @@ source "arch/arm/mach-s5pc100/Kconfig" | |||
| 1079 | 1079 | ||
| 1080 | source "arch/arm/mach-s5pv210/Kconfig" | 1080 | source "arch/arm/mach-s5pv210/Kconfig" |
| 1081 | 1081 | ||
| 1082 | source "arch/arm/mach-exynos4/Kconfig" | 1082 | source "arch/arm/mach-exynos/Kconfig" |
| 1083 | 1083 | ||
| 1084 | source "arch/arm/mach-shmobile/Kconfig" | 1084 | source "arch/arm/mach-shmobile/Kconfig" |
| 1085 | 1085 | ||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index b7c2d377a6c2..dfcf3b033e10 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
| @@ -180,7 +180,7 @@ machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx | |||
| 180 | machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 | 180 | machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 |
| 181 | machine-$(CONFIG_ARCH_S5PC100) := s5pc100 | 181 | machine-$(CONFIG_ARCH_S5PC100) := s5pc100 |
| 182 | machine-$(CONFIG_ARCH_S5PV210) := s5pv210 | 182 | machine-$(CONFIG_ARCH_S5PV210) := s5pv210 |
| 183 | machine-$(CONFIG_ARCH_EXYNOS4) := exynos4 | 183 | machine-$(CONFIG_ARCH_EXYNOS4) := exynos |
| 184 | machine-$(CONFIG_ARCH_SA1100) := sa1100 | 184 | machine-$(CONFIG_ARCH_SA1100) := sa1100 |
| 185 | machine-$(CONFIG_ARCH_SHARK) := shark | 185 | machine-$(CONFIG_ARCH_SHARK) := shark |
| 186 | machine-$(CONFIG_ARCH_SHMOBILE) := shmobile | 186 | machine-$(CONFIG_ARCH_SHMOBILE) := shmobile |
diff --git a/arch/arm/configs/exynos4_defconfig b/arch/arm/configs/exynos4_defconfig index cd40bb56e568..bffe68e190a3 100644 --- a/arch/arm/configs/exynos4_defconfig +++ b/arch/arm/configs/exynos4_defconfig | |||
| @@ -4,19 +4,18 @@ CONFIG_KALLSYMS_ALL=y | |||
| 4 | CONFIG_MODULES=y | 4 | CONFIG_MODULES=y |
| 5 | CONFIG_MODULE_UNLOAD=y | 5 | CONFIG_MODULE_UNLOAD=y |
| 6 | # CONFIG_BLK_DEV_BSG is not set | 6 | # CONFIG_BLK_DEV_BSG is not set |
| 7 | CONFIG_ARCH_EXYNOS4=y | 7 | CONFIG_ARCH_EXYNOS=y |
| 8 | CONFIG_S3C_LOWLEVEL_UART_PORT=1 | 8 | CONFIG_S3C_LOWLEVEL_UART_PORT=1 |
| 9 | CONFIG_MACH_SMDKC210=y | 9 | CONFIG_MACH_SMDKC210=y |
| 10 | CONFIG_MACH_SMDKV310=y | ||
| 11 | CONFIG_MACH_ARMLEX4210=y | 10 | CONFIG_MACH_ARMLEX4210=y |
| 12 | CONFIG_MACH_UNIVERSAL_C210=y | 11 | CONFIG_MACH_UNIVERSAL_C210=y |
| 13 | CONFIG_MACH_NURI=y | 12 | CONFIG_MACH_NURI=y |
| 14 | CONFIG_MACH_ORIGEN=y | 13 | CONFIG_MACH_ORIGEN=y |
| 14 | CONFIG_MACH_SMDK4412=y | ||
| 15 | CONFIG_NO_HZ=y | 15 | CONFIG_NO_HZ=y |
| 16 | CONFIG_HIGH_RES_TIMERS=y | 16 | CONFIG_HIGH_RES_TIMERS=y |
| 17 | CONFIG_SMP=y | 17 | CONFIG_SMP=y |
| 18 | CONFIG_NR_CPUS=2 | 18 | CONFIG_NR_CPUS=2 |
| 19 | CONFIG_HOTPLUG_CPU=y | ||
| 20 | CONFIG_PREEMPT=y | 19 | CONFIG_PREEMPT=y |
| 21 | CONFIG_AEABI=y | 20 | CONFIG_AEABI=y |
| 22 | CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M" | 21 | CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M" |
| @@ -61,13 +60,9 @@ CONFIG_DETECT_HUNG_TASK=y | |||
| 61 | CONFIG_DEBUG_RT_MUTEXES=y | 60 | CONFIG_DEBUG_RT_MUTEXES=y |
| 62 | CONFIG_DEBUG_SPINLOCK=y | 61 | CONFIG_DEBUG_SPINLOCK=y |
| 63 | CONFIG_DEBUG_MUTEXES=y | 62 | CONFIG_DEBUG_MUTEXES=y |
| 64 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
| 65 | CONFIG_DEBUG_INFO=y | 63 | CONFIG_DEBUG_INFO=y |
| 66 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 67 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 64 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| 68 | CONFIG_DEBUG_USER=y | 65 | CONFIG_DEBUG_USER=y |
| 69 | CONFIG_DEBUG_ERRORS=y | ||
| 70 | CONFIG_DEBUG_LL=y | 66 | CONFIG_DEBUG_LL=y |
| 71 | CONFIG_EARLY_PRINTK=y | 67 | CONFIG_EARLY_PRINTK=y |
| 72 | CONFIG_DEBUG_S3C_UART=1 | ||
| 73 | CONFIG_CRC_CCITT=y | 68 | CONFIG_CRC_CCITT=y |
diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos/Kconfig index 51cff04795d5..724ec0f3560d 100644 --- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # arch/arm/mach-exynos4/Kconfig | 1 | # arch/arm/mach-exynos/Kconfig |
| 2 | # | 2 | # |
| 3 | # Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | 3 | # Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
| 4 | # http://www.samsung.com/ | 4 | # http://www.samsung.com/ |
| @@ -7,10 +7,27 @@ | |||
| 7 | 7 | ||
| 8 | # Configuration options for the EXYNOS4 | 8 | # Configuration options for the EXYNOS4 |
| 9 | 9 | ||
| 10 | if ARCH_EXYNOS4 | 10 | if ARCH_EXYNOS |
| 11 | |||
| 12 | menu "SAMSUNG EXYNOS SoCs Support" | ||
| 13 | |||
| 14 | choice | ||
| 15 | prompt "EXYNOS System Type" | ||
| 16 | default ARCH_EXYNOS4 | ||
| 17 | |||
| 18 | config ARCH_EXYNOS4 | ||
| 19 | bool "SAMSUNG EXYNOS4" | ||
| 20 | help | ||
| 21 | Samsung EXYNOS4 SoCs based systems | ||
| 22 | |||
| 23 | endchoice | ||
| 24 | |||
| 25 | comment "EXYNOS SoCs" | ||
| 11 | 26 | ||
| 12 | config CPU_EXYNOS4210 | 27 | config CPU_EXYNOS4210 |
| 13 | bool | 28 | bool "SAMSUNG EXYNOS4210" |
| 29 | default y | ||
| 30 | depends on ARCH_EXYNOS4 | ||
| 14 | select SAMSUNG_DMADEV | 31 | select SAMSUNG_DMADEV |
| 15 | select ARM_CPU_SUSPEND if PM | 32 | select ARM_CPU_SUSPEND if PM |
| 16 | select S5P_PM if PM | 33 | select S5P_PM if PM |
| @@ -19,15 +36,18 @@ config CPU_EXYNOS4210 | |||
| 19 | Enable EXYNOS4210 CPU support | 36 | Enable EXYNOS4210 CPU support |
| 20 | 37 | ||
| 21 | config SOC_EXYNOS4212 | 38 | config SOC_EXYNOS4212 |
| 22 | bool | 39 | bool "SAMSUNG EXYNOS4212" |
| 23 | select ARM_CPU_SUSPEND if PM | 40 | default y |
| 41 | depends on ARCH_EXYNOS4 | ||
| 24 | select S5P_PM if PM | 42 | select S5P_PM if PM |
| 25 | select S5P_SLEEP if PM | 43 | select S5P_SLEEP if PM |
| 26 | help | 44 | help |
| 27 | Enable EXYNOS4212 SoC support | 45 | Enable EXYNOS4212 SoC support |
| 28 | 46 | ||
| 29 | config SOC_EXYNOS4412 | 47 | config SOC_EXYNOS4412 |
| 30 | bool | 48 | bool "SAMSUNG EXYNOS4412" |
| 49 | default y | ||
| 50 | depends on ARCH_EXYNOS4 | ||
| 31 | help | 51 | help |
| 32 | Enable EXYNOS4412 SoC support | 52 | Enable EXYNOS4412 SoC support |
| 33 | 53 | ||
| @@ -125,7 +145,7 @@ config EXYNOS4_SETUP_USB_PHY | |||
| 125 | 145 | ||
| 126 | # machine support | 146 | # machine support |
| 127 | 147 | ||
| 128 | menu "EXYNOS4 Machines" | 148 | if ARCH_EXYNOS4 |
| 129 | 149 | ||
| 130 | comment "EXYNOS4210 Boards" | 150 | comment "EXYNOS4210 Boards" |
| 131 | 151 | ||
| @@ -305,12 +325,11 @@ config MACH_SMDK4412 | |||
| 305 | select MACH_SMDK4212 | 325 | select MACH_SMDK4212 |
| 306 | help | 326 | help |
| 307 | Machine support for Samsung SMDK4412 | 327 | Machine support for Samsung SMDK4412 |
| 328 | endif | ||
| 308 | 329 | ||
| 309 | endmenu | 330 | if ARCH_EXYNOS4 |
| 310 | |||
| 311 | comment "Configuration for HSMMC bus width" | ||
| 312 | 331 | ||
| 313 | menu "Use 8-bit bus width" | 332 | comment "Configuration for HSMMC 8-bit bus width" |
| 314 | 333 | ||
| 315 | config EXYNOS4_SDHCI_CH0_8BIT | 334 | config EXYNOS4_SDHCI_CH0_8BIT |
| 316 | bool "Channel 0 with 8-bit bus" | 335 | bool "Channel 0 with 8-bit bus" |
| @@ -323,6 +342,7 @@ config EXYNOS4_SDHCI_CH2_8BIT | |||
| 323 | help | 342 | help |
| 324 | Support HSMMC Channel 2 8-bit bus. | 343 | Support HSMMC Channel 2 8-bit bus. |
| 325 | If selected, Channel 3 is disabled. | 344 | If selected, Channel 3 is disabled. |
| 345 | endif | ||
| 326 | 346 | ||
| 327 | endmenu | 347 | endmenu |
| 328 | 348 | ||
diff --git a/arch/arm/mach-exynos4/Makefile b/arch/arm/mach-exynos/Makefile index 2bb18f431db9..59069a35e40b 100644 --- a/arch/arm/mach-exynos4/Makefile +++ b/arch/arm/mach-exynos/Makefile | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # arch/arm/mach-exynos4/Makefile | 1 | # arch/arm/mach-exynos/Makefile |
| 2 | # | 2 | # |
| 3 | # Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | 3 | # Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
| 4 | # http://www.samsung.com/ | 4 | # http://www.samsung.com/ |
| @@ -12,8 +12,8 @@ obj- := | |||
| 12 | 12 | ||
| 13 | # Core support for EXYNOS4 system | 13 | # Core support for EXYNOS4 system |
| 14 | 14 | ||
| 15 | obj-$(CONFIG_ARCH_EXYNOS4) += cpu.o init.o clock.o irq-combiner.o | 15 | obj-$(CONFIG_ARCH_EXYNOS4) += cpu.o init.o clock.o irq-combiner.o setup-i2c0.o |
| 16 | obj-$(CONFIG_ARCH_EXYNOS4) += setup-i2c0.o irq-eint.o dma.o pmu.o | 16 | obj-$(CONFIG_ARCH_EXYNOS4) += irq-eint.o dma.o pmu.o |
| 17 | obj-$(CONFIG_CPU_EXYNOS4210) += clock-exynos4210.o | 17 | obj-$(CONFIG_CPU_EXYNOS4210) += clock-exynos4210.o |
| 18 | obj-$(CONFIG_SOC_EXYNOS4212) += clock-exynos4212.o | 18 | obj-$(CONFIG_SOC_EXYNOS4212) += clock-exynos4212.o |
| 19 | obj-$(CONFIG_PM) += pm.o | 19 | obj-$(CONFIG_PM) += pm.o |
| @@ -39,11 +39,11 @@ obj-$(CONFIG_MACH_SMDK4412) += mach-smdk4x12.o | |||
| 39 | 39 | ||
| 40 | # device support | 40 | # device support |
| 41 | 41 | ||
| 42 | obj-y += dev-audio.o | 42 | obj-$(CONFIG_ARCH_EXYNOS4) += dev-audio.o |
| 43 | obj-$(CONFIG_EXYNOS4_DEV_AHCI) += dev-ahci.o | 43 | obj-$(CONFIG_EXYNOS4_DEV_AHCI) += dev-ahci.o |
| 44 | obj-$(CONFIG_EXYNOS4_DEV_PD) += dev-pd.o | 44 | obj-$(CONFIG_EXYNOS4_DEV_PD) += dev-pd.o |
| 45 | obj-$(CONFIG_EXYNOS4_DEV_SYSMMU) += dev-sysmmu.o | 45 | obj-$(CONFIG_EXYNOS4_DEV_SYSMMU) += dev-sysmmu.o |
| 46 | obj-$(CONFIG_EXYNOS4_DEV_DWMCI) += dev-dwmci.o | 46 | obj-$(CONFIG_EXYNOS4_DEV_DWMCI) += dev-dwmci.o |
| 47 | 47 | ||
| 48 | obj-$(CONFIG_EXYNOS4_SETUP_FIMC) += setup-fimc.o | 48 | obj-$(CONFIG_EXYNOS4_SETUP_FIMC) += setup-fimc.o |
| 49 | obj-$(CONFIG_EXYNOS4_SETUP_FIMD0) += setup-fimd0.o | 49 | obj-$(CONFIG_EXYNOS4_SETUP_FIMD0) += setup-fimd0.o |
| @@ -57,5 +57,4 @@ obj-$(CONFIG_EXYNOS4_SETUP_I2C7) += setup-i2c7.o | |||
| 57 | obj-$(CONFIG_EXYNOS4_SETUP_KEYPAD) += setup-keypad.o | 57 | obj-$(CONFIG_EXYNOS4_SETUP_KEYPAD) += setup-keypad.o |
| 58 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI) += setup-sdhci.o | 58 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI) += setup-sdhci.o |
| 59 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o | 59 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o |
| 60 | |||
| 61 | obj-$(CONFIG_EXYNOS4_SETUP_USB_PHY) += setup-usb-phy.o | 60 | obj-$(CONFIG_EXYNOS4_SETUP_USB_PHY) += setup-usb-phy.o |
diff --git a/arch/arm/mach-exynos4/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot index b9862e22bf10..b9862e22bf10 100644 --- a/arch/arm/mach-exynos4/Makefile.boot +++ b/arch/arm/mach-exynos/Makefile.boot | |||
diff --git a/arch/arm/mach-exynos4/clock-exynos4210.c b/arch/arm/mach-exynos/clock-exynos4210.c index b9d5ef670eb4..b9d5ef670eb4 100644 --- a/arch/arm/mach-exynos4/clock-exynos4210.c +++ b/arch/arm/mach-exynos/clock-exynos4210.c | |||
diff --git a/arch/arm/mach-exynos4/clock-exynos4212.c b/arch/arm/mach-exynos/clock-exynos4212.c index 77d5decb34fd..77d5decb34fd 100644 --- a/arch/arm/mach-exynos4/clock-exynos4212.c +++ b/arch/arm/mach-exynos/clock-exynos4212.c | |||
diff --git a/arch/arm/mach-exynos4/clock.c b/arch/arm/mach-exynos/clock.c index 2894f0adef5c..2894f0adef5c 100644 --- a/arch/arm/mach-exynos4/clock.c +++ b/arch/arm/mach-exynos/clock.c | |||
diff --git a/arch/arm/mach-exynos4/cpu.c b/arch/arm/mach-exynos/cpu.c index 5b1765b37f75..90ec247f3b37 100644 --- a/arch/arm/mach-exynos4/cpu.c +++ b/arch/arm/mach-exynos/cpu.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* linux/arch/arm/mach-exynos4/cpu.c | 1 | /* linux/arch/arm/mach-exynos/cpu.c |
| 2 | * | 2 | * |
| 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
| 4 | * http://www.samsung.com | 4 | * http://www.samsung.com |
| @@ -40,28 +40,47 @@ extern int combiner_init(unsigned int combiner_nr, void __iomem *base, | |||
| 40 | extern void combiner_cascade_irq(unsigned int combiner_nr, unsigned int irq); | 40 | extern void combiner_cascade_irq(unsigned int combiner_nr, unsigned int irq); |
| 41 | 41 | ||
| 42 | /* Initial IO mappings */ | 42 | /* Initial IO mappings */ |
| 43 | static struct map_desc exynos4_iodesc[] __initdata = { | 43 | static struct map_desc exynos_iodesc[] __initdata = { |
| 44 | { | 44 | { |
| 45 | .virtual = (unsigned long)S5P_VA_SYSTIMER, | 45 | .virtual = (unsigned long)S5P_VA_SYSTIMER, |
| 46 | .pfn = __phys_to_pfn(EXYNOS4_PA_SYSTIMER), | 46 | .pfn = __phys_to_pfn(EXYNOS_PA_SYSTIMER), |
| 47 | .length = SZ_4K, | 47 | .length = SZ_4K, |
| 48 | .type = MT_DEVICE, | ||
| 49 | }, { | ||
| 50 | .virtual = (unsigned long)S5P_VA_CMU, | ||
| 51 | .pfn = __phys_to_pfn(EXYNOS4_PA_CMU), | ||
| 52 | .length = SZ_128K, | ||
| 53 | .type = MT_DEVICE, | 48 | .type = MT_DEVICE, |
| 54 | }, { | 49 | }, { |
| 55 | .virtual = (unsigned long)S5P_VA_PMU, | 50 | .virtual = (unsigned long)S5P_VA_PMU, |
| 56 | .pfn = __phys_to_pfn(EXYNOS4_PA_PMU), | 51 | .pfn = __phys_to_pfn(EXYNOS_PA_PMU), |
| 57 | .length = SZ_64K, | 52 | .length = SZ_64K, |
| 58 | .type = MT_DEVICE, | 53 | .type = MT_DEVICE, |
| 59 | }, { | 54 | }, { |
| 60 | .virtual = (unsigned long)S5P_VA_COMBINER_BASE, | 55 | .virtual = (unsigned long)S5P_VA_COMBINER_BASE, |
| 61 | .pfn = __phys_to_pfn(EXYNOS4_PA_COMBINER), | 56 | .pfn = __phys_to_pfn(EXYNOS_PA_COMBINER), |
| 62 | .length = SZ_4K, | 57 | .length = SZ_4K, |
| 63 | .type = MT_DEVICE, | 58 | .type = MT_DEVICE, |
| 64 | }, { | 59 | }, { |
| 60 | .virtual = (unsigned long)S5P_VA_GIC_CPU, | ||
| 61 | .pfn = __phys_to_pfn(EXYNOS_PA_GIC_CPU), | ||
| 62 | .length = SZ_64K, | ||
| 63 | .type = MT_DEVICE, | ||
| 64 | }, { | ||
| 65 | .virtual = (unsigned long)S5P_VA_GIC_DIST, | ||
| 66 | .pfn = __phys_to_pfn(EXYNOS_PA_GIC_DIST), | ||
| 67 | .length = SZ_64K, | ||
| 68 | .type = MT_DEVICE, | ||
| 69 | }, { | ||
| 70 | .virtual = (unsigned long)S3C_VA_UART, | ||
| 71 | .pfn = __phys_to_pfn(S3C_PA_UART), | ||
| 72 | .length = SZ_512K, | ||
| 73 | .type = MT_DEVICE, | ||
| 74 | }, | ||
| 75 | }; | ||
| 76 | |||
| 77 | static struct map_desc exynos4_iodesc[] __initdata = { | ||
| 78 | { | ||
| 79 | .virtual = (unsigned long)S5P_VA_CMU, | ||
| 80 | .pfn = __phys_to_pfn(EXYNOS4_PA_CMU), | ||
| 81 | .length = SZ_128K, | ||
| 82 | .type = MT_DEVICE, | ||
| 83 | }, { | ||
| 65 | .virtual = (unsigned long)S5P_VA_COREPERI_BASE, | 84 | .virtual = (unsigned long)S5P_VA_COREPERI_BASE, |
| 66 | .pfn = __phys_to_pfn(EXYNOS4_PA_COREPERI), | 85 | .pfn = __phys_to_pfn(EXYNOS4_PA_COREPERI), |
| 67 | .length = SZ_8K, | 86 | .length = SZ_8K, |
| @@ -92,11 +111,6 @@ static struct map_desc exynos4_iodesc[] __initdata = { | |||
| 92 | .length = SZ_4K, | 111 | .length = SZ_4K, |
| 93 | .type = MT_DEVICE, | 112 | .type = MT_DEVICE, |
| 94 | }, { | 113 | }, { |
| 95 | .virtual = (unsigned long)S3C_VA_UART, | ||
| 96 | .pfn = __phys_to_pfn(S3C_PA_UART), | ||
| 97 | .length = SZ_512K, | ||
| 98 | .type = MT_DEVICE, | ||
| 99 | }, { | ||
| 100 | .virtual = (unsigned long)S5P_VA_SROMC, | 114 | .virtual = (unsigned long)S5P_VA_SROMC, |
| 101 | .pfn = __phys_to_pfn(EXYNOS4_PA_SROMC), | 115 | .pfn = __phys_to_pfn(EXYNOS4_PA_SROMC), |
| 102 | .length = SZ_4K, | 116 | .length = SZ_4K, |
| @@ -106,16 +120,6 @@ static struct map_desc exynos4_iodesc[] __initdata = { | |||
| 106 | .pfn = __phys_to_pfn(EXYNOS4_PA_HSPHY), | 120 | .pfn = __phys_to_pfn(EXYNOS4_PA_HSPHY), |
| 107 | .length = SZ_4K, | 121 | .length = SZ_4K, |
| 108 | .type = MT_DEVICE, | 122 | .type = MT_DEVICE, |
| 109 | }, { | ||
| 110 | .virtual = (unsigned long)S5P_VA_GIC_CPU, | ||
| 111 | .pfn = __phys_to_pfn(EXYNOS4_PA_GIC_CPU), | ||
| 112 | .length = SZ_64K, | ||
| 113 | .type = MT_DEVICE, | ||
| 114 | }, { | ||
| 115 | .virtual = (unsigned long)S5P_VA_GIC_DIST, | ||
| 116 | .pfn = __phys_to_pfn(EXYNOS4_PA_GIC_DIST), | ||
| 117 | .length = SZ_64K, | ||
| 118 | .type = MT_DEVICE, | ||
| 119 | }, | 123 | }, |
| 120 | }; | 124 | }; |
| 121 | 125 | ||
| @@ -137,7 +141,7 @@ static struct map_desc exynos4_iodesc1[] __initdata = { | |||
| 137 | }, | 141 | }, |
| 138 | }; | 142 | }; |
| 139 | 143 | ||
| 140 | static void exynos4_idle(void) | 144 | static void exynos_idle(void) |
| 141 | { | 145 | { |
| 142 | if (!need_resched()) | 146 | if (!need_resched()) |
| 143 | cpu_do_idle(); | 147 | cpu_do_idle(); |
| @@ -151,12 +155,13 @@ static void exynos4_sw_reset(void) | |||
| 151 | } | 155 | } |
| 152 | 156 | ||
| 153 | /* | 157 | /* |
| 154 | * exynos4_map_io | 158 | * exynos_map_io |
| 155 | * | 159 | * |
| 156 | * register the standard cpu IO areas | 160 | * register the standard cpu IO areas |
| 157 | */ | 161 | */ |
| 158 | void __init exynos4_map_io(void) | 162 | void __init exynos4_map_io(void) |
| 159 | { | 163 | { |
| 164 | iotable_init(exynos_iodesc, ARRAY_SIZE(exynos_iodesc)); | ||
| 160 | iotable_init(exynos4_iodesc, ARRAY_SIZE(exynos4_iodesc)); | 165 | iotable_init(exynos4_iodesc, ARRAY_SIZE(exynos4_iodesc)); |
| 161 | 166 | ||
| 162 | if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_0) | 167 | if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_0) |
| @@ -250,7 +255,6 @@ static int __init exynos4_core_init(void) | |||
| 250 | { | 255 | { |
| 251 | return sysdev_class_register(&exynos4_sysclass); | 256 | return sysdev_class_register(&exynos4_sysclass); |
| 252 | } | 257 | } |
| 253 | |||
| 254 | core_initcall(exynos4_core_init); | 258 | core_initcall(exynos4_core_init); |
| 255 | 259 | ||
| 256 | #ifdef CONFIG_CACHE_L2X0 | 260 | #ifdef CONFIG_CACHE_L2X0 |
| @@ -279,15 +283,16 @@ static int __init exynos4_l2x0_cache_init(void) | |||
| 279 | early_initcall(exynos4_l2x0_cache_init); | 283 | early_initcall(exynos4_l2x0_cache_init); |
| 280 | #endif | 284 | #endif |
| 281 | 285 | ||
| 282 | int __init exynos4_init(void) | 286 | int __init exynos_init(void) |
| 283 | { | 287 | { |
| 284 | printk(KERN_INFO "EXYNOS4: Initializing architecture\n"); | 288 | printk(KERN_INFO "EXYNOS: Initializing architecture\n"); |
| 285 | 289 | ||
| 286 | /* set idle function */ | 290 | /* set idle function */ |
| 287 | pm_idle = exynos4_idle; | 291 | pm_idle = exynos_idle; |
| 288 | 292 | ||
| 289 | /* set sw_reset function */ | 293 | /* set sw_reset function */ |
| 290 | s5p_reset_hook = exynos4_sw_reset; | 294 | if (soc_is_exynos4210() || soc_is_exynos4212() || soc_is_exynos4412()) |
| 295 | s5p_reset_hook = exynos4_sw_reset; | ||
| 291 | 296 | ||
| 292 | return sysdev_register(&exynos4_sysdev); | 297 | return sysdev_register(&exynos4_sysdev); |
| 293 | } | 298 | } |
diff --git a/arch/arm/mach-exynos4/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c index bf7e96f2793a..bf7e96f2793a 100644 --- a/arch/arm/mach-exynos4/cpuidle.c +++ b/arch/arm/mach-exynos/cpuidle.c | |||
diff --git a/arch/arm/mach-exynos4/dev-ahci.c b/arch/arm/mach-exynos/dev-ahci.c index f57a3de8e1d2..f57a3de8e1d2 100644 --- a/arch/arm/mach-exynos4/dev-ahci.c +++ b/arch/arm/mach-exynos/dev-ahci.c | |||
diff --git a/arch/arm/mach-exynos4/dev-audio.c b/arch/arm/mach-exynos/dev-audio.c index 5a9f9c2e53bf..5a9f9c2e53bf 100644 --- a/arch/arm/mach-exynos4/dev-audio.c +++ b/arch/arm/mach-exynos/dev-audio.c | |||
diff --git a/arch/arm/mach-exynos4/dev-dwmci.c b/arch/arm/mach-exynos/dev-dwmci.c index b025db4bf602..b025db4bf602 100644 --- a/arch/arm/mach-exynos4/dev-dwmci.c +++ b/arch/arm/mach-exynos/dev-dwmci.c | |||
diff --git a/arch/arm/mach-exynos4/dev-pd.c b/arch/arm/mach-exynos/dev-pd.c index 3273f25d6a75..3273f25d6a75 100644 --- a/arch/arm/mach-exynos4/dev-pd.c +++ b/arch/arm/mach-exynos/dev-pd.c | |||
diff --git a/arch/arm/mach-exynos4/dev-sysmmu.c b/arch/arm/mach-exynos/dev-sysmmu.c index 3b7cae0fe23e..3b7cae0fe23e 100644 --- a/arch/arm/mach-exynos4/dev-sysmmu.c +++ b/arch/arm/mach-exynos/dev-sysmmu.c | |||
diff --git a/arch/arm/mach-exynos4/dma.c b/arch/arm/mach-exynos/dma.c index 9667c61e64fb..9667c61e64fb 100644 --- a/arch/arm/mach-exynos4/dma.c +++ b/arch/arm/mach-exynos/dma.c | |||
diff --git a/arch/arm/mach-exynos4/headsmp.S b/arch/arm/mach-exynos/headsmp.S index 3cdeb3647542..3cdeb3647542 100644 --- a/arch/arm/mach-exynos4/headsmp.S +++ b/arch/arm/mach-exynos/headsmp.S | |||
diff --git a/arch/arm/mach-exynos4/hotplug.c b/arch/arm/mach-exynos/hotplug.c index da70e7e39937..da70e7e39937 100644 --- a/arch/arm/mach-exynos4/hotplug.c +++ b/arch/arm/mach-exynos/hotplug.c | |||
diff --git a/arch/arm/mach-exynos4/include/mach/debug-macro.S b/arch/arm/mach-exynos/include/mach/debug-macro.S index 6cacf16a67a6..6cacf16a67a6 100644 --- a/arch/arm/mach-exynos4/include/mach/debug-macro.S +++ b/arch/arm/mach-exynos/include/mach/debug-macro.S | |||
diff --git a/arch/arm/mach-exynos4/include/mach/dma.h b/arch/arm/mach-exynos/include/mach/dma.h index 201842a3769e..201842a3769e 100644 --- a/arch/arm/mach-exynos4/include/mach/dma.h +++ b/arch/arm/mach-exynos/include/mach/dma.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/dwmci.h b/arch/arm/mach-exynos/include/mach/dwmci.h index 7ce657459cc0..7ce657459cc0 100644 --- a/arch/arm/mach-exynos4/include/mach/dwmci.h +++ b/arch/arm/mach-exynos/include/mach/dwmci.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/entry-macro.S b/arch/arm/mach-exynos/include/mach/entry-macro.S index f5e9fd8e37b4..f5e9fd8e37b4 100644 --- a/arch/arm/mach-exynos4/include/mach/entry-macro.S +++ b/arch/arm/mach-exynos/include/mach/entry-macro.S | |||
diff --git a/arch/arm/mach-exynos4/include/mach/exynos4-clock.h b/arch/arm/mach-exynos/include/mach/exynos4-clock.h index a07fcbf55251..a07fcbf55251 100644 --- a/arch/arm/mach-exynos4/include/mach/exynos4-clock.h +++ b/arch/arm/mach-exynos/include/mach/exynos4-clock.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h index 80523ca9bb49..80523ca9bb49 100644 --- a/arch/arm/mach-exynos4/include/mach/gpio.h +++ b/arch/arm/mach-exynos/include/mach/gpio.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/hardware.h b/arch/arm/mach-exynos/include/mach/hardware.h index 5109eb232f23..5109eb232f23 100644 --- a/arch/arm/mach-exynos4/include/mach/hardware.h +++ b/arch/arm/mach-exynos/include/mach/hardware.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/io.h b/arch/arm/mach-exynos/include/mach/io.h index d5478d247535..d5478d247535 100644 --- a/arch/arm/mach-exynos4/include/mach/io.h +++ b/arch/arm/mach-exynos/include/mach/io.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/irqs.h b/arch/arm/mach-exynos/include/mach/irqs.h index dfd4b7eecb90..dfd4b7eecb90 100644 --- a/arch/arm/mach-exynos4/include/mach/irqs.h +++ b/arch/arm/mach-exynos/include/mach/irqs.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h index 918a979181af..058541d45af0 100644 --- a/arch/arm/mach-exynos4/include/mach/map.h +++ b/arch/arm/mach-exynos/include/mach/map.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* linux/arch/arm/mach-exynos4/include/mach/map.h | 1 | /* linux/arch/arm/mach-exynos/include/mach/map.h |
| 2 | * | 2 | * |
| 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
| 4 | * http://www.samsung.com/ | 4 | * http://www.samsung.com/ |
| @@ -145,39 +145,45 @@ | |||
| 145 | #define S3C_PA_IIC5 EXYNOS4_PA_IIC(5) | 145 | #define S3C_PA_IIC5 EXYNOS4_PA_IIC(5) |
| 146 | #define S3C_PA_IIC6 EXYNOS4_PA_IIC(6) | 146 | #define S3C_PA_IIC6 EXYNOS4_PA_IIC(6) |
| 147 | #define S3C_PA_IIC7 EXYNOS4_PA_IIC(7) | 147 | #define S3C_PA_IIC7 EXYNOS4_PA_IIC(7) |
| 148 | #define SAMSUNG_PA_ADC EXYNOS4_PA_ADC | ||
| 149 | #define SAMSUNG_PA_ADC1 EXYNOS4_PA_ADC1 | ||
| 150 | #define S3C_PA_RTC EXYNOS4_PA_RTC | 148 | #define S3C_PA_RTC EXYNOS4_PA_RTC |
| 151 | #define S3C_PA_WDT EXYNOS4_PA_WATCHDOG | 149 | #define S3C_PA_WDT EXYNOS4_PA_WATCHDOG |
| 150 | #define S3C_PA_UART EXYNOS4_PA_UART | ||
| 152 | 151 | ||
| 153 | #define S5P_PA_CHIPID EXYNOS4_PA_CHIPID | 152 | #define S5P_PA_CHIPID EXYNOS4_PA_CHIPID |
| 153 | #define S5P_PA_EHCI EXYNOS4_PA_EHCI | ||
| 154 | #define S5P_PA_FIMC0 EXYNOS4_PA_FIMC0 | 154 | #define S5P_PA_FIMC0 EXYNOS4_PA_FIMC0 |
| 155 | #define S5P_PA_FIMC1 EXYNOS4_PA_FIMC1 | 155 | #define S5P_PA_FIMC1 EXYNOS4_PA_FIMC1 |
| 156 | #define S5P_PA_FIMC2 EXYNOS4_PA_FIMC2 | 156 | #define S5P_PA_FIMC2 EXYNOS4_PA_FIMC2 |
| 157 | #define S5P_PA_FIMC3 EXYNOS4_PA_FIMC3 | 157 | #define S5P_PA_FIMC3 EXYNOS4_PA_FIMC3 |
| 158 | #define S5P_PA_FIMD0 EXYNOS4_PA_FIMD0 | ||
| 159 | #define S5P_PA_HDMI EXYNOS4_PA_HDMI | ||
| 160 | #define S5P_PA_IIC_HDMIPHY EXYNOS4_PA_IIC_HDMIPHY | ||
| 161 | #define S5P_PA_MFC EXYNOS4_PA_MFC | ||
| 158 | #define S5P_PA_MIPI_CSIS0 EXYNOS4_PA_MIPI_CSIS0 | 162 | #define S5P_PA_MIPI_CSIS0 EXYNOS4_PA_MIPI_CSIS0 |
| 159 | #define S5P_PA_MIPI_CSIS1 EXYNOS4_PA_MIPI_CSIS1 | 163 | #define S5P_PA_MIPI_CSIS1 EXYNOS4_PA_MIPI_CSIS1 |
| 160 | #define S5P_PA_FIMD0 EXYNOS4_PA_FIMD0 | 164 | #define S5P_PA_MIXER EXYNOS4_PA_MIXER |
| 161 | #define S5P_PA_ONENAND EXYNOS4_PA_ONENAND | 165 | #define S5P_PA_ONENAND EXYNOS4_PA_ONENAND |
| 162 | #define S5P_PA_ONENAND_DMA EXYNOS4_PA_ONENAND_DMA | 166 | #define S5P_PA_ONENAND_DMA EXYNOS4_PA_ONENAND_DMA |
| 167 | #define S5P_PA_SDO EXYNOS4_PA_SDO | ||
| 163 | #define S5P_PA_SDRAM EXYNOS4_PA_SDRAM | 168 | #define S5P_PA_SDRAM EXYNOS4_PA_SDRAM |
| 164 | #define S5P_PA_SROMC EXYNOS4_PA_SROMC | 169 | #define S5P_PA_SROMC EXYNOS4_PA_SROMC |
| 165 | #define S5P_PA_MFC EXYNOS4_PA_MFC | ||
| 166 | #define S5P_PA_SYSCON EXYNOS4_PA_SYSCON | 170 | #define S5P_PA_SYSCON EXYNOS4_PA_SYSCON |
| 167 | #define S5P_PA_TIMER EXYNOS4_PA_TIMER | 171 | #define S5P_PA_TIMER EXYNOS4_PA_TIMER |
| 168 | #define S5P_PA_EHCI EXYNOS4_PA_EHCI | ||
| 169 | |||
| 170 | #define S5P_PA_SDO EXYNOS4_PA_SDO | ||
| 171 | #define S5P_PA_VP EXYNOS4_PA_VP | 172 | #define S5P_PA_VP EXYNOS4_PA_VP |
| 172 | #define S5P_PA_MIXER EXYNOS4_PA_MIXER | ||
| 173 | #define S5P_PA_HDMI EXYNOS4_PA_HDMI | ||
| 174 | #define S5P_PA_IIC_HDMIPHY EXYNOS4_PA_IIC_HDMIPHY | ||
| 175 | 173 | ||
| 174 | #define SAMSUNG_PA_ADC EXYNOS4_PA_ADC | ||
| 175 | #define SAMSUNG_PA_ADC1 EXYNOS4_PA_ADC1 | ||
| 176 | #define SAMSUNG_PA_KEYPAD EXYNOS4_PA_KEYPAD | 176 | #define SAMSUNG_PA_KEYPAD EXYNOS4_PA_KEYPAD |
| 177 | 177 | ||
| 178 | /* UART */ | 178 | #define EXYNOS_PA_COMBINER EXYNOS4_PA_COMBINER |
| 179 | #define EXYNOS_PA_GIC_CPU EXYNOS4_PA_GIC_CPU | ||
| 180 | #define EXYNOS_PA_GIC_DIST EXYNOS4_PA_GIC_DIST | ||
| 181 | #define EXYNOS_PA_PMU EXYNOS4_PA_PMU | ||
| 182 | #define EXYNOS_PA_SYSTIMER EXYNOS4_PA_SYSTIMER | ||
| 179 | 183 | ||
| 180 | #define S3C_PA_UART EXYNOS4_PA_UART | 184 | /* Compatibility UART */ |
| 185 | |||
| 186 | #define S3C_VA_UARTx(x) (S3C_VA_UART + ((x) * S3C_UART_OFFSET)) | ||
| 181 | 187 | ||
| 182 | #define S5P_PA_UART(x) (S3C_PA_UART + ((x) * S3C_UART_OFFSET)) | 188 | #define S5P_PA_UART(x) (S3C_PA_UART + ((x) * S3C_UART_OFFSET)) |
| 183 | #define S5P_PA_UART0 S5P_PA_UART(0) | 189 | #define S5P_PA_UART0 S5P_PA_UART(0) |
diff --git a/arch/arm/mach-exynos4/include/mach/memory.h b/arch/arm/mach-exynos/include/mach/memory.h index 374ef2cf7152..374ef2cf7152 100644 --- a/arch/arm/mach-exynos4/include/mach/memory.h +++ b/arch/arm/mach-exynos/include/mach/memory.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/pm-core.h b/arch/arm/mach-exynos/include/mach/pm-core.h index 9d8da51e35ca..9d8da51e35ca 100644 --- a/arch/arm/mach-exynos4/include/mach/pm-core.h +++ b/arch/arm/mach-exynos/include/mach/pm-core.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/pmu.h b/arch/arm/mach-exynos/include/mach/pmu.h index 632dd5630138..632dd5630138 100644 --- a/arch/arm/mach-exynos4/include/mach/pmu.h +++ b/arch/arm/mach-exynos/include/mach/pmu.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-audss.h b/arch/arm/mach-exynos/include/mach/regs-audss.h index ca5a8b64218a..ca5a8b64218a 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-audss.h +++ b/arch/arm/mach-exynos/include/mach/regs-audss.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-clock.h b/arch/arm/mach-exynos/include/mach/regs-clock.h index 6c37ebe94829..6c37ebe94829 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-clock.h +++ b/arch/arm/mach-exynos/include/mach/regs-clock.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-gpio.h b/arch/arm/mach-exynos/include/mach/regs-gpio.h index 1401b21663a5..1401b21663a5 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-gpio.h +++ b/arch/arm/mach-exynos/include/mach/regs-gpio.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-irq.h b/arch/arm/mach-exynos/include/mach/regs-irq.h index 9c7b4bfd546f..9c7b4bfd546f 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-irq.h +++ b/arch/arm/mach-exynos/include/mach/regs-irq.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-mct.h b/arch/arm/mach-exynos/include/mach/regs-mct.h index 80dd02ad6d61..80dd02ad6d61 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-mct.h +++ b/arch/arm/mach-exynos/include/mach/regs-mct.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-mem.h b/arch/arm/mach-exynos/include/mach/regs-mem.h index 0368b5a27252..0368b5a27252 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-mem.h +++ b/arch/arm/mach-exynos/include/mach/regs-mem.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-pmu.h b/arch/arm/mach-exynos/include/mach/regs-pmu.h index 4fff8e938fec..4fff8e938fec 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-pmu.h +++ b/arch/arm/mach-exynos/include/mach/regs-pmu.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-sysmmu.h b/arch/arm/mach-exynos/include/mach/regs-sysmmu.h index 68ff6ad08a2b..68ff6ad08a2b 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-sysmmu.h +++ b/arch/arm/mach-exynos/include/mach/regs-sysmmu.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/regs-usb-phy.h b/arch/arm/mach-exynos/include/mach/regs-usb-phy.h index c337cf3a71bf..c337cf3a71bf 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-usb-phy.h +++ b/arch/arm/mach-exynos/include/mach/regs-usb-phy.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/sysmmu.h b/arch/arm/mach-exynos/include/mach/sysmmu.h index 6a5fbb534e82..6a5fbb534e82 100644 --- a/arch/arm/mach-exynos4/include/mach/sysmmu.h +++ b/arch/arm/mach-exynos/include/mach/sysmmu.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/system.h b/arch/arm/mach-exynos/include/mach/system.h index 5e3220c18fc7..5e3220c18fc7 100644 --- a/arch/arm/mach-exynos4/include/mach/system.h +++ b/arch/arm/mach-exynos/include/mach/system.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/timex.h b/arch/arm/mach-exynos/include/mach/timex.h index 6d138750a708..6d138750a708 100644 --- a/arch/arm/mach-exynos4/include/mach/timex.h +++ b/arch/arm/mach-exynos/include/mach/timex.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/uncompress.h b/arch/arm/mach-exynos/include/mach/uncompress.h index 21d97bcd9acb..21d97bcd9acb 100644 --- a/arch/arm/mach-exynos4/include/mach/uncompress.h +++ b/arch/arm/mach-exynos/include/mach/uncompress.h | |||
diff --git a/arch/arm/mach-exynos4/include/mach/vmalloc.h b/arch/arm/mach-exynos/include/mach/vmalloc.h index 284330e571d2..284330e571d2 100644 --- a/arch/arm/mach-exynos4/include/mach/vmalloc.h +++ b/arch/arm/mach-exynos/include/mach/vmalloc.h | |||
diff --git a/arch/arm/mach-exynos4/init.c b/arch/arm/mach-exynos/init.c index a8a83e3881a4..a8a83e3881a4 100644 --- a/arch/arm/mach-exynos4/init.c +++ b/arch/arm/mach-exynos/init.c | |||
diff --git a/arch/arm/mach-exynos4/irq-combiner.c b/arch/arm/mach-exynos/irq-combiner.c index 5a2758ab055e..5a2758ab055e 100644 --- a/arch/arm/mach-exynos4/irq-combiner.c +++ b/arch/arm/mach-exynos/irq-combiner.c | |||
diff --git a/arch/arm/mach-exynos4/irq-eint.c b/arch/arm/mach-exynos/irq-eint.c index badb8c66fc9b..badb8c66fc9b 100644 --- a/arch/arm/mach-exynos4/irq-eint.c +++ b/arch/arm/mach-exynos/irq-eint.c | |||
diff --git a/arch/arm/mach-exynos4/mach-armlex4210.c b/arch/arm/mach-exynos/mach-armlex4210.c index f0ca6c157d29..f0ca6c157d29 100644 --- a/arch/arm/mach-exynos4/mach-armlex4210.c +++ b/arch/arm/mach-exynos/mach-armlex4210.c | |||
diff --git a/arch/arm/mach-exynos4/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c index 236bbe187163..236bbe187163 100644 --- a/arch/arm/mach-exynos4/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c | |||
diff --git a/arch/arm/mach-exynos4/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index f80b563f2be7..f80b563f2be7 100644 --- a/arch/arm/mach-exynos4/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c | |||
diff --git a/arch/arm/mach-exynos4/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c index fcf2e0e23d53..fcf2e0e23d53 100644 --- a/arch/arm/mach-exynos4/mach-smdk4x12.c +++ b/arch/arm/mach-exynos/mach-smdk4x12.c | |||
diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index cec2afabe7b4..cec2afabe7b4 100644 --- a/arch/arm/mach-exynos4/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c | |||
diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c index a2a177ff4b44..a2a177ff4b44 100644 --- a/arch/arm/mach-exynos4/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c | |||
diff --git a/arch/arm/mach-exynos4/mct.c b/arch/arm/mach-exynos/mct.c index f191608b28d6..97343df8f132 100644 --- a/arch/arm/mach-exynos4/mct.c +++ b/arch/arm/mach-exynos/mct.c | |||
| @@ -44,7 +44,7 @@ struct mct_clock_event_device { | |||
| 44 | char name[10]; | 44 | char name[10]; |
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | struct mct_clock_event_device mct_tick[NR_CPUS]; | 47 | static DEFINE_PER_CPU(struct mct_clock_event_device, percpu_mct_tick); |
| 48 | 48 | ||
| 49 | static void exynos4_mct_write(unsigned int value, void *addr) | 49 | static void exynos4_mct_write(unsigned int value, void *addr) |
| 50 | { | 50 | { |
| @@ -302,7 +302,7 @@ static void exynos4_mct_tick_start(unsigned long cycles, | |||
| 302 | static int exynos4_tick_set_next_event(unsigned long cycles, | 302 | static int exynos4_tick_set_next_event(unsigned long cycles, |
| 303 | struct clock_event_device *evt) | 303 | struct clock_event_device *evt) |
| 304 | { | 304 | { |
| 305 | struct mct_clock_event_device *mevt = &mct_tick[smp_processor_id()]; | 305 | struct mct_clock_event_device *mevt = this_cpu_ptr(&percpu_mct_tick); |
| 306 | 306 | ||
| 307 | exynos4_mct_tick_start(cycles, mevt); | 307 | exynos4_mct_tick_start(cycles, mevt); |
| 308 | 308 | ||
| @@ -312,7 +312,7 @@ static int exynos4_tick_set_next_event(unsigned long cycles, | |||
| 312 | static inline void exynos4_tick_set_mode(enum clock_event_mode mode, | 312 | static inline void exynos4_tick_set_mode(enum clock_event_mode mode, |
| 313 | struct clock_event_device *evt) | 313 | struct clock_event_device *evt) |
| 314 | { | 314 | { |
| 315 | struct mct_clock_event_device *mevt = &mct_tick[smp_processor_id()]; | 315 | struct mct_clock_event_device *mevt = this_cpu_ptr(&percpu_mct_tick); |
| 316 | 316 | ||
| 317 | exynos4_mct_tick_stop(mevt); | 317 | exynos4_mct_tick_stop(mevt); |
| 318 | 318 | ||
| @@ -376,14 +376,16 @@ static struct irqaction mct_tick1_event_irq = { | |||
| 376 | 376 | ||
| 377 | static void exynos4_mct_tick_init(struct clock_event_device *evt) | 377 | static void exynos4_mct_tick_init(struct clock_event_device *evt) |
| 378 | { | 378 | { |
| 379 | struct mct_clock_event_device *mevt; | ||
| 379 | unsigned int cpu = smp_processor_id(); | 380 | unsigned int cpu = smp_processor_id(); |
| 380 | 381 | ||
| 381 | mct_tick[cpu].evt = evt; | 382 | mevt = this_cpu_ptr(&percpu_mct_tick); |
| 383 | mevt->evt = evt; | ||
| 382 | 384 | ||
| 383 | mct_tick[cpu].base = EXYNOS4_MCT_L_BASE(cpu); | 385 | mevt->base = EXYNOS4_MCT_L_BASE(cpu); |
| 384 | sprintf(mct_tick[cpu].name, "mct_tick%d", cpu); | 386 | sprintf(mevt->name, "mct_tick%d", cpu); |
| 385 | 387 | ||
| 386 | evt->name = mct_tick[cpu].name; | 388 | evt->name = mevt->name; |
| 387 | evt->cpumask = cpumask_of(cpu); | 389 | evt->cpumask = cpumask_of(cpu); |
| 388 | evt->set_next_event = exynos4_tick_set_next_event; | 390 | evt->set_next_event = exynos4_tick_set_next_event; |
| 389 | evt->set_mode = exynos4_tick_set_mode; | 391 | evt->set_mode = exynos4_tick_set_mode; |
| @@ -398,21 +400,21 @@ static void exynos4_mct_tick_init(struct clock_event_device *evt) | |||
| 398 | 400 | ||
| 399 | clockevents_register_device(evt); | 401 | clockevents_register_device(evt); |
| 400 | 402 | ||
| 401 | exynos4_mct_write(0x1, mct_tick[cpu].base + MCT_L_TCNTB_OFFSET); | 403 | exynos4_mct_write(0x1, mevt->base + MCT_L_TCNTB_OFFSET); |
| 402 | 404 | ||
| 403 | if (mct_int_type == MCT_INT_SPI) { | 405 | if (mct_int_type == MCT_INT_SPI) { |
| 404 | if (cpu == 0) { | 406 | if (cpu == 0) { |
| 405 | mct_tick0_event_irq.dev_id = &mct_tick[cpu]; | 407 | mct_tick0_event_irq.dev_id = mevt; |
| 406 | evt->irq = IRQ_MCT_L0; | 408 | evt->irq = IRQ_MCT_L0; |
| 407 | setup_irq(IRQ_MCT_L0, &mct_tick0_event_irq); | 409 | setup_irq(IRQ_MCT_L0, &mct_tick0_event_irq); |
| 408 | } else { | 410 | } else { |
| 409 | mct_tick1_event_irq.dev_id = &mct_tick[cpu]; | 411 | mct_tick1_event_irq.dev_id = mevt; |
| 410 | evt->irq = IRQ_MCT_L1; | 412 | evt->irq = IRQ_MCT_L1; |
| 411 | setup_irq(IRQ_MCT_L1, &mct_tick1_event_irq); | 413 | setup_irq(IRQ_MCT_L1, &mct_tick1_event_irq); |
| 412 | irq_set_affinity(IRQ_MCT_L1, cpumask_of(1)); | 414 | irq_set_affinity(IRQ_MCT_L1, cpumask_of(1)); |
| 413 | } | 415 | } |
| 414 | } else { | 416 | } else { |
| 415 | gic_enable_ppi(IRQ_MCT_LOCALTIMER); | 417 | enable_percpu_irq(IRQ_MCT_LOCALTIMER, 0); |
| 416 | } | 418 | } |
| 417 | } | 419 | } |
| 418 | 420 | ||
| @@ -427,9 +429,11 @@ int __cpuinit local_timer_setup(struct clock_event_device *evt) | |||
| 427 | void local_timer_stop(struct clock_event_device *evt) | 429 | void local_timer_stop(struct clock_event_device *evt) |
| 428 | { | 430 | { |
| 429 | evt->set_mode(CLOCK_EVT_MODE_UNUSED, evt); | 431 | evt->set_mode(CLOCK_EVT_MODE_UNUSED, evt); |
| 430 | disable_irq(evt->irq); | 432 | if (mct_int_type == MCT_INT_SPI) |
| 433 | disable_irq(evt->irq); | ||
| 434 | else | ||
| 435 | disable_percpu_irq(IRQ_MCT_LOCALTIMER); | ||
| 431 | } | 436 | } |
| 432 | |||
| 433 | #endif /* CONFIG_LOCAL_TIMERS */ | 437 | #endif /* CONFIG_LOCAL_TIMERS */ |
| 434 | 438 | ||
| 435 | static void __init exynos4_timer_resources(void) | 439 | static void __init exynos4_timer_resources(void) |
| @@ -438,6 +442,16 @@ static void __init exynos4_timer_resources(void) | |||
| 438 | mct_clk = clk_get(NULL, "xtal"); | 442 | mct_clk = clk_get(NULL, "xtal"); |
| 439 | 443 | ||
| 440 | clk_rate = clk_get_rate(mct_clk); | 444 | clk_rate = clk_get_rate(mct_clk); |
| 445 | |||
| 446 | if (mct_int_type == MCT_INT_PPI) { | ||
| 447 | int err; | ||
| 448 | |||
| 449 | err = request_percpu_irq(IRQ_MCT_LOCALTIMER, | ||
| 450 | exynos4_mct_tick_isr, "MCT", | ||
| 451 | &percpu_mct_tick); | ||
| 452 | WARN(err, "MCT: can't request IRQ %d (%d)\n", | ||
| 453 | IRQ_MCT_LOCALTIMER, err); | ||
| 454 | } | ||
| 441 | } | 455 | } |
| 442 | 456 | ||
| 443 | static void __init exynos4_timer_init(void) | 457 | static void __init exynos4_timer_init(void) |
diff --git a/arch/arm/mach-exynos4/platsmp.c b/arch/arm/mach-exynos/platsmp.c index 05595407e9ff..05595407e9ff 100644 --- a/arch/arm/mach-exynos4/platsmp.c +++ b/arch/arm/mach-exynos/platsmp.c | |||
diff --git a/arch/arm/mach-exynos4/pm.c b/arch/arm/mach-exynos/pm.c index 509a435afd4b..509a435afd4b 100644 --- a/arch/arm/mach-exynos4/pm.c +++ b/arch/arm/mach-exynos/pm.c | |||
diff --git a/arch/arm/mach-exynos4/pmu.c b/arch/arm/mach-exynos/pmu.c index bba48f5c3e8f..bba48f5c3e8f 100644 --- a/arch/arm/mach-exynos4/pmu.c +++ b/arch/arm/mach-exynos/pmu.c | |||
diff --git a/arch/arm/mach-exynos4/setup-fimc.c b/arch/arm/mach-exynos/setup-fimc.c index 6a45078d9d12..6a45078d9d12 100644 --- a/arch/arm/mach-exynos4/setup-fimc.c +++ b/arch/arm/mach-exynos/setup-fimc.c | |||
diff --git a/arch/arm/mach-exynos4/setup-fimd0.c b/arch/arm/mach-exynos/setup-fimd0.c index 07a6dbeecdd0..07a6dbeecdd0 100644 --- a/arch/arm/mach-exynos4/setup-fimd0.c +++ b/arch/arm/mach-exynos/setup-fimd0.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c0.c b/arch/arm/mach-exynos/setup-i2c0.c index d395bd17c38b..d395bd17c38b 100644 --- a/arch/arm/mach-exynos4/setup-i2c0.c +++ b/arch/arm/mach-exynos/setup-i2c0.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c1.c b/arch/arm/mach-exynos/setup-i2c1.c index fd7235a43f6e..fd7235a43f6e 100644 --- a/arch/arm/mach-exynos4/setup-i2c1.c +++ b/arch/arm/mach-exynos/setup-i2c1.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c2.c b/arch/arm/mach-exynos/setup-i2c2.c index 2694b19e8b37..2694b19e8b37 100644 --- a/arch/arm/mach-exynos4/setup-i2c2.c +++ b/arch/arm/mach-exynos/setup-i2c2.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c3.c b/arch/arm/mach-exynos/setup-i2c3.c index 379bd306993f..379bd306993f 100644 --- a/arch/arm/mach-exynos4/setup-i2c3.c +++ b/arch/arm/mach-exynos/setup-i2c3.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c4.c b/arch/arm/mach-exynos/setup-i2c4.c index 9f3c04855b76..9f3c04855b76 100644 --- a/arch/arm/mach-exynos4/setup-i2c4.c +++ b/arch/arm/mach-exynos/setup-i2c4.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c5.c b/arch/arm/mach-exynos/setup-i2c5.c index 77e1a1e57c76..77e1a1e57c76 100644 --- a/arch/arm/mach-exynos4/setup-i2c5.c +++ b/arch/arm/mach-exynos/setup-i2c5.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c6.c b/arch/arm/mach-exynos/setup-i2c6.c index 284d12b7af0e..284d12b7af0e 100644 --- a/arch/arm/mach-exynos4/setup-i2c6.c +++ b/arch/arm/mach-exynos/setup-i2c6.c | |||
diff --git a/arch/arm/mach-exynos4/setup-i2c7.c b/arch/arm/mach-exynos/setup-i2c7.c index b7611ee359a2..b7611ee359a2 100644 --- a/arch/arm/mach-exynos4/setup-i2c7.c +++ b/arch/arm/mach-exynos/setup-i2c7.c | |||
diff --git a/arch/arm/mach-exynos4/setup-keypad.c b/arch/arm/mach-exynos/setup-keypad.c index 7862bfb5933d..7862bfb5933d 100644 --- a/arch/arm/mach-exynos4/setup-keypad.c +++ b/arch/arm/mach-exynos/setup-keypad.c | |||
diff --git a/arch/arm/mach-exynos4/setup-sdhci-gpio.c b/arch/arm/mach-exynos/setup-sdhci-gpio.c index e8d08bf8965a..e8d08bf8965a 100644 --- a/arch/arm/mach-exynos4/setup-sdhci-gpio.c +++ b/arch/arm/mach-exynos/setup-sdhci-gpio.c | |||
diff --git a/arch/arm/mach-exynos4/setup-sdhci.c b/arch/arm/mach-exynos/setup-sdhci.c index 92937b410906..92937b410906 100644 --- a/arch/arm/mach-exynos4/setup-sdhci.c +++ b/arch/arm/mach-exynos/setup-sdhci.c | |||
diff --git a/arch/arm/mach-exynos4/setup-usb-phy.c b/arch/arm/mach-exynos/setup-usb-phy.c index 39aca045f660..39aca045f660 100644 --- a/arch/arm/mach-exynos4/setup-usb-phy.c +++ b/arch/arm/mach-exynos/setup-usb-phy.c | |||
diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig index ab16e5568c4c..9b9968fa8695 100644 --- a/arch/arm/plat-s5p/Kconfig +++ b/arch/arm/plat-s5p/Kconfig | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | 7 | ||
| 8 | config PLAT_S5P | 8 | config PLAT_S5P |
| 9 | bool | 9 | bool |
| 10 | depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4) | 10 | depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) |
| 11 | default y | 11 | default y |
| 12 | select ARM_VIC if !ARCH_EXYNOS4 | 12 | select ARM_VIC if !ARCH_EXYNOS4 |
| 13 | select ARM_GIC if ARCH_EXYNOS4 | 13 | select ARM_GIC if ARCH_EXYNOS4 |
diff --git a/arch/arm/plat-s5p/cpu.c b/arch/arm/plat-s5p/cpu.c index 7b0a28f73a68..a56959e83516 100644 --- a/arch/arm/plat-s5p/cpu.c +++ b/arch/arm/plat-s5p/cpu.c | |||
| @@ -75,7 +75,7 @@ static struct cpu_table cpu_ids[] __initdata = { | |||
| 75 | .map_io = exynos4_map_io, | 75 | .map_io = exynos4_map_io, |
| 76 | .init_clocks = exynos4_init_clocks, | 76 | .init_clocks = exynos4_init_clocks, |
| 77 | .init_uarts = exynos4_init_uarts, | 77 | .init_uarts = exynos4_init_uarts, |
| 78 | .init = exynos4_init, | 78 | .init = exynos_init, |
| 79 | .name = name_exynos4210, | 79 | .name = name_exynos4210, |
| 80 | }, { | 80 | }, { |
| 81 | .idcode = EXYNOS4212_CPU_ID, | 81 | .idcode = EXYNOS4212_CPU_ID, |
| @@ -83,7 +83,7 @@ static struct cpu_table cpu_ids[] __initdata = { | |||
| 83 | .map_io = exynos4_map_io, | 83 | .map_io = exynos4_map_io, |
| 84 | .init_clocks = exynos4_init_clocks, | 84 | .init_clocks = exynos4_init_clocks, |
| 85 | .init_uarts = exynos4_init_uarts, | 85 | .init_uarts = exynos4_init_uarts, |
| 86 | .init = exynos4_init, | 86 | .init = exynos_init, |
| 87 | .name = name_exynos4212, | 87 | .name = name_exynos4212, |
| 88 | }, { | 88 | }, { |
| 89 | .idcode = EXYNOS4412_CPU_ID, | 89 | .idcode = EXYNOS4412_CPU_ID, |
| @@ -91,7 +91,7 @@ static struct cpu_table cpu_ids[] __initdata = { | |||
| 91 | .map_io = exynos4_map_io, | 91 | .map_io = exynos4_map_io, |
| 92 | .init_clocks = exynos4_init_clocks, | 92 | .init_clocks = exynos4_init_clocks, |
| 93 | .init_uarts = exynos4_init_uarts, | 93 | .init_uarts = exynos4_init_uarts, |
| 94 | .init = exynos4_init, | 94 | .init = exynos_init, |
| 95 | .name = name_exynos4412, | 95 | .name = name_exynos4412, |
| 96 | }, | 96 | }, |
| 97 | }; | 97 | }; |
diff --git a/arch/arm/plat-samsung/dev-backlight.c b/arch/arm/plat-samsung/dev-backlight.c index 3cedd4c407af..2adbeaed4c04 100644 --- a/arch/arm/plat-samsung/dev-backlight.c +++ b/arch/arm/plat-samsung/dev-backlight.c | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include <linux/platform_device.h> | 14 | #include <linux/platform_device.h> |
| 15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
| 16 | #include <linux/pwm_backlight.h> | 16 | #include <linux/pwm_backlight.h> |
| 17 | #include <linux/slab.h> | ||
| 17 | 18 | ||
| 18 | #include <plat/devs.h> | 19 | #include <plat/devs.h> |
| 19 | #include <plat/gpio-cfg.h> | 20 | #include <plat/gpio-cfg.h> |
diff --git a/arch/arm/plat-samsung/include/plat/exynos4.h b/arch/arm/plat-samsung/include/plat/exynos4.h index 20d73bf77537..f546e88ebc94 100644 --- a/arch/arm/plat-samsung/include/plat/exynos4.h +++ b/arch/arm/plat-samsung/include/plat/exynos4.h | |||
| @@ -18,8 +18,8 @@ extern void exynos4210_register_clocks(void); | |||
| 18 | extern void exynos4212_register_clocks(void); | 18 | extern void exynos4212_register_clocks(void); |
| 19 | extern void exynos4_setup_clocks(void); | 19 | extern void exynos4_setup_clocks(void); |
| 20 | 20 | ||
| 21 | #ifdef CONFIG_ARCH_EXYNOS4 | 21 | #ifdef CONFIG_ARCH_EXYNOS |
| 22 | extern int exynos4_init(void); | 22 | extern int exynos_init(void); |
| 23 | extern void exynos4_init_irq(void); | 23 | extern void exynos4_init_irq(void); |
| 24 | extern void exynos4_map_io(void); | 24 | extern void exynos4_map_io(void); |
| 25 | extern void exynos4_init_clocks(int xtal); | 25 | extern void exynos4_init_clocks(int xtal); |
| @@ -31,5 +31,5 @@ extern struct sys_timer exynos4_timer; | |||
| 31 | #define exynos4_init_clocks NULL | 31 | #define exynos4_init_clocks NULL |
| 32 | #define exynos4_init_uarts NULL | 32 | #define exynos4_init_uarts NULL |
| 33 | #define exynos4_map_io NULL | 33 | #define exynos4_map_io NULL |
| 34 | #define exynos4_init NULL | 34 | #define exynos_init NULL |
| 35 | #endif | 35 | #endif |
diff --git a/arch/arm/plat-samsung/pwm.c b/arch/arm/plat-samsung/pwm.c index f37457c52064..dc1185dcf80d 100644 --- a/arch/arm/plat-samsung/pwm.c +++ b/arch/arm/plat-samsung/pwm.c | |||
| @@ -299,6 +299,9 @@ static int s3c_pwm_probe(struct platform_device *pdev) | |||
| 299 | goto err_clk_tin; | 299 | goto err_clk_tin; |
| 300 | } | 300 | } |
| 301 | 301 | ||
| 302 | clk_enable(pwm->clk); | ||
| 303 | clk_enable(pwm->clk_div); | ||
| 304 | |||
| 302 | local_irq_save(flags); | 305 | local_irq_save(flags); |
| 303 | 306 | ||
| 304 | tcon = __raw_readl(S3C2410_TCON); | 307 | tcon = __raw_readl(S3C2410_TCON); |
| @@ -326,6 +329,8 @@ static int s3c_pwm_probe(struct platform_device *pdev) | |||
| 326 | return 0; | 329 | return 0; |
| 327 | 330 | ||
| 328 | err_clk_tdiv: | 331 | err_clk_tdiv: |
| 332 | clk_disable(pwm->clk_div); | ||
| 333 | clk_disable(pwm->clk); | ||
| 329 | clk_put(pwm->clk_div); | 334 | clk_put(pwm->clk_div); |
| 330 | 335 | ||
| 331 | err_clk_tin: | 336 | err_clk_tin: |
| @@ -340,6 +345,8 @@ static int __devexit s3c_pwm_remove(struct platform_device *pdev) | |||
| 340 | { | 345 | { |
| 341 | struct pwm_device *pwm = platform_get_drvdata(pdev); | 346 | struct pwm_device *pwm = platform_get_drvdata(pdev); |
| 342 | 347 | ||
| 348 | clk_disable(pwm->clk_div); | ||
| 349 | clk_disable(pwm->clk); | ||
| 343 | clk_put(pwm->clk_div); | 350 | clk_put(pwm->clk_div); |
| 344 | clk_put(pwm->clk); | 351 | clk_put(pwm->clk); |
| 345 | kfree(pwm); | 352 | kfree(pwm); |
