diff options
author | Byungho Min <bhminjames@gmail.com> | 2009-06-23 08:39:42 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-08-16 18:35:19 -0400 |
commit | 5a7652f2032b88106c9ba41edf0fb795397008bd (patch) | |
tree | ec00a59e49ebd52d199c0c83177ed166a88735f9 /arch/arm | |
parent | c1cc3db8e9fcf1c9d2db3f34552c73996d3d8a13 (diff) |
ARM: S5PC100: Kconfigs and Makefiles
S5PC100 is a new SoC with ARM coretex-A8 and numerous peripherals. This SoC is
successor of S3C64XX. S5PC100 has peripherals which are still similar to S3C
families so some drivers in "arch/arm/plat-s3c" can be shared. S5PC100 specific
drivers will be added in "arch/arm/plat-s5pcxx" or "arch/arm/mach-s5pc100"
Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: tidy and edit description]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 13 | ||||
-rw-r--r-- | arch/arm/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/Kconfig | 22 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/Makefile | 17 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/Makefile.boot | 2 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/include/mach/hardware.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-s5pc1xx/Kconfig | 50 | ||||
-rw-r--r-- | arch/arm/plat-s5pc1xx/Makefile | 26 |
8 files changed, 133 insertions, 1 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f07a4ba281b..be89ab3aacf 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -588,6 +588,14 @@ config ARCH_S3C64XX | |||
588 | help | 588 | help |
589 | Samsung S3C64XX series based systems | 589 | Samsung S3C64XX series based systems |
590 | 590 | ||
591 | config ARCH_S5PC1XX | ||
592 | bool "Samsung S5PC1XX" | ||
593 | select GENERIC_GPIO | ||
594 | select HAVE_CLK | ||
595 | select CPU_V7 | ||
596 | help | ||
597 | Samsung S5PC1XX series based systems | ||
598 | |||
591 | config ARCH_SHARK | 599 | config ARCH_SHARK |
592 | bool "Shark" | 600 | bool "Shark" |
593 | select CPU_SA110 | 601 | select CPU_SA110 |
@@ -698,6 +706,7 @@ source "arch/arm/mach-kirkwood/Kconfig" | |||
698 | source "arch/arm/plat-s3c24xx/Kconfig" | 706 | source "arch/arm/plat-s3c24xx/Kconfig" |
699 | source "arch/arm/plat-s3c64xx/Kconfig" | 707 | source "arch/arm/plat-s3c64xx/Kconfig" |
700 | source "arch/arm/plat-s3c/Kconfig" | 708 | source "arch/arm/plat-s3c/Kconfig" |
709 | source "arch/arm/plat-s5pc1xx/Kconfig" | ||
701 | 710 | ||
702 | if ARCH_S3C2410 | 711 | if ARCH_S3C2410 |
703 | source "arch/arm/mach-s3c2400/Kconfig" | 712 | source "arch/arm/mach-s3c2400/Kconfig" |
@@ -715,6 +724,10 @@ endif | |||
715 | 724 | ||
716 | source "arch/arm/plat-stmp3xxx/Kconfig" | 725 | source "arch/arm/plat-stmp3xxx/Kconfig" |
717 | 726 | ||
727 | if ARCH_S5PC1XX | ||
728 | source "arch/arm/mach-s5pc100/Kconfig" | ||
729 | endif | ||
730 | |||
718 | source "arch/arm/mach-lh7a40x/Kconfig" | 731 | source "arch/arm/mach-lh7a40x/Kconfig" |
719 | 732 | ||
720 | source "arch/arm/mach-h720x/Kconfig" | 733 | source "arch/arm/mach-h720x/Kconfig" |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index c877d6df23d..96659415953 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -150,6 +150,7 @@ machine-$(CONFIG_ARCH_RPC) := rpc | |||
150 | machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2440 s3c2442 s3c2443 | 150 | machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2440 s3c2442 s3c2443 |
151 | machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0 | 151 | machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0 |
152 | machine-$(CONFIG_ARCH_S3C64XX) := s3c6400 s3c6410 | 152 | machine-$(CONFIG_ARCH_S3C64XX) := s3c6400 s3c6410 |
153 | machine-$(CONFIG_ARCH_S5PC1XX) := s5pc100 | ||
153 | machine-$(CONFIG_ARCH_SA1100) := sa1100 | 154 | machine-$(CONFIG_ARCH_SA1100) := sa1100 |
154 | machine-$(CONFIG_ARCH_SHARK) := shark | 155 | machine-$(CONFIG_ARCH_SHARK) := shark |
155 | machine-$(CONFIG_ARCH_STMP378X) := stmp378x | 156 | machine-$(CONFIG_ARCH_STMP378X) := stmp378x |
@@ -168,6 +169,7 @@ plat-$(CONFIG_PLAT_ORION) := orion | |||
168 | plat-$(CONFIG_PLAT_PXA) := pxa | 169 | plat-$(CONFIG_PLAT_PXA) := pxa |
169 | plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx s3c | 170 | plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx s3c |
170 | plat-$(CONFIG_PLAT_S3C64XX) := s3c64xx s3c | 171 | plat-$(CONFIG_PLAT_S3C64XX) := s3c64xx s3c |
172 | plat-$(CONFIG_PLAT_S5PC1XX) := s5pc1xx s3c | ||
171 | plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx | 173 | plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx |
172 | 174 | ||
173 | ifeq ($(CONFIG_ARCH_EBSA110),y) | 175 | ifeq ($(CONFIG_ARCH_EBSA110),y) |
diff --git a/arch/arm/mach-s5pc100/Kconfig b/arch/arm/mach-s5pc100/Kconfig new file mode 100644 index 00000000000..b1a4ba50441 --- /dev/null +++ b/arch/arm/mach-s5pc100/Kconfig | |||
@@ -0,0 +1,22 @@ | |||
1 | # arch/arm/mach-s5pc100/Kconfig | ||
2 | # | ||
3 | # Copyright 2009 Samsung Electronics Co. | ||
4 | # Byungho Min <bhmin@samsung.com> | ||
5 | # | ||
6 | # Licensed under GPLv2 | ||
7 | |||
8 | # Configuration options for the S5PC100 CPU | ||
9 | |||
10 | config CPU_S5PC100 | ||
11 | bool | ||
12 | select CPU_S5PC100_INIT | ||
13 | select CPU_S5PC100_CLOCK | ||
14 | help | ||
15 | Enable S5PC100 CPU support | ||
16 | |||
17 | config MACH_SMDKC100 | ||
18 | bool "SMDKC100" | ||
19 | select CPU_S5PC100 | ||
20 | select S5PC1XX_SETUP_I2C1 | ||
21 | help | ||
22 | Machine support for the Samsung SMDKC100 | ||
diff --git a/arch/arm/mach-s5pc100/Makefile b/arch/arm/mach-s5pc100/Makefile new file mode 100644 index 00000000000..afc89b381d7 --- /dev/null +++ b/arch/arm/mach-s5pc100/Makefile | |||
@@ -0,0 +1,17 @@ | |||
1 | # arch/arm/mach-s5pc100/Makefile | ||
2 | # | ||
3 | # Copyright 2009 Samsung Electronics Co. | ||
4 | # | ||
5 | # Licensed under GPLv2 | ||
6 | |||
7 | obj-y := | ||
8 | obj-m := | ||
9 | obj-n := | ||
10 | obj- := | ||
11 | |||
12 | # Core support for S5PC100 system | ||
13 | |||
14 | obj-$(CONFIG_CPU_S5PC100) += cpu.o | ||
15 | |||
16 | # machine support | ||
17 | obj-$(CONFIG_MACH_SMDKC100) += mach-smdkc100.o | ||
diff --git a/arch/arm/mach-s5pc100/Makefile.boot b/arch/arm/mach-s5pc100/Makefile.boot new file mode 100644 index 00000000000..ff90aa13bd6 --- /dev/null +++ b/arch/arm/mach-s5pc100/Makefile.boot | |||
@@ -0,0 +1,2 @@ | |||
1 | zreladdr-y := 0x20008000 | ||
2 | params_phys-y := 0x20000100 | ||
diff --git a/arch/arm/mach-s5pc100/include/mach/hardware.h b/arch/arm/mach-s5pc100/include/mach/hardware.h index 38ce8206a1a..6b38618c2fd 100644 --- a/arch/arm/mach-s5pc100/include/mach/hardware.h +++ b/arch/arm/mach-s5pc100/include/mach/hardware.h | |||
@@ -3,7 +3,7 @@ | |||
3 | * Copyright 2009 Samsung Electronics Co. | 3 | * Copyright 2009 Samsung Electronics Co. |
4 | * Byungho Min <bhmin@samsung.com> | 4 | * Byungho Min <bhmin@samsung.com> |
5 | * | 5 | * |
6 | * S3C6400 - Hardware support | 6 | * S5PC100 - Hardware support |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #ifndef __ASM_ARCH_HARDWARE_H | 9 | #ifndef __ASM_ARCH_HARDWARE_H |
diff --git a/arch/arm/plat-s5pc1xx/Kconfig b/arch/arm/plat-s5pc1xx/Kconfig new file mode 100644 index 00000000000..a8a711c3c06 --- /dev/null +++ b/arch/arm/plat-s5pc1xx/Kconfig | |||
@@ -0,0 +1,50 @@ | |||
1 | # arch/arm/plat-s5pc1xx/Kconfig | ||
2 | # | ||
3 | # Copyright 2009 Samsung Electronics Co. | ||
4 | # Byungho Min <bhmin@samsung.com> | ||
5 | # | ||
6 | # Licensed under GPLv2 | ||
7 | |||
8 | config PLAT_S5PC1XX | ||
9 | bool | ||
10 | depends on ARCH_S5PC1XX | ||
11 | default y | ||
12 | select PLAT_S3C | ||
13 | select ARM_VIC | ||
14 | select NO_IOPORT | ||
15 | select ARCH_REQUIRE_GPIOLIB | ||
16 | select S3C_GPIO_TRACK | ||
17 | select S3C_GPIO_PULL_UPDOWN | ||
18 | help | ||
19 | Base platform code for any Samsung S5PC1XX device | ||
20 | |||
21 | if PLAT_S5PC1XX | ||
22 | |||
23 | # Configuration options shared by all S3C64XX implementations | ||
24 | |||
25 | config CPU_S5PC100_INIT | ||
26 | bool | ||
27 | help | ||
28 | Common initialisation code for the S5PC1XX | ||
29 | |||
30 | config CPU_S5PC100_CLOCK | ||
31 | bool | ||
32 | help | ||
33 | Common clock support code for the S5PC1XX | ||
34 | |||
35 | # platform specific device setup | ||
36 | |||
37 | config S5PC100_SETUP_I2C0 | ||
38 | bool | ||
39 | default y | ||
40 | help | ||
41 | Common setup code for i2c bus 0. | ||
42 | |||
43 | Note, currently since i2c0 is always compiled, this setup helper | ||
44 | is always compiled with it. | ||
45 | |||
46 | config S5PC100_SETUP_I2C1 | ||
47 | bool | ||
48 | help | ||
49 | Common setup code for i2c bus 1. | ||
50 | endif | ||
diff --git a/arch/arm/plat-s5pc1xx/Makefile b/arch/arm/plat-s5pc1xx/Makefile new file mode 100644 index 00000000000..f1ecb2c37ee --- /dev/null +++ b/arch/arm/plat-s5pc1xx/Makefile | |||
@@ -0,0 +1,26 @@ | |||
1 | # arch/arm/plat-s5pc1xx/Makefile | ||
2 | # | ||
3 | # Copyright 2009 Samsung Electronics Co. | ||
4 | # | ||
5 | # Licensed under GPLv2 | ||
6 | |||
7 | obj-y := | ||
8 | obj-m := | ||
9 | obj-n := dummy.o | ||
10 | obj- := | ||
11 | |||
12 | # Core files | ||
13 | |||
14 | obj-y += dev-uart.o | ||
15 | obj-y += cpu.o | ||
16 | obj-y += irq.o | ||
17 | |||
18 | # CPU support | ||
19 | |||
20 | obj-$(CONFIG_CPU_S5PC100_INIT) += s5pc100-init.o | ||
21 | obj-$(CONFIG_CPU_S5PC100_CLOCK) += s5pc100-clock.o | ||
22 | |||
23 | # Device setup | ||
24 | |||
25 | obj-$(CONFIG_S5PC100_SETUP_I2C0) += setup-i2c0.o | ||
26 | obj-$(CONFIG_S5PC100_SETUP_I2C1) += setup-i2c1.o | ||