blob: af01675d8769bdc124f469efc574231180da7a1d [file] [log] [blame]
Krzysztof Kozlowski28a196f2017-12-25 20:54:33 +01001# SPDX-License-Identifier: GPL-2.0
2#
Ben Dooksa08ab632008-10-21 14:06:39 +01003# Copyright 2008 Openmoko, Inc.
Ben Dooks431107e2010-01-26 10:11:04 +09004# Simtec Electronics, Ben Dooks <ben@simtec.co.uk>
Krzysztof Kozlowski28a196f2017-12-25 20:54:33 +01005
Arnd Bergmannaf37eec2014-07-07 14:25:15 +02006menuconfig ARCH_S3C64XX
Masahiro Yamada036a5cf2016-01-25 20:41:29 +09007 bool "Samsung S3C64XX"
8 depends on ARCH_MULTI_V6
Arnd Bergmannaf37eec2014-07-07 14:25:15 +02009 select ARM_AMBA
10 select ARM_VIC
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020011 select CLKSRC_SAMSUNG_PWM
12 select COMMON_CLK_SAMSUNG
Arnd Bergmannb2821042015-02-27 21:44:40 +010013 select GPIO_SAMSUNG if ATAGS
Linus Walleij5c34a4e2016-06-02 14:10:16 +020014 select GPIOLIB
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020015 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
Krzysztof Kozlowski8166c102020-08-04 21:26:48 +020020 select S3C2410_WATCHDOG
Arnd Bergmannb2821042015-02-27 21:44:40 +010021 select SAMSUNG_ATAGS if ATAGS
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020022 select SAMSUNG_WAKEMASK if PM
Krzysztof Kozlowski8166c102020-08-04 21:26:48 +020023 select WATCHDOG
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020024 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
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 Ch290d09832010-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 S3C64XX_SETUP_FB_24BPP
168 select S3C64XX_SETUP_I2C1
169 select S3C64XX_SETUP_IDE
170 select S3C64XX_SETUP_KEYPAD
171 select S3C64XX_SETUP_SDHCI
172 select S3C64XX_SETUP_USB_PHY
173 select S3C_DEV_FB
Ben Dooks5b323c72008-10-31 16:14:28 +0000174 select S3C_DEV_HSMMC
Ben Dooksb24636c2008-11-03 20:14:53 +0000175 select S3C_DEV_HSMMC1
Ben Dooksd7ea3742008-10-31 16:14:57 +0000176 select S3C_DEV_I2C1
Atul Dahiya9bbf4a62010-07-20 16:31:32 +0530177 select S3C_DEV_RTC
Ben Dooks98fd63b2009-03-06 19:49:49 +0000178 select S3C_DEV_USB_HOST
Ben Dooks06fa1d32009-05-16 22:11:20 +0100179 select S3C_DEV_USB_HSOTG
Banajit Goswamib351c4a2010-05-20 16:21:30 +0900180 select S3C_DEV_WDT
Russell Kingb1b3f492012-10-06 17:12:25 +0100181 select SAMSUNG_DEV_ADC
Banajit Goswami96d78682011-07-20 23:45:22 +0900182 select SAMSUNG_DEV_BACKLIGHT
Russell Kingb1b3f492012-10-06 17:12:25 +0100183 select SAMSUNG_DEV_IDE
Naveen Krishna Ch290d09832010-06-22 07:39:18 +0900184 select SAMSUNG_DEV_KEYPAD
Banajit Goswami075d1082011-02-28 17:42:35 +0530185 select SAMSUNG_DEV_PWM
Russell Kingb1b3f492012-10-06 17:12:25 +0100186 select SAMSUNG_DEV_TS
Ben Dooks5718df92008-10-21 14:07:09 +0100187 help
188 Machine support for the Samsung SMDK6410
Ben Dooksb24636c2008-11-03 20:14:53 +0000189
190# At least some of the SMDK6410s were shipped with the card detect
191# for the MMC/SD slots connected to the same input. This means that
192# either the boards need to be altered to have channel0 to an alternate
193# configuration or that only one slot can be used.
194
195choice
196 prompt "SMDK6410 MMC/SD slot setup"
197 depends on MACH_SMDK6410
198
199config SMDK6410_SD_CH0
200 bool "Use channel 0 only"
201 depends on MACH_SMDK6410
202 help
203 Select CON7 (channel 0) as the MMC/SD slot, as
204 at least some SMDK6410 boards come with the
205 resistors fitted so that the card detects for
206 channels 0 and 1 are the same.
Ben Dooks431107e2010-01-26 10:11:04 +0900207
Ben Dooksb24636c2008-11-03 20:14:53 +0000208config SMDK6410_SD_CH1
209 bool "Use channel 1 only"
210 depends on MACH_SMDK6410
211 help
212 Select CON6 (channel 1) as the MMC/SD slot, as
213 at least some SMDK6410 boards come with the
214 resistors fitted so that the card detects for
215 channels 0 and 1 are the same.
216
217endchoice
Mark Brownecc558a2009-02-17 15:59:38 +0000218
219config SMDK6410_WM1190_EV1
220 bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
221 depends on MACH_SMDK6410
Arnd Bergmann261592e2015-02-27 05:50:21 +0900222 depends on I2C=y
Russell Kingb1b3f492012-10-06 17:12:25 +0100223 select MFD_WM8350_I2C
Mark Brownecc558a2009-02-17 15:59:38 +0000224 select REGULATOR
225 select REGULATOR_WM8350
Mark Brownecc558a2009-02-17 15:59:38 +0000226 help
227 The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
228 and audio daughtercard for the Samsung SMDK6410 reference
229 platform. Enabling this option will build support for this
230 module into the kernel. The presence of the module will be
Masanari Iida59bf8962012-04-18 00:01:21 +0900231 detected at runtime so the resulting kernel can be used
Mark Brownecc558a2009-02-17 15:59:38 +0000232 with or without the 1190-EV1 fitted.
Kyungmin Park87c4122f2009-03-11 11:05:55 +0900233
Mark Brown60f91012010-02-17 18:19:29 +0000234config SMDK6410_WM1192_EV1
235 bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
236 depends on MACH_SMDK6410
Arnd Bergmann261592e2015-02-27 05:50:21 +0900237 depends on I2C=y
Russell Kingb1b3f492012-10-06 17:12:25 +0100238 select MFD_WM831X
239 select MFD_WM831X_I2C
Mark Brown60f91012010-02-17 18:19:29 +0000240 select REGULATOR
241 select REGULATOR_WM831X
Mark Brown60f91012010-02-17 18:19:29 +0000242 help
243 The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
244 daughtercard for the Samsung SMDK6410 reference platform.
245 Enabling this option will build support for this module into
246 the kernel. The presence of the daughtercard will be
Masanari Iida59bf8962012-04-18 00:01:21 +0900247 detected at runtime so the resulting kernel can be used
Mark Brown60f91012010-02-17 18:19:29 +0000248 with or without the 1192-EV1 fitted.
249
Kyungmin Park87c4122f2009-03-11 11:05:55 +0900250config MACH_NCP
251 bool "NCP"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100252 depends on ATAGS
Kyungmin Park87c4122f2009-03-11 11:05:55 +0900253 select CPU_S3C6410
Kyungmin Park87c4122f2009-03-11 11:05:55 +0900254 select S3C64XX_SETUP_I2C1
Russell Kingb1b3f492012-10-06 17:12:25 +0100255 select S3C_DEV_HSMMC1
256 select S3C_DEV_I2C1
Kyungmin Park87c4122f2009-03-11 11:05:55 +0900257 help
258 Machine support for the Samsung NCP
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200259
260config MACH_HMT
261 bool "Airgoo HMT"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100262 depends on ATAGS
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200263 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100264 select S3C64XX_SETUP_FB_24BPP
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200265 select S3C_DEV_FB
Ben Dooksd23b3512009-09-17 00:01:54 +0100266 select S3C_DEV_NAND
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200267 select S3C_DEV_USB_HOST
Banajit Goswami2ce30132011-02-28 22:24:51 +0530268 select SAMSUNG_DEV_PWM
Peter Korsgaard2896bda2009-07-01 17:47:09 +0200269 help
270 Machine support for the Airgoo HMT
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200271
272config MACH_SMARTQ
273 bool
274 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100275 select S3C64XX_SETUP_FB_24BPP
276 select S3C64XX_SETUP_SDHCI
277 select S3C64XX_SETUP_USB_PHY
278 select S3C_DEV_FB
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200279 select S3C_DEV_HSMMC
280 select S3C_DEV_HSMMC1
281 select S3C_DEV_HSMMC2
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200282 select S3C_DEV_HWMON
283 select S3C_DEV_RTC
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200284 select S3C_DEV_USB_HOST
Russell Kingb1b3f492012-10-06 17:12:25 +0100285 select S3C_DEV_USB_HSOTG
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200286 select SAMSUNG_DEV_ADC
Banajit Goswami2ce30132011-02-28 22:24:51 +0530287 select SAMSUNG_DEV_PWM
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200288 select SAMSUNG_DEV_TS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200289 help
290 Shared machine support for SmartQ 5/7
291
292config MACH_SMARTQ5
293 bool "SmartQ 5"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100294 depends on ATAGS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200295 select MACH_SMARTQ
296 help
297 Machine support for the SmartQ 5
298
299config MACH_SMARTQ7
300 bool "SmartQ 7"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100301 depends on ATAGS
Maurus Cuelenaerea2f7bff2010-05-20 11:35:50 +0200302 select MACH_SMARTQ
303 help
304 Machine support for the SmartQ 7
Mark Browne1a3c742011-05-06 09:45:13 +0900305
306config MACH_WLF_CRAGG_6410
307 bool "Wolfson Cragganmore 6410"
Arnd Bergmannb2821042015-02-27 21:44:40 +0100308 depends on ATAGS
Arnd Bergmann261592e2015-02-27 05:50:21 +0900309 depends on I2C=y
Mark Browne1a3c742011-05-06 09:45:13 +0900310 select CPU_S3C6410
Russell Kingb1b3f492012-10-06 17:12:25 +0100311 select LEDS_GPIO_REGISTER
312 select S3C64XX_DEV_SPI0
313 select S3C64XX_SETUP_FB_24BPP
Mark Browne1a3c742011-05-06 09:45:13 +0900314 select S3C64XX_SETUP_I2C1
315 select S3C64XX_SETUP_IDE
Mark Browne1a3c742011-05-06 09:45:13 +0900316 select S3C64XX_SETUP_KEYPAD
Russell Kingb1b3f492012-10-06 17:12:25 +0100317 select S3C64XX_SETUP_SDHCI
Padmavathi Venna7d38af52011-12-23 10:16:19 +0900318 select S3C64XX_SETUP_SPI
Joonyoung Shim99f6e1f2012-03-07 04:23:47 -0800319 select S3C64XX_SETUP_USB_PHY
Mark Brown5a7eb8e2012-11-20 20:13:58 +0900320 select S3C_DEV_FB
Mark Browne1a3c742011-05-06 09:45:13 +0900321 select S3C_DEV_HSMMC
322 select S3C_DEV_HSMMC1
323 select S3C_DEV_HSMMC2
324 select S3C_DEV_I2C1
Mark Browne1a3c742011-05-06 09:45:13 +0900325 select S3C_DEV_RTC
Russell Kingb1b3f492012-10-06 17:12:25 +0100326 select S3C_DEV_USB_HOST
327 select S3C_DEV_USB_HSOTG
328 select S3C_DEV_WDT
329 select SAMSUNG_DEV_ADC
330 select SAMSUNG_DEV_KEYPAD
Mark Brown5a7eb8e2012-11-20 20:13:58 +0900331 select SAMSUNG_DEV_PWM
Mark Browne1a3c742011-05-06 09:45:13 +0900332 help
333 Machine support for the Wolfson Cragganmore S3C6410 variant.
Tomasz Figad2193ce2013-10-06 08:58:40 +0900334
Tomasz Figa31e40012013-08-26 02:37:51 +0900335config MACH_S3C64XX_DT
336 bool "Samsung S3C6400/S3C6410 machine using Device Tree"
Tomasz Figa31e40012013-08-26 02:37:51 +0900337 select CPU_S3C6400
338 select CPU_S3C6410
339 select PINCTRL
340 select PINCTRL_S3C64XX
Tomasz Figa31e40012013-08-26 02:37:51 +0900341 help
342 Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
343 enabled.
344 Select this if a fdt blob is available for your S3C64XX SoC based
345 board.
346 Note: This is under development and not all peripherals can be
347 supported with this machine file.
Linus Torvaldsf9efbce2013-11-11 17:34:56 +0900348
Tomasz Figad2193ce2013-10-06 08:58:40 +0900349endif