blob: 459214fa20b40bfd6e17e7c8938d57e35dd52b2f [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
Masahiro Yamada036a5cf2016-01-25 20:41:29 +09006 bool "Samsung S3C64XX"
7 depends on ARCH_MULTI_V6
Arnd Bergmannaf37eec2014-07-07 14:25:15 +02008 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
Linus Walleij5c34a4e2016-06-02 14:10:16 +020013 select GPIOLIB
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020014 select HAVE_S3C2410_I2C if I2C
15 select HAVE_S3C2410_WATCHDOG if WATCHDOG
16 select HAVE_TCM
17 select PLAT_SAMSUNG
18 select PM_GENERIC_DOMAINS if PM
Arnd Bergmannb2821042015-02-27 21:44:40 +010019 select S3C_DEV_NAND if ATAGS
20 select S3C_GPIO_TRACK if ATAGS
21 select SAMSUNG_ATAGS if ATAGS
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020022 select SAMSUNG_WAKEMASK if PM
23 select SAMSUNG_WDT_RESET
24 help
25 Samsung S3C64XX series based systems
Ben Dooksa08ab632008-10-21 14:06:39 +010026
Tomasz Figad2193ce2013-10-06 08:58:40 +090027if ARCH_S3C64XX
28
Ben Dooksa08ab632008-10-21 14:06:39 +010029# Configuration options for the S3C6410 CPU
Ben Dooksd626aee2008-10-21 14:06:50 +010030
Ben Dooks431107e2010-01-26 10:11:04 +090031config CPU_S3C6400
32 bool
Ben Dooks431107e2010-01-26 10:11:04 +090033 help
34 Enable S3C6400 CPU support
35
Ben Dooksd626aee2008-10-21 14:06:50 +010036config CPU_S3C6410
37 bool
38 help
39 Enable S3C6410 CPU support
40
Tomasz Figa1db02872013-10-16 21:10:54 +020041config S3C64XX_PL080
Arnd Bergmann27873b02014-06-13 12:04:39 +020042 def_bool DMADEVICES
43 select ARM_AMBA
Tomasz Figa1db02872013-10-16 21:10:54 +020044 select AMBA_PL08X
Ben Dooksf7be9ab2010-01-26 13:41:30 +090045
Ben Dooks2f6c2ac2010-01-26 10:38:52 +090046config S3C64XX_SETUP_SDHCI
Ben Dooks2f6c2ac2010-01-26 10:38:52 +090047 bool
Russell Kingb1b3f492012-10-06 17:12:25 +010048 select S3C64XX_SETUP_SDHCI_GPIO
Ben Dooks5cc7fd82008-10-31 16:14:38 +000049 help
Ben Dooks2f6c2ac2010-01-26 10:38:52 +090050 Internal configuration for default SDHCI setup for S3C6400 and
51 S3C6410 SoCs.
Ben Dooks5cc7fd82008-10-31 16:14:38 +000052
Marek Szyprowski999304b2010-05-20 08:59:05 +020053config S3C64XX_DEV_ONENAND1
54 bool
55 help
56 Compile in platform device definition for OneNAND1 controller
57
Kukjin Kim7f798c12015-07-30 01:48:17 +090058config SAMSUNG_DEV_BACKLIGHT
59 bool
60 depends on SAMSUNG_DEV_PWM
61 help
62 Compile in platform device definition LCD backlight with PWM Timer
63
Ben Dooks88fc68a2010-01-26 11:19:18 +090064# platform specific device setup
65
66config S3C64XX_SETUP_I2C0
67 bool
68 default y
69 help
70 Common setup code for i2c bus 0.
71
72 Note, currently since i2c0 is always compiled, this setup helper
73 is always compiled with it.
74
75config S3C64XX_SETUP_I2C1
76 bool
77 help
78 Common setup code for i2c bus 1.
79
Abhilash Kesavan0ab0b6d2010-06-08 16:55:45 +090080config S3C64XX_SETUP_IDE
81 bool
82 help
83 Common setup code for S3C64XX IDE.
84
Ben Dooks88fc68a2010-01-26 11:19:18 +090085config S3C64XX_SETUP_FB_24BPP
86 bool
87 help
88 Common setup code for S3C64XX with an 24bpp RGB display helper.
89
Naveen Krishna Ch290d0982010-06-22 07:39:18 +090090config S3C64XX_SETUP_KEYPAD
91 bool
92 help
93 Common setup code for S3C64XX KEYPAD GPIO configurations
94
Ben Dooks88fc68a2010-01-26 11:19:18 +090095config S3C64XX_SETUP_SDHCI_GPIO
96 bool
97 help
98 Common setup code for S3C64XX SDHCI GPIO configurations
99
Padmavathi Venna4566c7f2011-12-23 10:14:36 +0900100config S3C64XX_SETUP_SPI
101 bool
102 help
103 Common setup code for SPI GPIO configurations
104
Joonyoung Shim99f6e1f2012-03-07 04:23:47 -0800105config S3C64XX_SETUP_USB_PHY
106 bool
107 help
108 Common setup code for USB PHY controller
109
Ben Dooks431107e2010-01-26 10:11:04 +0900110# S36400 Macchine support
111
112config MACH_SMDK6400
113 bool "SMDK6400"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100114 depends on ATAGS
Ben Dooks431107e2010-01-26 10:11:04 +0900115 select CPU_S3C6400
Russell Kingb1b3f492012-10-06 17:12:25 +0100116 select S3C64XX_SETUP_SDHCI
Arnd Bergmannb25a1b62014-02-26 21:31:18 +0100117 select S3C_DEV_HSMMC1
Ben Dooks431107e2010-01-26 10:11:04 +0900118 help
119 Machine support for the Samsung SMDK6400
120
121# S3C6410 machine support
122
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900123config MACH_ANW6410
124 bool "A&W6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100125 depends on ATAGS
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900126 select CPU_S3C6410
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900127 select S3C64XX_SETUP_FB_24BPP
Russell Kingb1b3f492012-10-06 17:12:25 +0100128 select S3C_DEV_FB
Kwangwoo Lee1f26a8a2009-04-28 10:35:57 +0900129 help
130 Machine support for the A&W6410
131
Darius Augulise9debd92010-10-21 07:42:29 +0900132config MACH_MINI6410
133 bool "MINI6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100134 depends on ATAGS
Darius Augulise9debd92010-10-21 07:42:29 +0900135 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100136 select S3C64XX_SETUP_FB_24BPP
137 select S3C64XX_SETUP_SDHCI
138 select S3C_DEV_FB
Darius Augulise9debd92010-10-21 07:42:29 +0900139 select S3C_DEV_HSMMC
140 select S3C_DEV_HSMMC1
Darius Augulis1c5d76e2010-10-19 16:04:16 +0900141 select S3C_DEV_NAND
Russell Kingb1b3f492012-10-06 17:12:25 +0100142 select S3C_DEV_USB_HOST
Darius Augulisfe894f92010-10-19 16:10:02 +0900143 select SAMSUNG_DEV_ADC
144 select SAMSUNG_DEV_TS
Darius Augulise9debd92010-10-21 07:42:29 +0900145 help
146 Machine support for the FriendlyARM MINI6410
147
Darius Auguliseab5cfa2010-07-28 23:03:43 +0300148config MACH_REAL6410
149 bool "REAL6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100150 depends on ATAGS
Darius Auguliseab5cfa2010-07-28 23:03:43 +0300151 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100152 select S3C64XX_SETUP_FB_24BPP
Darius Augulisce611d72010-08-02 01:39:25 +0300153 select S3C64XX_SETUP_SDHCI
Darius Augulisc115f67c2010-10-19 13:52:29 +0900154 select S3C_DEV_FB
Russell Kingb1b3f492012-10-06 17:12:25 +0100155 select S3C_DEV_HSMMC
156 select S3C_DEV_HSMMC1
Darius Augulis88fbade2010-10-19 13:52:32 +0900157 select S3C_DEV_NAND
Russell Kingb1b3f492012-10-06 17:12:25 +0100158 select S3C_DEV_USB_HOST
Darius Augulis4374c452010-10-19 13:52:34 +0900159 select SAMSUNG_DEV_ADC
160 select SAMSUNG_DEV_TS
Darius Auguliseab5cfa2010-07-28 23:03:43 +0300161 help
162 Machine support for the CoreWind REAL6410
163
Ben Dooks5718df92008-10-21 14:07:09 +0100164config MACH_SMDK6410
165 bool "SMDK6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100166 depends on ATAGS
Ben Dooks5718df92008-10-21 14:07:09 +0100167 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100168 select HAVE_S3C2410_WATCHDOG if WATCHDOG
169 select S3C64XX_SETUP_FB_24BPP
170 select S3C64XX_SETUP_I2C1
171 select S3C64XX_SETUP_IDE
172 select S3C64XX_SETUP_KEYPAD
173 select S3C64XX_SETUP_SDHCI
174 select S3C64XX_SETUP_USB_PHY
175 select S3C_DEV_FB
Ben Dooks5b323c72008-10-31 16:14:28 +0000176 select S3C_DEV_HSMMC
Ben Dooksb24636c2008-11-03 20:14:53 +0000177 select S3C_DEV_HSMMC1
Ben Dooksd7ea3742008-10-31 16:14:57 +0000178 select S3C_DEV_I2C1
Atul Dahiya9bbf4a62010-07-20 16:31:32 +0530179 select S3C_DEV_RTC
Ben Dooks98fd63b2009-03-06 19:49:49 +0000180 select S3C_DEV_USB_HOST
Ben Dooks06fa1d32009-05-16 22:11:20 +0100181 select S3C_DEV_USB_HSOTG
Banajit Goswamib351c4a2010-05-20 16:21:30 +0900182 select S3C_DEV_WDT
Russell Kingb1b3f492012-10-06 17:12:25 +0100183 select SAMSUNG_DEV_ADC
Banajit Goswami96d78682011-07-20 23:45:22 +0900184 select SAMSUNG_DEV_BACKLIGHT
Russell Kingb1b3f492012-10-06 17:12:25 +0100185 select SAMSUNG_DEV_IDE
Naveen Krishna Ch290d0982010-06-22 07:39:18 +0900186 select SAMSUNG_DEV_KEYPAD
Banajit Goswami075d1082011-02-28 17:42:35 +0530187 select SAMSUNG_DEV_PWM
Russell Kingb1b3f492012-10-06 17:12:25 +0100188 select SAMSUNG_DEV_TS
Ben Dooks5718df92008-10-21 14:07:09 +0100189 help
190 Machine support for the Samsung SMDK6410
Ben Dooksb24636c2008-11-03 20:14:53 +0000191
192# At least some of the SMDK6410s were shipped with the card detect
193# for the MMC/SD slots connected to the same input. This means that
194# either the boards need to be altered to have channel0 to an alternate
195# configuration or that only one slot can be used.
196
197choice
198 prompt "SMDK6410 MMC/SD slot setup"
199 depends on MACH_SMDK6410
200
201config SMDK6410_SD_CH0
202 bool "Use channel 0 only"
203 depends on MACH_SMDK6410
204 help
205 Select CON7 (channel 0) as the MMC/SD slot, as
206 at least some SMDK6410 boards come with the
207 resistors fitted so that the card detects for
208 channels 0 and 1 are the same.
Ben Dooks431107e2010-01-26 10:11:04 +0900209
Ben Dooksb24636c2008-11-03 20:14:53 +0000210config SMDK6410_SD_CH1
211 bool "Use channel 1 only"
212 depends on MACH_SMDK6410
213 help
214 Select CON6 (channel 1) as the MMC/SD slot, as
215 at least some SMDK6410 boards come with the
216 resistors fitted so that the card detects for
217 channels 0 and 1 are the same.
218
219endchoice
Mark Brownecc558a2009-02-17 15:59:38 +0000220
221config SMDK6410_WM1190_EV1
222 bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
223 depends on MACH_SMDK6410
Arnd Bergmann261592e2015-02-27 05:50:21 +0900224 depends on I2C=y
Russell Kingb1b3f492012-10-06 17:12:25 +0100225 select MFD_WM8350_I2C
Mark Brownecc558a2009-02-17 15:59:38 +0000226 select REGULATOR
227 select REGULATOR_WM8350
Mark Brownecc558a2009-02-17 15:59:38 +0000228 help
229 The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
230 and audio daughtercard for the Samsung SMDK6410 reference
231 platform. Enabling this option will build support for this
232 module into the kernel. The presence of the module will be
Masanari Iida59bf8962012-04-18 00:01:21 +0900233 detected at runtime so the resulting kernel can be used
Mark Brownecc558a2009-02-17 15:59:38 +0000234 with or without the 1190-EV1 fitted.
Kyungmin Park87c41222009-03-11 11:05:55 +0900235
Mark Brown60f91012010-02-17 18:19:29 +0000236config SMDK6410_WM1192_EV1
237 bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
238 depends on MACH_SMDK6410
Arnd Bergmann261592e2015-02-27 05:50:21 +0900239 depends on I2C=y
Russell Kingb1b3f492012-10-06 17:12:25 +0100240 select MFD_WM831X
241 select MFD_WM831X_I2C
Mark Brown60f91012010-02-17 18:19:29 +0000242 select REGULATOR
243 select REGULATOR_WM831X
Mark Brown60f91012010-02-17 18:19:29 +0000244 help
245 The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
246 daughtercard for the Samsung SMDK6410 reference platform.
247 Enabling this option will build support for this module into
248 the kernel. The presence of the daughtercard will be
Masanari Iida59bf8962012-04-18 00:01:21 +0900249 detected at runtime so the resulting kernel can be used
Mark Brown60f91012010-02-17 18:19:29 +0000250 with or without the 1192-EV1 fitted.
251
Kyungmin Park87c41222009-03-11 11:05:55 +0900252config MACH_NCP
253 bool "NCP"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100254 depends on ATAGS
Kyungmin Park87c41222009-03-11 11:05:55 +0900255 select CPU_S3C6410
Kyungmin Park87c41222009-03-11 11:05:55 +0900256 select S3C64XX_SETUP_I2C1
Russell Kingb1b3f492012-10-06 17:12:25 +0100257 select S3C_DEV_HSMMC1
258 select S3C_DEV_I2C1
Kyungmin Park87c41222009-03-11 11:05:55 +0900259 help
260 Machine support for the Samsung NCP
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200261
262config MACH_HMT
263 bool "Airgoo HMT"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100264 depends on ATAGS
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200265 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100266 select S3C64XX_SETUP_FB_24BPP
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200267 select S3C_DEV_FB
Ben Dooksd23b3512009-09-17 00:01:54 +0100268 select S3C_DEV_NAND
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200269 select S3C_DEV_USB_HOST
Banajit Goswami2ce30132011-02-28 22:24:51 +0530270 select SAMSUNG_DEV_PWM
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200271 help
272 Machine support for the Airgoo HMT
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200273
274config MACH_SMARTQ
275 bool
276 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100277 select S3C64XX_SETUP_FB_24BPP
278 select S3C64XX_SETUP_SDHCI
279 select S3C64XX_SETUP_USB_PHY
280 select S3C_DEV_FB
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200281 select S3C_DEV_HSMMC
282 select S3C_DEV_HSMMC1
283 select S3C_DEV_HSMMC2
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200284 select S3C_DEV_HWMON
285 select S3C_DEV_RTC
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200286 select S3C_DEV_USB_HOST
Russell Kingb1b3f492012-10-06 17:12:25 +0100287 select S3C_DEV_USB_HSOTG
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200288 select SAMSUNG_DEV_ADC
Banajit Goswami2ce30132011-02-28 22:24:51 +0530289 select SAMSUNG_DEV_PWM
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200290 select SAMSUNG_DEV_TS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200291 help
292 Shared machine support for SmartQ 5/7
293
294config MACH_SMARTQ5
295 bool "SmartQ 5"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100296 depends on ATAGS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200297 select MACH_SMARTQ
298 help
299 Machine support for the SmartQ 5
300
301config MACH_SMARTQ7
302 bool "SmartQ 7"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100303 depends on ATAGS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200304 select MACH_SMARTQ
305 help
306 Machine support for the SmartQ 7
Mark Browne1a3c742011-05-06 09:45:13 +0900307
308config MACH_WLF_CRAGG_6410
309 bool "Wolfson Cragganmore 6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100310 depends on ATAGS
Arnd Bergmann261592e2015-02-27 05:50:21 +0900311 depends on I2C=y
Mark Browne1a3c742011-05-06 09:45:13 +0900312 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100313 select LEDS_GPIO_REGISTER
314 select S3C64XX_DEV_SPI0
315 select S3C64XX_SETUP_FB_24BPP
Mark Browne1a3c742011-05-06 09:45:13 +0900316 select S3C64XX_SETUP_I2C1
317 select S3C64XX_SETUP_IDE
Mark Browne1a3c742011-05-06 09:45:13 +0900318 select S3C64XX_SETUP_KEYPAD
Russell Kingb1b3f492012-10-06 17:12:25 +0100319 select S3C64XX_SETUP_SDHCI
Padmavathi Venna7d38af512011-12-23 10:16:19 +0900320 select S3C64XX_SETUP_SPI
Joonyoung Shim99f6e1f2012-03-07 04:23:47 -0800321 select S3C64XX_SETUP_USB_PHY
Mark Brown5a7eb8e2012-11-20 20:13:58 +0900322 select S3C_DEV_FB
Mark Browne1a3c742011-05-06 09:45:13 +0900323 select S3C_DEV_HSMMC
324 select S3C_DEV_HSMMC1
325 select S3C_DEV_HSMMC2
326 select S3C_DEV_I2C1
Mark Browne1a3c742011-05-06 09:45:13 +0900327 select S3C_DEV_RTC
Russell Kingb1b3f492012-10-06 17:12:25 +0100328 select S3C_DEV_USB_HOST
329 select S3C_DEV_USB_HSOTG
330 select S3C_DEV_WDT
331 select SAMSUNG_DEV_ADC
332 select SAMSUNG_DEV_KEYPAD
Mark Brown5a7eb8e2012-11-20 20:13:58 +0900333 select SAMSUNG_DEV_PWM
Mark Browne1a3c742011-05-06 09:45:13 +0900334 help
335 Machine support for the Wolfson Cragganmore S3C6410 variant.
Tomasz Figad2193ce2013-10-06 08:58:40 +0900336
Tomasz Figa31e40012013-08-26 02:37:51 +0900337config MACH_S3C64XX_DT
338 bool "Samsung S3C6400/S3C6410 machine using Device Tree"
339 select CLKSRC_OF
340 select CPU_S3C6400
341 select CPU_S3C6410
342 select PINCTRL
343 select PINCTRL_S3C64XX
Tomasz Figa31e40012013-08-26 02:37:51 +0900344 help
345 Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
346 enabled.
347 Select this if a fdt blob is available for your S3C64XX SoC based
348 board.
349 Note: This is under development and not all peripherals can be
350 supported with this machine file.
Linus Torvaldsf9efbce2013-11-11 17:34:56 +0900351
Tomasz Figad2193ce2013-10-06 08:58:40 +0900352endif