blob: 7c0c420c3016acfb7dcaa74947da675ba3a1f0a7 [file] [log] [blame]
Ben Dooksa08ab632008-10-21 14:06:39 +01001# Copyright 2008 Openmoko, Inc.
Ben Dooks431107e2010-01-26 10:11:04 +09002# Simtec Electronics, Ben Dooks <ben@simtec.co.uk>
Ben Dooksa08ab632008-10-21 14:06:39 +01003#
4# Licensed under GPLv2
Arnd Bergmannaf37eec2014-07-07 14:25:15 +02005menuconfig ARCH_S3C64XX
6 bool "Samsung S3C64XX" if ARCH_MULTI_V6
7 select ARCH_REQUIRE_GPIOLIB
8 select ARM_AMBA
9 select ARM_VIC
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020010 select CLKSRC_SAMSUNG_PWM
11 select COMMON_CLK_SAMSUNG
Arnd Bergmannb2821042015-02-27 21:44:40 +010012 select GPIO_SAMSUNG if ATAGS
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020013 select HAVE_S3C2410_I2C if I2C
14 select HAVE_S3C2410_WATCHDOG if WATCHDOG
15 select HAVE_TCM
16 select PLAT_SAMSUNG
17 select PM_GENERIC_DOMAINS if PM
Arnd Bergmannb2821042015-02-27 21:44:40 +010018 select S3C_DEV_NAND if ATAGS
19 select S3C_GPIO_TRACK if ATAGS
20 select SAMSUNG_ATAGS if ATAGS
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020021 select SAMSUNG_WAKEMASK if PM
22 select SAMSUNG_WDT_RESET
23 help
24 Samsung S3C64XX series based systems
Ben Dooksa08ab632008-10-21 14:06:39 +010025
Tomasz Figad2193ce2013-10-06 08:58:40 +090026if ARCH_S3C64XX
27
Ben Dooksa08ab632008-10-21 14:06:39 +010028# Configuration options for the S3C6410 CPU
Ben Dooksd626aee2008-10-21 14:06:50 +010029
Ben Dooks431107e2010-01-26 10:11:04 +090030config CPU_S3C6400
31 bool
Ben Dooks431107e2010-01-26 10:11:04 +090032 help
33 Enable S3C6400 CPU support
34
Ben Dooksd626aee2008-10-21 14:06:50 +010035config CPU_S3C6410
36 bool
37 help
38 Enable S3C6410 CPU support
39
Tomasz Figa1db02872013-10-16 21:10:54 +020040config S3C64XX_PL080
Arnd Bergmann27873b02014-06-13 12:04:39 +020041 def_bool DMADEVICES
42 select ARM_AMBA
Tomasz Figa1db02872013-10-16 21:10:54 +020043 select AMBA_PL08X
Ben Dooksf7be9ab2010-01-26 13:41:30 +090044
Ben Dooks2f6c2ac2010-01-26 10:38:52 +090045config S3C64XX_SETUP_SDHCI
Ben Dooks2f6c2ac2010-01-26 10:38:52 +090046 bool
Russell Kingb1b3f492012-10-06 17:12:25 +010047 select S3C64XX_SETUP_SDHCI_GPIO
Ben Dooks5cc7fd82008-10-31 16:14:38 +000048 help
Ben Dooks2f6c2ac2010-01-26 10:38:52 +090049 Internal configuration for default SDHCI setup for S3C6400 and
50 S3C6410 SoCs.
Ben Dooks5cc7fd82008-10-31 16:14:38 +000051
Marek Szyprowski999304b2010-05-20 08:59:05 +020052config S3C64XX_DEV_ONENAND1
53 bool
54 help
55 Compile in platform device definition for OneNAND1 controller
56
Kukjin Kim7f798c12015-07-30 01:48:17 +090057config SAMSUNG_DEV_BACKLIGHT
58 bool
59 depends on SAMSUNG_DEV_PWM
60 help
61 Compile in platform device definition LCD backlight with PWM Timer
62
Ben Dooks88fc68a2010-01-26 11:19:18 +090063# platform specific device setup
64
65config S3C64XX_SETUP_I2C0
66 bool
67 default y
68 help
69 Common setup code for i2c bus 0.
70
71 Note, currently since i2c0 is always compiled, this setup helper
72 is always compiled with it.
73
74config S3C64XX_SETUP_I2C1
75 bool
76 help
77 Common setup code for i2c bus 1.
78
Abhilash Kesavan0ab0b6d2010-06-08 16:55:45 +090079config S3C64XX_SETUP_IDE
80 bool
81 help
82 Common setup code for S3C64XX IDE.
83
Ben Dooks88fc68a2010-01-26 11:19:18 +090084config S3C64XX_SETUP_FB_24BPP
85 bool
86 help
87 Common setup code for S3C64XX with an 24bpp RGB display helper.
88
Naveen Krishna Ch290d0982010-06-22 07:39:18 +090089config S3C64XX_SETUP_KEYPAD
90 bool
91 help
92 Common setup code for S3C64XX KEYPAD GPIO configurations
93
Ben Dooks88fc68a2010-01-26 11:19:18 +090094config S3C64XX_SETUP_SDHCI_GPIO
95 bool
96 help
97 Common setup code for S3C64XX SDHCI GPIO configurations
98
Padmavathi Venna4566c7f2011-12-23 10:14:36 +090099config S3C64XX_SETUP_SPI
100 bool
101 help
102 Common setup code for SPI GPIO configurations
103
Joonyoung Shim99f6e1f2012-03-07 04:23:47 -0800104config S3C64XX_SETUP_USB_PHY
105 bool
106 help
107 Common setup code for USB PHY controller
108
Ben Dooks431107e2010-01-26 10:11:04 +0900109# S36400 Macchine support
110
111config MACH_SMDK6400
112 bool "SMDK6400"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100113 depends on ATAGS
Ben Dooks431107e2010-01-26 10:11:04 +0900114 select CPU_S3C6400
Russell Kingb1b3f492012-10-06 17:12:25 +0100115 select S3C64XX_SETUP_SDHCI
Arnd Bergmannb25a1b62014-02-26 21:31:18 +0100116 select S3C_DEV_HSMMC1
Ben Dooks431107e2010-01-26 10:11:04 +0900117 help
118 Machine support for the Samsung SMDK6400
119
120# S3C6410 machine support
121
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900122config MACH_ANW6410
123 bool "A&W6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100124 depends on ATAGS
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900125 select CPU_S3C6410
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900126 select S3C64XX_SETUP_FB_24BPP
Russell Kingb1b3f492012-10-06 17:12:25 +0100127 select S3C_DEV_FB
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900128 help
129 Machine support for the A&W6410
130
Darius Augulise9debd92010-10-21 07:42:29 +0900131config MACH_MINI6410
132 bool "MINI6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100133 depends on ATAGS
Darius Augulise9debd92010-10-21 07:42:29 +0900134 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100135 select S3C64XX_SETUP_FB_24BPP
136 select S3C64XX_SETUP_SDHCI
137 select S3C_DEV_FB
Darius Augulise9debd92010-10-21 07:42:29 +0900138 select S3C_DEV_HSMMC
139 select S3C_DEV_HSMMC1
Darius Augulis1c5d76e2010-10-19 16:04:16 +0900140 select S3C_DEV_NAND
Russell Kingb1b3f492012-10-06 17:12:25 +0100141 select S3C_DEV_USB_HOST
Darius Augulisfe894f92010-10-19 16:10:02 +0900142 select SAMSUNG_DEV_ADC
143 select SAMSUNG_DEV_TS
Darius Augulise9debd92010-10-21 07:42:29 +0900144 help
145 Machine support for the FriendlyARM MINI6410
146
Darius Auguliseab5cfa2010-07-28 23:03:43 +0300147config MACH_REAL6410
148 bool "REAL6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100149 depends on ATAGS
Darius Auguliseab5cfa2010-07-28 23:03:43 +0300150 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100151 select S3C64XX_SETUP_FB_24BPP
Darius Augulisce611d72010-08-02 01:39:25 +0300152 select S3C64XX_SETUP_SDHCI
Darius Augulisc115f67c2010-10-19 13:52:29 +0900153 select S3C_DEV_FB
Russell Kingb1b3f492012-10-06 17:12:25 +0100154 select S3C_DEV_HSMMC
155 select S3C_DEV_HSMMC1
Darius Augulis88fbade2010-10-19 13:52:32 +0900156 select S3C_DEV_NAND
Russell Kingb1b3f492012-10-06 17:12:25 +0100157 select S3C_DEV_USB_HOST
Darius Augulis4374c452010-10-19 13:52:34 +0900158 select SAMSUNG_DEV_ADC
159 select SAMSUNG_DEV_TS
Darius Auguliseab5cfa2010-07-28 23:03:43 +0300160 help
161 Machine support for the CoreWind REAL6410
162
Ben Dooks5718df92008-10-21 14:07:09 +0100163config MACH_SMDK6410
164 bool "SMDK6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100165 depends on ATAGS
Ben Dooks5718df92008-10-21 14:07:09 +0100166 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100167 select HAVE_S3C2410_WATCHDOG if WATCHDOG
168 select S3C64XX_SETUP_FB_24BPP
169 select S3C64XX_SETUP_I2C1
170 select S3C64XX_SETUP_IDE
171 select S3C64XX_SETUP_KEYPAD
172 select S3C64XX_SETUP_SDHCI
173 select S3C64XX_SETUP_USB_PHY
174 select S3C_DEV_FB
Ben Dooks5b323c72008-10-31 16:14:28 +0000175 select S3C_DEV_HSMMC
Ben Dooksb24636c2008-11-03 20:14:53 +0000176 select S3C_DEV_HSMMC1
Ben Dooksd7ea3742008-10-31 16:14:57 +0000177 select S3C_DEV_I2C1
Atul Dahiya9bbf4a62010-07-20 16:31:32 +0530178 select S3C_DEV_RTC
Ben Dooks98fd63b2009-03-06 19:49:49 +0000179 select S3C_DEV_USB_HOST
Ben Dooks06fa1d32009-05-16 22:11:20 +0100180 select S3C_DEV_USB_HSOTG
Banajit Goswamib351c4a2010-05-20 16:21:30 +0900181 select S3C_DEV_WDT
Russell Kingb1b3f492012-10-06 17:12:25 +0100182 select SAMSUNG_DEV_ADC
Banajit Goswami96d78682011-07-20 23:45:22 +0900183 select SAMSUNG_DEV_BACKLIGHT
Russell Kingb1b3f492012-10-06 17:12:25 +0100184 select SAMSUNG_DEV_IDE
Naveen Krishna Ch290d0982010-06-22 07:39:18 +0900185 select SAMSUNG_DEV_KEYPAD
Banajit Goswami075d1082011-02-28 17:42:35 +0530186 select SAMSUNG_DEV_PWM
Russell Kingb1b3f492012-10-06 17:12:25 +0100187 select SAMSUNG_DEV_TS
Ben Dooks5718df92008-10-21 14:07:09 +0100188 help
189 Machine support for the Samsung SMDK6410
Ben Dooksb24636c2008-11-03 20:14:53 +0000190
191# At least some of the SMDK6410s were shipped with the card detect
192# for the MMC/SD slots connected to the same input. This means that
193# either the boards need to be altered to have channel0 to an alternate
194# configuration or that only one slot can be used.
195
196choice
197 prompt "SMDK6410 MMC/SD slot setup"
198 depends on MACH_SMDK6410
199
200config SMDK6410_SD_CH0
201 bool "Use channel 0 only"
202 depends on MACH_SMDK6410
203 help
204 Select CON7 (channel 0) as the MMC/SD slot, as
205 at least some SMDK6410 boards come with the
206 resistors fitted so that the card detects for
207 channels 0 and 1 are the same.
Ben Dooks431107e2010-01-26 10:11:04 +0900208
Ben Dooksb24636c2008-11-03 20:14:53 +0000209config SMDK6410_SD_CH1
210 bool "Use channel 1 only"
211 depends on MACH_SMDK6410
212 help
213 Select CON6 (channel 1) as the MMC/SD slot, as
214 at least some SMDK6410 boards come with the
215 resistors fitted so that the card detects for
216 channels 0 and 1 are the same.
217
218endchoice
Mark Brownecc558a2009-02-17 15:59:38 +0000219
220config SMDK6410_WM1190_EV1
221 bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
222 depends on MACH_SMDK6410
Arnd Bergmann261592e2015-02-27 05:50:21 +0900223 depends on I2C=y
Russell Kingb1b3f492012-10-06 17:12:25 +0100224 select MFD_WM8350_I2C
Mark Brownecc558a2009-02-17 15:59:38 +0000225 select REGULATOR
226 select REGULATOR_WM8350
Mark Brownecc558a2009-02-17 15:59:38 +0000227 help
228 The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
229 and audio daughtercard for the Samsung SMDK6410 reference
230 platform. Enabling this option will build support for this
231 module into the kernel. The presence of the module will be
Masanari Iida59bf8962012-04-18 00:01:21 +0900232 detected at runtime so the resulting kernel can be used
Mark Brownecc558a2009-02-17 15:59:38 +0000233 with or without the 1190-EV1 fitted.
Kyungmin Park87c41222009-03-11 11:05:55 +0900234
Mark Brown60f91012010-02-17 18:19:29 +0000235config SMDK6410_WM1192_EV1
236 bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
237 depends on MACH_SMDK6410
Arnd Bergmann261592e2015-02-27 05:50:21 +0900238 depends on I2C=y
Russell Kingb1b3f492012-10-06 17:12:25 +0100239 select MFD_WM831X
240 select MFD_WM831X_I2C
Mark Brown60f91012010-02-17 18:19:29 +0000241 select REGULATOR
242 select REGULATOR_WM831X
Mark Brown60f91012010-02-17 18:19:29 +0000243 help
244 The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
245 daughtercard for the Samsung SMDK6410 reference platform.
246 Enabling this option will build support for this module into
247 the kernel. The presence of the daughtercard will be
Masanari Iida59bf8962012-04-18 00:01:21 +0900248 detected at runtime so the resulting kernel can be used
Mark Brown60f91012010-02-17 18:19:29 +0000249 with or without the 1192-EV1 fitted.
250
Kyungmin Park87c41222009-03-11 11:05:55 +0900251config MACH_NCP
252 bool "NCP"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100253 depends on ATAGS
Kyungmin Park87c41222009-03-11 11:05:55 +0900254 select CPU_S3C6410
Kyungmin Park87c41222009-03-11 11:05:55 +0900255 select S3C64XX_SETUP_I2C1
Russell Kingb1b3f492012-10-06 17:12:25 +0100256 select S3C_DEV_HSMMC1
257 select S3C_DEV_I2C1
Kyungmin Park87c41222009-03-11 11:05:55 +0900258 help
259 Machine support for the Samsung NCP
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200260
261config MACH_HMT
262 bool "Airgoo HMT"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100263 depends on ATAGS
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200264 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100265 select S3C64XX_SETUP_FB_24BPP
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200266 select S3C_DEV_FB
Ben Dooksd23b3512009-09-17 00:01:54 +0100267 select S3C_DEV_NAND
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200268 select S3C_DEV_USB_HOST
Banajit Goswami2ce30132011-02-28 22:24:51 +0530269 select SAMSUNG_DEV_PWM
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200270 help
271 Machine support for the Airgoo HMT
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200272
273config MACH_SMARTQ
274 bool
275 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100276 select S3C64XX_SETUP_FB_24BPP
277 select S3C64XX_SETUP_SDHCI
278 select S3C64XX_SETUP_USB_PHY
279 select S3C_DEV_FB
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200280 select S3C_DEV_HSMMC
281 select S3C_DEV_HSMMC1
282 select S3C_DEV_HSMMC2
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200283 select S3C_DEV_HWMON
284 select S3C_DEV_RTC
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200285 select S3C_DEV_USB_HOST
Russell Kingb1b3f492012-10-06 17:12:25 +0100286 select S3C_DEV_USB_HSOTG
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200287 select SAMSUNG_DEV_ADC
Banajit Goswami2ce30132011-02-28 22:24:51 +0530288 select SAMSUNG_DEV_PWM
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200289 select SAMSUNG_DEV_TS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200290 help
291 Shared machine support for SmartQ 5/7
292
293config MACH_SMARTQ5
294 bool "SmartQ 5"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100295 depends on ATAGS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200296 select MACH_SMARTQ
297 help
298 Machine support for the SmartQ 5
299
300config MACH_SMARTQ7
301 bool "SmartQ 7"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100302 depends on ATAGS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200303 select MACH_SMARTQ
304 help
305 Machine support for the SmartQ 7
Mark Browne1a3c742011-05-06 09:45:13 +0900306
307config MACH_WLF_CRAGG_6410
308 bool "Wolfson Cragganmore 6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100309 depends on ATAGS
Arnd Bergmann261592e2015-02-27 05:50:21 +0900310 depends on I2C=y
Mark Browne1a3c742011-05-06 09:45:13 +0900311 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100312 select LEDS_GPIO_REGISTER
313 select S3C64XX_DEV_SPI0
314 select S3C64XX_SETUP_FB_24BPP
Mark Browne1a3c742011-05-06 09:45:13 +0900315 select S3C64XX_SETUP_I2C1
316 select S3C64XX_SETUP_IDE
Mark Browne1a3c742011-05-06 09:45:13 +0900317 select S3C64XX_SETUP_KEYPAD
Russell Kingb1b3f492012-10-06 17:12:25 +0100318 select S3C64XX_SETUP_SDHCI
Padmavathi Venna7d38af512011-12-23 10:16:19 +0900319 select S3C64XX_SETUP_SPI
Joonyoung Shim99f6e1f2012-03-07 04:23:47 -0800320 select S3C64XX_SETUP_USB_PHY
Mark Brown5a7eb8e2012-11-20 20:13:58 +0900321 select S3C_DEV_FB
Mark Browne1a3c742011-05-06 09:45:13 +0900322 select S3C_DEV_HSMMC
323 select S3C_DEV_HSMMC1
324 select S3C_DEV_HSMMC2
325 select S3C_DEV_I2C1
Mark Browne1a3c742011-05-06 09:45:13 +0900326 select S3C_DEV_RTC
Russell Kingb1b3f492012-10-06 17:12:25 +0100327 select S3C_DEV_USB_HOST
328 select S3C_DEV_USB_HSOTG
329 select S3C_DEV_WDT
330 select SAMSUNG_DEV_ADC
331 select SAMSUNG_DEV_KEYPAD
Mark Brown5a7eb8e2012-11-20 20:13:58 +0900332 select SAMSUNG_DEV_PWM
Mark Browne1a3c742011-05-06 09:45:13 +0900333 help
334 Machine support for the Wolfson Cragganmore S3C6410 variant.
Tomasz Figad2193ce2013-10-06 08:58:40 +0900335
Tomasz Figa31e40012013-08-26 02:37:51 +0900336config MACH_S3C64XX_DT
337 bool "Samsung S3C6400/S3C6410 machine using Device Tree"
338 select CLKSRC_OF
339 select CPU_S3C6400
340 select CPU_S3C6410
341 select PINCTRL
342 select PINCTRL_S3C64XX
Tomasz Figa31e40012013-08-26 02:37:51 +0900343 help
344 Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
345 enabled.
346 Select this if a fdt blob is available for your S3C64XX SoC based
347 board.
348 Note: This is under development and not all peripherals can be
349 supported with this machine file.
Linus Torvaldsf9efbce2013-11-11 17:34:56 +0900350
Tomasz Figad2193ce2013-10-06 08:58:40 +0900351endif