| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # |
| 3 | # Copyright 2008 Openmoko, Inc. |
| 4 | # Simtec Electronics, Ben Dooks <ben@simtec.co.uk> |
| 5 | |
| 6 | menuconfig ARCH_S3C64XX |
| 7 | bool "Samsung S3C64XX" |
| 8 | depends on ARCH_MULTI_V6 |
| 9 | select ARM_AMBA |
| 10 | select ARM_VIC |
| 11 | select CLKSRC_SAMSUNG_PWM |
| 12 | select COMMON_CLK_SAMSUNG |
| 13 | select GPIO_SAMSUNG if ATAGS |
| 14 | select GPIOLIB |
| 15 | select HAVE_S3C2410_I2C if I2C |
| 16 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
| 17 | select HAVE_TCM |
| 18 | select PLAT_SAMSUNG |
| 19 | select PM_GENERIC_DOMAINS if PM |
| 20 | select S3C_DEV_NAND if ATAGS |
| 21 | select S3C_GPIO_TRACK if ATAGS |
| 22 | select SAMSUNG_ATAGS if ATAGS |
| 23 | select SAMSUNG_WAKEMASK if PM |
| 24 | select SAMSUNG_WDT_RESET |
| 25 | help |
| 26 | Samsung S3C64XX series based systems |
| 27 | |
| 28 | if ARCH_S3C64XX |
| 29 | |
| 30 | # Configuration options for the S3C6410 CPU |
| 31 | |
| 32 | config CPU_S3C6400 |
| 33 | bool |
| 34 | help |
| 35 | Enable S3C6400 CPU support |
| 36 | |
| 37 | config CPU_S3C6410 |
| 38 | bool |
| 39 | help |
| 40 | Enable S3C6410 CPU support |
| 41 | |
| 42 | config S3C64XX_PL080 |
| 43 | def_bool DMADEVICES |
| 44 | select AMBA_PL08X |
| 45 | |
| 46 | config S3C64XX_SETUP_SDHCI |
| 47 | bool |
| 48 | select S3C64XX_SETUP_SDHCI_GPIO |
| 49 | help |
| 50 | Internal configuration for default SDHCI setup for S3C6400 and |
| 51 | S3C6410 SoCs. |
| 52 | |
| 53 | config S3C64XX_DEV_ONENAND1 |
| 54 | bool |
| 55 | help |
| 56 | Compile in platform device definition for OneNAND1 controller |
| 57 | |
| 58 | config 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 | |
| 64 | # platform specific device setup |
| 65 | |
| 66 | config 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 | |
| 75 | config S3C64XX_SETUP_I2C1 |
| 76 | bool |
| 77 | help |
| 78 | Common setup code for i2c bus 1. |
| 79 | |
| 80 | config S3C64XX_SETUP_IDE |
| 81 | bool |
| 82 | help |
| 83 | Common setup code for S3C64XX IDE. |
| 84 | |
| 85 | config S3C64XX_SETUP_FB_24BPP |
| 86 | bool |
| 87 | help |
| 88 | Common setup code for S3C64XX with an 24bpp RGB display helper. |
| 89 | |
| 90 | config S3C64XX_SETUP_KEYPAD |
| 91 | bool |
| 92 | help |
| 93 | Common setup code for S3C64XX KEYPAD GPIO configurations |
| 94 | |
| 95 | config S3C64XX_SETUP_SDHCI_GPIO |
| 96 | bool |
| 97 | help |
| 98 | Common setup code for S3C64XX SDHCI GPIO configurations |
| 99 | |
| 100 | config S3C64XX_SETUP_SPI |
| 101 | bool |
| 102 | help |
| 103 | Common setup code for SPI GPIO configurations |
| 104 | |
| 105 | config S3C64XX_SETUP_USB_PHY |
| 106 | bool |
| 107 | help |
| 108 | Common setup code for USB PHY controller |
| 109 | |
| 110 | # S36400 Macchine support |
| 111 | |
| 112 | config MACH_SMDK6400 |
| 113 | bool "SMDK6400" |
| 114 | depends on ATAGS |
| 115 | select CPU_S3C6400 |
| 116 | select S3C64XX_SETUP_SDHCI |
| 117 | select S3C_DEV_HSMMC1 |
| 118 | help |
| 119 | Machine support for the Samsung SMDK6400 |
| 120 | |
| 121 | # S3C6410 machine support |
| 122 | |
| 123 | config MACH_ANW6410 |
| 124 | bool "A&W6410" |
| 125 | depends on ATAGS |
| 126 | select CPU_S3C6410 |
| 127 | select S3C64XX_SETUP_FB_24BPP |
| 128 | select S3C_DEV_FB |
| 129 | help |
| 130 | Machine support for the A&W6410 |
| 131 | |
| 132 | config MACH_MINI6410 |
| 133 | bool "MINI6410" |
| 134 | depends on ATAGS |
| 135 | select CPU_S3C6410 |
| 136 | select S3C64XX_SETUP_FB_24BPP |
| 137 | select S3C64XX_SETUP_SDHCI |
| 138 | select S3C_DEV_FB |
| 139 | select S3C_DEV_HSMMC |
| 140 | select S3C_DEV_HSMMC1 |
| 141 | select S3C_DEV_NAND |
| 142 | select S3C_DEV_USB_HOST |
| 143 | select SAMSUNG_DEV_ADC |
| 144 | select SAMSUNG_DEV_TS |
| 145 | help |
| 146 | Machine support for the FriendlyARM MINI6410 |
| 147 | |
| 148 | config MACH_REAL6410 |
| 149 | bool "REAL6410" |
| 150 | depends on ATAGS |
| 151 | select CPU_S3C6410 |
| 152 | select S3C64XX_SETUP_FB_24BPP |
| 153 | select S3C64XX_SETUP_SDHCI |
| 154 | select S3C_DEV_FB |
| 155 | select S3C_DEV_HSMMC |
| 156 | select S3C_DEV_HSMMC1 |
| 157 | select S3C_DEV_NAND |
| 158 | select S3C_DEV_USB_HOST |
| 159 | select SAMSUNG_DEV_ADC |
| 160 | select SAMSUNG_DEV_TS |
| 161 | help |
| 162 | Machine support for the CoreWind REAL6410 |
| 163 | |
| 164 | config MACH_SMDK6410 |
| 165 | bool "SMDK6410" |
| 166 | depends on ATAGS |
| 167 | select CPU_S3C6410 |
| 168 | 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 |
| 176 | select S3C_DEV_HSMMC |
| 177 | select S3C_DEV_HSMMC1 |
| 178 | select S3C_DEV_I2C1 |
| 179 | select S3C_DEV_RTC |
| 180 | select S3C_DEV_USB_HOST |
| 181 | select S3C_DEV_USB_HSOTG |
| 182 | select S3C_DEV_WDT |
| 183 | select SAMSUNG_DEV_ADC |
| 184 | select SAMSUNG_DEV_BACKLIGHT |
| 185 | select SAMSUNG_DEV_IDE |
| 186 | select SAMSUNG_DEV_KEYPAD |
| 187 | select SAMSUNG_DEV_PWM |
| 188 | select SAMSUNG_DEV_TS |
| 189 | help |
| 190 | Machine support for the Samsung SMDK6410 |
| 191 | |
| 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 | |
| 197 | choice |
| 198 | prompt "SMDK6410 MMC/SD slot setup" |
| 199 | depends on MACH_SMDK6410 |
| 200 | |
| 201 | config 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. |
| 209 | |
| 210 | config 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 | |
| 219 | endchoice |
| 220 | |
| 221 | config SMDK6410_WM1190_EV1 |
| 222 | bool "Support Wolfson Microelectronics 1190-EV1 PMIC card" |
| 223 | depends on MACH_SMDK6410 |
| 224 | depends on I2C=y |
| 225 | select MFD_WM8350_I2C |
| 226 | select REGULATOR |
| 227 | select REGULATOR_WM8350 |
| 228 | 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 |
| 233 | detected at runtime so the resulting kernel can be used |
| 234 | with or without the 1190-EV1 fitted. |
| 235 | |
| 236 | config SMDK6410_WM1192_EV1 |
| 237 | bool "Support Wolfson Microelectronics 1192-EV1 PMIC card" |
| 238 | depends on MACH_SMDK6410 |
| 239 | depends on I2C=y |
| 240 | select MFD_WM831X |
| 241 | select MFD_WM831X_I2C |
| 242 | select REGULATOR |
| 243 | select REGULATOR_WM831X |
| 244 | 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 |
| 249 | detected at runtime so the resulting kernel can be used |
| 250 | with or without the 1192-EV1 fitted. |
| 251 | |
| 252 | config MACH_NCP |
| 253 | bool "NCP" |
| 254 | depends on ATAGS |
| 255 | select CPU_S3C6410 |
| 256 | select S3C64XX_SETUP_I2C1 |
| 257 | select S3C_DEV_HSMMC1 |
| 258 | select S3C_DEV_I2C1 |
| 259 | help |
| 260 | Machine support for the Samsung NCP |
| 261 | |
| 262 | config MACH_HMT |
| 263 | bool "Airgoo HMT" |
| 264 | depends on ATAGS |
| 265 | select CPU_S3C6410 |
| 266 | select S3C64XX_SETUP_FB_24BPP |
| 267 | select S3C_DEV_FB |
| 268 | select S3C_DEV_NAND |
| 269 | select S3C_DEV_USB_HOST |
| 270 | select SAMSUNG_DEV_PWM |
| 271 | help |
| 272 | Machine support for the Airgoo HMT |
| 273 | |
| 274 | config MACH_SMARTQ |
| 275 | bool |
| 276 | select CPU_S3C6410 |
| 277 | select S3C64XX_SETUP_FB_24BPP |
| 278 | select S3C64XX_SETUP_SDHCI |
| 279 | select S3C64XX_SETUP_USB_PHY |
| 280 | select S3C_DEV_FB |
| 281 | select S3C_DEV_HSMMC |
| 282 | select S3C_DEV_HSMMC1 |
| 283 | select S3C_DEV_HSMMC2 |
| 284 | select S3C_DEV_HWMON |
| 285 | select S3C_DEV_RTC |
| 286 | select S3C_DEV_USB_HOST |
| 287 | select S3C_DEV_USB_HSOTG |
| 288 | select SAMSUNG_DEV_ADC |
| 289 | select SAMSUNG_DEV_PWM |
| 290 | select SAMSUNG_DEV_TS |
| 291 | help |
| 292 | Shared machine support for SmartQ 5/7 |
| 293 | |
| 294 | config MACH_SMARTQ5 |
| 295 | bool "SmartQ 5" |
| 296 | depends on ATAGS |
| 297 | select MACH_SMARTQ |
| 298 | help |
| 299 | Machine support for the SmartQ 5 |
| 300 | |
| 301 | config MACH_SMARTQ7 |
| 302 | bool "SmartQ 7" |
| 303 | depends on ATAGS |
| 304 | select MACH_SMARTQ |
| 305 | help |
| 306 | Machine support for the SmartQ 7 |
| 307 | |
| 308 | config MACH_WLF_CRAGG_6410 |
| 309 | bool "Wolfson Cragganmore 6410" |
| 310 | depends on ATAGS |
| 311 | depends on I2C=y |
| 312 | select CPU_S3C6410 |
| 313 | select LEDS_GPIO_REGISTER |
| 314 | select S3C64XX_DEV_SPI0 |
| 315 | select S3C64XX_SETUP_FB_24BPP |
| 316 | select S3C64XX_SETUP_I2C1 |
| 317 | select S3C64XX_SETUP_IDE |
| 318 | select S3C64XX_SETUP_KEYPAD |
| 319 | select S3C64XX_SETUP_SDHCI |
| 320 | select S3C64XX_SETUP_SPI |
| 321 | select S3C64XX_SETUP_USB_PHY |
| 322 | select S3C_DEV_FB |
| 323 | select S3C_DEV_HSMMC |
| 324 | select S3C_DEV_HSMMC1 |
| 325 | select S3C_DEV_HSMMC2 |
| 326 | select S3C_DEV_I2C1 |
| 327 | select S3C_DEV_RTC |
| 328 | 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 |
| 333 | select SAMSUNG_DEV_PWM |
| 334 | help |
| 335 | Machine support for the Wolfson Cragganmore S3C6410 variant. |
| 336 | |
| 337 | config MACH_S3C64XX_DT |
| 338 | bool "Samsung S3C6400/S3C6410 machine using Device Tree" |
| 339 | select TIMER_OF |
| 340 | select CPU_S3C6400 |
| 341 | select CPU_S3C6410 |
| 342 | select PINCTRL |
| 343 | select PINCTRL_S3C64XX |
| 344 | 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. |
| 351 | |
| 352 | endif |