hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
# SPDX-License-Identifier: GPL-2.0
#
# Copyright 2008 Openmoko, Inc.
#    Simtec Electronics, Ben Dooks <ben@simtec.co.uk>
 
menuconfig ARCH_S3C64XX
   bool "Samsung S3C64XX"
   depends on ARCH_MULTI_V6
   select ARM_AMBA
   select ARM_VIC
   select CLKSRC_SAMSUNG_PWM
   select COMMON_CLK_SAMSUNG
   select GPIO_SAMSUNG if ATAGS
   select GPIOLIB
   select HAVE_S3C2410_I2C if I2C
   select HAVE_TCM
   select PLAT_SAMSUNG
   select PM_GENERIC_DOMAINS if PM
   select S3C_DEV_NAND if ATAGS
   select S3C_GPIO_TRACK if ATAGS
   select S3C2410_WATCHDOG
   select SAMSUNG_ATAGS if ATAGS
   select SAMSUNG_WAKEMASK if PM
   select WATCHDOG
   help
     Samsung S3C64XX series based systems
 
if ARCH_S3C64XX
 
# Configuration options for the S3C6410 CPU
 
config CPU_S3C6400
   bool
   help
     Enable S3C6400 CPU support
 
config CPU_S3C6410
   bool
   help
     Enable S3C6410 CPU support
 
config S3C64XX_PL080
   def_bool DMADEVICES
   select AMBA_PL08X
 
config S3C64XX_SETUP_SDHCI
   bool
   select S3C64XX_SETUP_SDHCI_GPIO
   help
     Internal configuration for default SDHCI setup for S3C6400 and
     S3C6410 SoCs.
 
config S3C64XX_DEV_ONENAND1
   bool
   help
     Compile in platform device definition for OneNAND1 controller
 
config SAMSUNG_DEV_BACKLIGHT
   bool
   depends on SAMSUNG_DEV_PWM
   help
     Compile in platform device definition LCD backlight with PWM Timer
 
# platform specific device setup
 
config S3C64XX_SETUP_I2C0
   bool
   default y
   help
     Common setup code for i2c bus 0.
 
     Note, currently since i2c0 is always compiled, this setup helper
     is always compiled with it.
 
config S3C64XX_SETUP_I2C1
   bool
   help
     Common setup code for i2c bus 1.
 
config S3C64XX_SETUP_IDE
   bool
   help
     Common setup code for S3C64XX IDE.
 
config S3C64XX_SETUP_FB_24BPP
   bool
   help
     Common setup code for S3C64XX with an 24bpp RGB display helper.
 
config S3C64XX_SETUP_KEYPAD
   bool
   help
     Common setup code for S3C64XX KEYPAD GPIO configurations
 
config S3C64XX_SETUP_SDHCI_GPIO
   bool
   help
     Common setup code for S3C64XX SDHCI GPIO configurations
 
config S3C64XX_SETUP_SPI
   bool
   help
    Common setup code for SPI GPIO configurations
 
config S3C64XX_SETUP_USB_PHY
   bool
   help
     Common setup code for USB PHY controller
 
# S36400 Macchine support
 
config MACH_SMDK6400
       bool "SMDK6400"
   depends on ATAGS
   select CPU_S3C6400
   select S3C64XX_SETUP_SDHCI
   select S3C_DEV_HSMMC1
   help
     Machine support for the Samsung SMDK6400
 
# S3C6410 machine support
 
config MACH_ANW6410
   bool "A&W6410"
   depends on ATAGS
   select CPU_S3C6410
   select S3C64XX_SETUP_FB_24BPP
   select S3C_DEV_FB
   help
     Machine support for the A&W6410
 
config MACH_MINI6410
   bool "MINI6410"
   depends on ATAGS
   select CPU_S3C6410
   select S3C64XX_SETUP_FB_24BPP
   select S3C64XX_SETUP_SDHCI
   select S3C_DEV_FB
   select S3C_DEV_HSMMC
   select S3C_DEV_HSMMC1
   select S3C_DEV_NAND
   select S3C_DEV_USB_HOST
   select SAMSUNG_DEV_ADC
   select SAMSUNG_DEV_TS
   help
     Machine support for the FriendlyARM MINI6410
 
config MACH_REAL6410
   bool "REAL6410"
   depends on ATAGS
   select CPU_S3C6410
   select S3C64XX_SETUP_FB_24BPP
   select S3C64XX_SETUP_SDHCI
   select S3C_DEV_FB
   select S3C_DEV_HSMMC
   select S3C_DEV_HSMMC1
   select S3C_DEV_NAND
   select S3C_DEV_USB_HOST
   select SAMSUNG_DEV_ADC
   select SAMSUNG_DEV_TS
   help
     Machine support for the CoreWind REAL6410
 
config MACH_SMDK6410
   bool "SMDK6410"
   depends on ATAGS
   select CPU_S3C6410
   select S3C64XX_SETUP_FB_24BPP
   select S3C64XX_SETUP_I2C1
   select S3C64XX_SETUP_IDE
   select S3C64XX_SETUP_KEYPAD
   select S3C64XX_SETUP_SDHCI
   select S3C64XX_SETUP_USB_PHY
   select S3C_DEV_FB
   select S3C_DEV_HSMMC
   select S3C_DEV_HSMMC1
   select S3C_DEV_I2C1
   select S3C_DEV_RTC
   select S3C_DEV_USB_HOST
   select S3C_DEV_USB_HSOTG
   select S3C_DEV_WDT
   select SAMSUNG_DEV_ADC
   select SAMSUNG_DEV_BACKLIGHT
   select SAMSUNG_DEV_IDE
   select SAMSUNG_DEV_KEYPAD
   select SAMSUNG_DEV_PWM
   select SAMSUNG_DEV_TS
   help
     Machine support for the Samsung SMDK6410
 
