diff options
| -rw-r--r-- | arch/arm/boot/dts/exynos5250.dtsi | 16 | ||||
| -rw-r--r-- | arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | 13 | ||||
| -rw-r--r-- | arch/arm/boot/dts/vexpress-v2p-ca5s.dts | 13 | ||||
| -rw-r--r-- | arch/arm/boot/dts/vexpress-v2p-ca9.dts | 9 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/Kconfig | 2 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/clock-exynos5.c | 51 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/cpuidle.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/pm-core.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/pmu.h | 4 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-clock.h | 18 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-pmu.h | 141 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/pm.c | 223 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/pmu.c | 200 | ||||
| -rw-r--r-- | arch/arm/mach-s3c24xx/include/mach/irqs.h | 15 | ||||
| -rw-r--r-- | arch/arm/mach-s3c24xx/irq-s3c2416.c | 98 | ||||
| -rw-r--r-- | arch/arm/mach-s3c24xx/s3c2416.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/v2m.c | 2 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/include/plat/s3c2416.h | 3 |
19 files changed, 630 insertions, 185 deletions
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index 5ca0cdb76413..4272b2949228 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi | |||
| @@ -30,6 +30,22 @@ | |||
| 30 | reg = <0x10481000 0x1000>, <0x10482000 0x2000>; | 30 | reg = <0x10481000 0x1000>, <0x10482000 0x2000>; |
| 31 | }; | 31 | }; |
| 32 | 32 | ||
| 33 | combiner:interrupt-controller@10440000 { | ||
| 34 | compatible = "samsung,exynos4210-combiner"; | ||
| 35 | #interrupt-cells = <2>; | ||
| 36 | interrupt-controller; | ||
| 37 | samsung,combiner-nr = <32>; | ||
| 38 | reg = <0x10440000 0x1000>; | ||
| 39 | interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>, | ||
| 40 | <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>, | ||
| 41 | <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>, | ||
| 42 | <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>, | ||
| 43 | <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>, | ||
| 44 | <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>, | ||
| 45 | <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>, | ||
| 46 | <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>; | ||
| 47 | }; | ||
| 48 | |||
| 33 | watchdog { | 49 | watchdog { |
| 34 | compatible = "samsung,s3c2410-wdt"; | 50 | compatible = "samsung,s3c2410-wdt"; |
| 35 | reg = <0x101D0000 0x100>; | 51 | reg = <0x101D0000 0x100>; |
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts index 941b161ab78c..7e1091d91af8 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | |||
| @@ -73,7 +73,10 @@ | |||
| 73 | #address-cells = <0>; | 73 | #address-cells = <0>; |
| 74 | interrupt-controller; | 74 | interrupt-controller; |
| 75 | reg = <0x2c001000 0x1000>, | 75 | reg = <0x2c001000 0x1000>, |
| 76 | <0x2c002000 0x100>; | 76 | <0x2c002000 0x1000>, |
| 77 | <0x2c004000 0x2000>, | ||
| 78 | <0x2c006000 0x2000>; | ||
| 79 | interrupts = <1 9 0xf04>; | ||
| 77 | }; | 80 | }; |
| 78 | 81 | ||
| 79 | memory-controller@7ffd0000 { | 82 | memory-controller@7ffd0000 { |
| @@ -93,6 +96,14 @@ | |||
| 93 | <0 91 4>; | 96 | <0 91 4>; |
| 94 | }; | 97 | }; |
| 95 | 98 | ||
| 99 | timer { | ||
| 100 | compatible = "arm,armv7-timer"; | ||
| 101 | interrupts = <1 13 0xf08>, | ||
| 102 | <1 14 0xf08>, | ||
| 103 | <1 11 0xf08>, | ||
| 104 | <1 10 0xf08>; | ||
| 105 | }; | ||
| 106 | |||
| 96 | pmu { | 107 | pmu { |
| 97 | compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu"; | 108 | compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu"; |
| 98 | interrupts = <0 68 4>, | 109 | interrupts = <0 68 4>, |
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts index 6905e66d4748..18917a0f8604 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts | |||
| @@ -77,13 +77,18 @@ | |||
| 77 | 77 | ||
| 78 | timer@2c000600 { | 78 | timer@2c000600 { |
| 79 | compatible = "arm,cortex-a5-twd-timer"; | 79 | compatible = "arm,cortex-a5-twd-timer"; |
| 80 | reg = <0x2c000600 0x38>; | 80 | reg = <0x2c000600 0x20>; |
| 81 | interrupts = <1 2 0x304>, | 81 | interrupts = <1 13 0x304>; |
| 82 | <1 3 0x304>; | 82 | }; |
| 83 | |||
| 84 | watchdog@2c000620 { | ||
| 85 | compatible = "arm,cortex-a5-twd-wdt"; | ||
| 86 | reg = <0x2c000620 0x20>; | ||
| 87 | interrupts = <1 14 0x304>; | ||
| 83 | }; | 88 | }; |
| 84 | 89 | ||
| 85 | gic: interrupt-controller@2c001000 { | 90 | gic: interrupt-controller@2c001000 { |
| 86 | compatible = "arm,corex-a5-gic", "arm,cortex-a9-gic"; | 91 | compatible = "arm,cortex-a5-gic", "arm,cortex-a9-gic"; |
| 87 | #interrupt-cells = <3>; | 92 | #interrupt-cells = <3>; |
| 88 | #address-cells = <0>; | 93 | #address-cells = <0>; |
| 89 | interrupt-controller; | 94 | interrupt-controller; |
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca9.dts b/arch/arm/boot/dts/vexpress-v2p-ca9.dts index da778693be54..3f0c736d31d6 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca9.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca9.dts | |||
| @@ -105,8 +105,13 @@ | |||
| 105 | timer@1e000600 { | 105 | timer@1e000600 { |
| 106 | compatible = "arm,cortex-a9-twd-timer"; | 106 | compatible = "arm,cortex-a9-twd-timer"; |
| 107 | reg = <0x1e000600 0x20>; | 107 | reg = <0x1e000600 0x20>; |
| 108 | interrupts = <1 2 0xf04>, | 108 | interrupts = <1 13 0xf04>; |
| 109 | <1 3 0xf04>; | 109 | }; |
| 110 | |||
| 111 | watchdog@1e000620 { | ||
| 112 | compatible = "arm,cortex-a9-twd-wdt"; | ||
| 113 | reg = <0x1e000620 0x20>; | ||
| 114 | interrupts = <1 14 0xf04>; | ||
| 110 | }; | 115 | }; |
| 111 | 116 | ||
| 112 | gic: interrupt-controller@1e001000 { | 117 | gic: interrupt-controller@1e001000 { |
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index 43ebe9094411..573be57d3d28 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
| @@ -62,6 +62,8 @@ config SOC_EXYNOS5250 | |||
| 62 | default y | 62 | default y |
| 63 | depends on ARCH_EXYNOS5 | 63 | depends on ARCH_EXYNOS5 |
| 64 | select SAMSUNG_DMADEV | 64 | select SAMSUNG_DMADEV |
| 65 | select S5P_PM if PM | ||
| 66 | select S5P_SLEEP if PM | ||
| 65 | help | 67 | help |
| 66 | Enable EXYNOS5250 SoC support | 68 | Enable EXYNOS5250 SoC support |
| 67 | 69 | ||
diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile index 440a637c76f1..9b58024f7d43 100644 --- a/arch/arm/mach-exynos/Makefile +++ b/arch/arm/mach-exynos/Makefile | |||
| @@ -22,7 +22,7 @@ obj-$(CONFIG_PM) += pm.o | |||
| 22 | obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o | 22 | obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o |
| 23 | obj-$(CONFIG_CPU_IDLE) += cpuidle.o | 23 | obj-$(CONFIG_CPU_IDLE) += cpuidle.o |
| 24 | 24 | ||
| 25 | obj-$(CONFIG_ARCH_EXYNOS4) += pmu.o | 25 | obj-$(CONFIG_ARCH_EXYNOS) += pmu.o |
| 26 | 26 | ||
| 27 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o | 27 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o |
| 28 | 28 | ||
diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c index 5aa460b01fdf..fefa336be2b4 100644 --- a/arch/arm/mach-exynos/clock-exynos5.c +++ b/arch/arm/mach-exynos/clock-exynos5.c | |||
| @@ -30,7 +30,56 @@ | |||
| 30 | 30 | ||
| 31 | #ifdef CONFIG_PM_SLEEP | 31 | #ifdef CONFIG_PM_SLEEP |
| 32 | static struct sleep_save exynos5_clock_save[] = { | 32 | static struct sleep_save exynos5_clock_save[] = { |
| 33 | /* will be implemented */ | 33 | SAVE_ITEM(EXYNOS5_CLKSRC_MASK_TOP), |
| 34 | SAVE_ITEM(EXYNOS5_CLKSRC_MASK_GSCL), | ||
| 35 | SAVE_ITEM(EXYNOS5_CLKSRC_MASK_DISP1_0), | ||
| 36 | SAVE_ITEM(EXYNOS5_CLKSRC_MASK_FSYS), | ||
| 37 | SAVE_ITEM(EXYNOS5_CLKSRC_MASK_MAUDIO), | ||
| 38 | SAVE_ITEM(EXYNOS5_CLKSRC_MASK_PERIC0), | ||
| 39 | SAVE_ITEM(EXYNOS5_CLKSRC_MASK_PERIC1), | ||
| 40 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_GSCL), | ||
| 41 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_DISP1), | ||
| 42 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_MFC), | ||
| 43 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_G3D), | ||
| 44 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_GEN), | ||
| 45 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_FSYS), | ||
| 46 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_PERIC), | ||
| 47 | SAVE_ITEM(EXYNOS5_CLKGATE_IP_PERIS), | ||
| 48 | SAVE_ITEM(EXYNOS5_CLKGATE_BLOCK), | ||
| 49 | SAVE_ITEM(EXYNOS5_CLKDIV_TOP0), | ||
| 50 | SAVE_ITEM(EXYNOS5_CLKDIV_TOP1), | ||