# At least some of the SMDK6410s were shipped with the card detect
# for the MMC/SD slots connected to the same input. This means that
# either the boards need to be altered to have channel0 to an alternate
# configuration or that only one slot can be used.
 
choice
   prompt "SMDK6410 MMC/SD slot setup"
   depends on MACH_SMDK6410
 
config SMDK6410_SD_CH0
   bool "Use channel 0 only"
   depends on MACH_SMDK6410
   help
          Select CON7 (channel 0) as the MMC/SD slot, as
     at least some SMDK6410 boards come with the
     resistors fitted so that the card detects for
     channels 0 and 1 are the same.
 
config SMDK6410_SD_CH1
   bool "Use channel 1 only"
   depends on MACH_SMDK6410
   help
          Select CON6 (channel 1) as the MMC/SD slot, as
     at least some SMDK6410 boards come with the
     resistors fitted so that the card detects for
     channels 0 and 1 are the same.
 
endchoice
 
config SMDK6410_WM1190_EV1
   bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
   depends on MACH_SMDK6410
   depends on I2C=y
   select MFD_WM8350_I2C
   select REGULATOR
   select REGULATOR_WM8350
   help
     The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
     and audio daughtercard for the Samsung SMDK6410 reference
     platform.  Enabling this option will build support for this
     module into the kernel.  The presence of the module will be
     detected at runtime so the resulting kernel can be used
     with or without the 1190-EV1 fitted.
 
config SMDK6410_WM1192_EV1
   bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
   depends on MACH_SMDK6410
   depends on I2C=y
   select MFD_WM831X
   select MFD_WM831X_I2C
   select REGULATOR
   select REGULATOR_WM831X
   help
     The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
     daughtercard for the Samsung SMDK6410 reference platform.
     Enabling this option will build support for this module into
     the kernel.  The presence of the daughtercard will be
     detected at runtime so the resulting kernel can be used
     with or without the 1192-EV1 fitted.
 
config MACH_NCP
   bool "NCP"
   depends on ATAGS
   select CPU_S3C6410
   select S3C64XX_SETUP_I2C1
   select S3C_DEV_HSMMC1
   select S3C_DEV_I2C1
   help
          Machine support for the Samsung NCP
 
config MACH_HMT
   bool "Airgoo HMT"
   depends on ATAGS
   select CPU_S3C6410
   select S3C64XX_SETUP_FB_24BPP
   select S3C_DEV_FB
   select S3C_DEV_NAND
   select S3C_DEV_USB_HOST
   select SAMSUNG_DEV_PWM
   help
     Machine support for the Airgoo HMT
 
config MACH_SMARTQ
   bool
   select CPU_S3C6410
   select S3C64XX_SETUP_FB_24BPP
   select S3C64XX_SETUP_SDHCI
   select S3C64XX_SETUP_USB_PHY
   select S3C_DEV_FB
   select S3C_DEV_HSMMC
   select S3C_DEV_HSMMC1
   select S3C_DEV_HSMMC2
   select S3C_DEV_HWMON
   select S3C_DEV_RTC
   select S3C_DEV_USB_HOST
   select S3C_DEV_USB_HSOTG
   select SAMSUNG_DEV_ADC
   select SAMSUNG_DEV_PWM
   select SAMSUNG_DEV_TS
   help
       Shared machine support for SmartQ 5/7
 
config MACH_SMARTQ5
   bool "SmartQ 5"
   depends on ATAGS
   select MACH_SMARTQ
   help
       Machine support for the SmartQ 5
 
config MACH_SMARTQ7
   bool "SmartQ 7"
   depends on ATAGS
   select MACH_SMARTQ
   help
       Machine support for the SmartQ 7
 
config MACH_WLF_CRAGG_6410
   bool "Wolfson Cragganmore 6410"
   depends on ATAGS
   depends on I2C=y
   select CPU_S3C6410
   select LEDS_GPIO_REGISTER
   select S3C64XX_DEV_SPI0
   select S3C64XX_SETUP_FB_24BPP
   select S3C64XX_SETUP_I2C1
   select S3C64XX_SETUP_IDE
   select S3C64XX_SETUP_KEYPAD
   select S3C64XX_SETUP_SDHCI
   select S3C64XX_SETUP_SPI
   select S3C64XX_SETUP_USB_PHY
   select S3C_DEV_FB
   select S3C_DEV_HSMMC
   select S3C_DEV_HSMMC1
   select S3C_DEV_HSMMC2
   select S3C_DEV_I2C1
   select S3C_DEV_RTC
   select S3C_DEV_USB_HOST
   select S3C_DEV_USB_HSOTG
   select S3C_DEV_WDT
   select SAMSUNG_DEV_ADC
   select SAMSUNG_DEV_KEYPAD
   select SAMSUNG_DEV_PWM
   help
     Machine support for the Wolfson Cragganmore S3C6410 variant.
 
config MACH_S3C64XX_DT
   bool "Samsung S3C6400/S3C6410 machine using Device Tree"
   select CPU_S3C6400
   select CPU_S3C6410
   select PINCTRL
   select PINCTRL_S3C64XX
   help
     Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
     enabled.
     Select this if a fdt blob is available for your S3C64XX SoC based
     board.
     Note: This is under development and not all peripherals can be
     supported with this machine file.
 
endif