1menuconfig ARCH_MXC 2 bool "Freescale i.MX family" 3 depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M 4 select ARCH_SUPPORTS_BIG_ENDIAN 5 select CLKSRC_IMX_GPT 6 select GENERIC_IRQ_CHIP 7 select GPIOLIB 8 select PINCTRL 9 select PM_OPP if PM 10 select SOC_BUS 11 select SRAM 12 help 13 Support for Freescale MXC/iMX-based family of processors 14 15if ARCH_MXC 16 17config MXC_TZIC 18 bool 19 20config MXC_AVIC 21 bool 22 23config MXC_DEBUG_BOARD 24 bool "Enable MXC debug board(for 3-stack)" 25 depends on MACH_MX27_3DS || MACH_MX31_3DS || MACH_MX35_3DS 26 help 27 The debug board is an integral part of the MXC 3-stack(PDK) 28 platforms, it can be attached or removed from the peripheral 29 board. On debug board, several debug devices(ethernet, UART, 30 buttons, LEDs and JTAG) are implemented. Between the MCU and 31 these devices, a CPLD is added as a bridge which performs 32 data/address de-multiplexing and decode, signal level shift, 33 interrupt control and various board functions. 34 35config HAVE_EPIT 36 bool 37 38config MXC_USE_EPIT 39 bool "Use EPIT instead of GPT" 40 depends on HAVE_EPIT 41 help 42 Use EPIT as the system timer on systems that have it. Normally you 43 don't have a reason to do so as the EPIT has the same features and 44 uses the same clocks as the GPT. Anyway, on some systems the GPT 45 may be in use for other purposes. 46 47config HAVE_IMX_ANATOP 48 bool 49 50config HAVE_IMX_GPC 51 bool 52 select PM_GENERIC_DOMAINS if PM 53 54config HAVE_IMX_MMDC 55 bool 56 57config HAVE_IMX_SRC 58 def_bool y if SMP 59 select ARCH_HAS_RESET_CONTROLLER 60 61config IMX_HAVE_IOMUX_V1 62 bool 63 64config ARCH_MXC_IOMUX_V3 65 bool 66 67config SOC_IMX21 68 bool 69 select CPU_ARM926T 70 select IMX_HAVE_IOMUX_V1 71 select MXC_AVIC 72 73config SOC_IMX27 74 bool 75 select CPU_ARM926T 76 select IMX_HAVE_IOMUX_V1 77 select MXC_AVIC 78 select PINCTRL_IMX27 79 80config SOC_IMX31 81 bool 82 select CPU_V6 83 select MXC_AVIC 84 85config SOC_IMX35 86 bool 87 select ARCH_MXC_IOMUX_V3 88 select HAVE_EPIT 89 select MXC_AVIC 90 select PINCTRL_IMX35 91 92if ARCH_MULTI_V5 93 94comment "MX21 platforms:" 95 96config MACH_MX21ADS 97 bool "MX21ADS platform" 98 select IMX_HAVE_PLATFORM_IMX_FB 99 select IMX_HAVE_PLATFORM_IMX_UART 100 select IMX_HAVE_PLATFORM_MXC_MMC 101 select IMX_HAVE_PLATFORM_MXC_NAND 102 select SOC_IMX21 103 help 104 Include support for MX21ADS platform. This includes specific 105 configurations for the board and its peripherals. 106 107comment "MX27 platforms:" 108 109config MACH_MX27ADS 110 bool "MX27ADS platform" 111 select IMX_HAVE_PLATFORM_IMX_FB 112 select IMX_HAVE_PLATFORM_IMX_I2C 113 select IMX_HAVE_PLATFORM_IMX_UART 114 select IMX_HAVE_PLATFORM_MXC_MMC 115 select IMX_HAVE_PLATFORM_MXC_NAND 116 select IMX_HAVE_PLATFORM_MXC_W1 117 select SOC_IMX27 118 help 119 Include support for MX27ADS platform. This includes specific 120 configurations for the board and its peripherals. 121 122config MACH_MX27_3DS 123 bool "MX27PDK platform" 124 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 125 select IMX_HAVE_PLATFORM_IMX2_WDT 126 select IMX_HAVE_PLATFORM_IMX_FB 127 select IMX_HAVE_PLATFORM_IMX_I2C 128 select IMX_HAVE_PLATFORM_IMX_KEYPAD 129 select IMX_HAVE_PLATFORM_IMX_SSI 130 select IMX_HAVE_PLATFORM_IMX_UART 131 select IMX_HAVE_PLATFORM_MX2_CAMERA 132 select IMX_HAVE_PLATFORM_MXC_EHCI 133 select IMX_HAVE_PLATFORM_MXC_MMC 134 select IMX_HAVE_PLATFORM_SPI_IMX 135 select MXC_DEBUG_BOARD 136 select USB_ULPI_VIEWPORT if USB_ULPI 137 select SOC_IMX27 138 help 139 Include support for MX27PDK platform. This includes specific 140 configurations for the board and its peripherals. 141 142config MACH_IMX27_VISSTRIM_M10 143 bool "Vista Silicon i.MX27 Visstrim_m10" 144 select IMX_HAVE_PLATFORM_GPIO_KEYS 145 select IMX_HAVE_PLATFORM_IMX_I2C 146 select IMX_HAVE_PLATFORM_IMX_SSI 147 select IMX_HAVE_PLATFORM_IMX_UART 148 select IMX_HAVE_PLATFORM_MX2_CAMERA 149 select IMX_HAVE_PLATFORM_MX2_EMMA 150 select IMX_HAVE_PLATFORM_MXC_EHCI 151 select IMX_HAVE_PLATFORM_MXC_MMC 152 select LEDS_GPIO_REGISTER 153 select SOC_IMX27 154 help 155 Include support for Visstrim_m10 platform and its different variants. 156 This includes specific configurations for the board and its 157 peripherals. 158 159config MACH_PCA100 160 bool "Phytec phyCARD-s (pca100)" 161 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 162 select IMX_HAVE_PLATFORM_IMX2_WDT 163 select IMX_HAVE_PLATFORM_IMX_FB 164 select IMX_HAVE_PLATFORM_IMX_I2C 165 select IMX_HAVE_PLATFORM_IMX_SSI 166 select IMX_HAVE_PLATFORM_IMX_UART 167 select IMX_HAVE_PLATFORM_MXC_EHCI 168 select IMX_HAVE_PLATFORM_MXC_MMC 169 select IMX_HAVE_PLATFORM_MXC_NAND 170 select IMX_HAVE_PLATFORM_MXC_W1 171 select IMX_HAVE_PLATFORM_SPI_IMX 172 select USB_ULPI_VIEWPORT if USB_ULPI 173 select SOC_IMX27 174 help 175 Include support for phyCARD-s (aka pca100) platform. This 176 includes specific configurations for the module and its peripherals. 177 178config MACH_IMX27_DT 179 bool "Support i.MX27 platforms from device tree" 180 select SOC_IMX27 181 help 182 Include support for Freescale i.MX27 based platforms 183 using the device tree for discovery 184 185endif 186 187if ARCH_MULTI_V6 188 189comment "MX31 platforms:" 190 191config MACH_MX31ADS 192 bool "Support MX31ADS platforms" 193 default y 194 select IMX_HAVE_PLATFORM_IMX_I2C 195 select IMX_HAVE_PLATFORM_IMX_SSI 196 select IMX_HAVE_PLATFORM_IMX_UART 197 select SOC_IMX31 198 help 199 Include support for MX31ADS platform. This includes specific 200 configurations for the board and its peripherals. 201 202config MACH_MX31ADS_WM1133_EV1 203 bool "Support Wolfson Microelectronics 1133-EV1 module" 204 depends on MACH_MX31ADS 205 depends on MFD_WM8350_I2C 206 depends on REGULATOR_WM8350 = y 207 help 208 Include support for the Wolfson Microelectronics 1133-EV1 PMU 209 and audio module for the MX31ADS platform. 210 211config MACH_MX31LILLY 212 bool "Support MX31 LILLY-1131 platforms (INCO startec)" 213 select IMX_HAVE_PLATFORM_IMX_UART 214 select IMX_HAVE_PLATFORM_IPU_CORE 215 select IMX_HAVE_PLATFORM_MXC_EHCI 216 select IMX_HAVE_PLATFORM_MXC_MMC 217 select IMX_HAVE_PLATFORM_SPI_IMX 218 select USB_ULPI_VIEWPORT if USB_ULPI 219 select SOC_IMX31 220 help 221 Include support for mx31 based LILLY1131 modules. This includes 222 specific configurations for the board and its peripherals. 223 224config MACH_MX31LITE 225 bool "Support MX31 LITEKIT (LogicPD)" 226 select IMX_HAVE_PLATFORM_IMX2_WDT 227 select IMX_HAVE_PLATFORM_IMX_UART 228 select IMX_HAVE_PLATFORM_MXC_EHCI 229 select IMX_HAVE_PLATFORM_MXC_MMC 230 select IMX_HAVE_PLATFORM_MXC_NAND 231 select IMX_HAVE_PLATFORM_MXC_RTC 232 select IMX_HAVE_PLATFORM_SPI_IMX 233 select LEDS_GPIO_REGISTER 234 select USB_ULPI_VIEWPORT if USB_ULPI 235 select SOC_IMX31 236 help 237 Include support for MX31 LITEKIT platform. This includes specific 238 configurations for the board and its peripherals. 239 240config MACH_PCM037 241 bool "Support Phytec pcm037 (i.MX31) platforms" 242 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 243 select IMX_HAVE_PLATFORM_IMX2_WDT 244 select IMX_HAVE_PLATFORM_IMX_I2C 245 select IMX_HAVE_PLATFORM_IMX_UART 246 select IMX_HAVE_PLATFORM_IPU_CORE 247 select IMX_HAVE_PLATFORM_MXC_EHCI 248 select IMX_HAVE_PLATFORM_MXC_MMC 249 select IMX_HAVE_PLATFORM_MXC_NAND 250 select IMX_HAVE_PLATFORM_MXC_W1 251 select USB_ULPI_VIEWPORT if USB_ULPI 252 select SOC_IMX31 253 help 254 Include support for Phytec pcm037 platform. This includes 255 specific configurations for the board and its peripherals. 256 257config MACH_PCM037_EET 258 bool "Support pcm037 EET board extensions" 259 depends on MACH_PCM037 260 select IMX_HAVE_PLATFORM_GPIO_KEYS 261 select IMX_HAVE_PLATFORM_SPI_IMX 262 help 263 Add support for PCM037 EET baseboard extensions. If you are using the 264 OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel 265 command-line parameter. 266 267config MACH_MX31_3DS 268 bool "Support MX31PDK (3DS)" 269 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 270 select IMX_HAVE_PLATFORM_IMX2_WDT 271 select IMX_HAVE_PLATFORM_IMX_I2C 272 select IMX_HAVE_PLATFORM_IMX_KEYPAD 273 select IMX_HAVE_PLATFORM_IMX_SSI 274 select IMX_HAVE_PLATFORM_IMX_UART 275 select IMX_HAVE_PLATFORM_IPU_CORE 276 select IMX_HAVE_PLATFORM_MXC_EHCI 277 select IMX_HAVE_PLATFORM_MXC_MMC 278 select IMX_HAVE_PLATFORM_MXC_NAND 279 select IMX_HAVE_PLATFORM_SPI_IMX 280 select MXC_DEBUG_BOARD 281 select USB_ULPI_VIEWPORT if USB_ULPI 282 select SOC_IMX31 283 help 284 Include support for MX31PDK (3DS) platform. This includes specific 285 configurations for the board and its peripherals. 286 287config MACH_MX31_3DS_MXC_NAND_USE_BBT 288 bool "Make the MXC NAND driver use the in flash Bad Block Table" 289 depends on MACH_MX31_3DS 290 depends on MTD_NAND_MXC 291 help 292 Enable this if you want that the MXC NAND driver uses the in flash 293 Bad Block Table to know what blocks are bad instead of scanning the 294 entire flash looking for bad block markers. 295 296config MACH_MX31MOBOARD 297 bool "Support mx31moboard platforms (EPFL Mobots group)" 298 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 299 select IMX_HAVE_PLATFORM_IMX2_WDT 300 select IMX_HAVE_PLATFORM_IMX_I2C 301 select IMX_HAVE_PLATFORM_IMX_SSI 302 select IMX_HAVE_PLATFORM_IMX_UART 303 select IMX_HAVE_PLATFORM_IPU_CORE 304 select IMX_HAVE_PLATFORM_MXC_EHCI 305 select IMX_HAVE_PLATFORM_MXC_MMC 306 select IMX_HAVE_PLATFORM_SPI_IMX 307 select LEDS_GPIO_REGISTER 308 select USB_ULPI_VIEWPORT if USB_ULPI 309 select SOC_IMX31 310 help 311 Include support for mx31moboard platform. This includes specific 312 configurations for the board and its peripherals. 313 314config MACH_QONG 315 bool "Support Dave/DENX QongEVB-LITE platform" 316 select IMX_HAVE_PLATFORM_IMX2_WDT 317 select IMX_HAVE_PLATFORM_IMX_UART 318 select SOC_IMX31 319 help 320 Include support for Dave/DENX QongEVB-LITE platform. This includes 321 specific configurations for the board and its peripherals. 322 323config MACH_ARMADILLO5X0 324 bool "Support Atmark Armadillo-500 Development Base Board" 325 select IMX_HAVE_PLATFORM_GPIO_KEYS 326 select IMX_HAVE_PLATFORM_IMX_I2C 327 select IMX_HAVE_PLATFORM_IMX_UART 328 select IMX_HAVE_PLATFORM_IPU_CORE 329 select IMX_HAVE_PLATFORM_MXC_EHCI 330 select IMX_HAVE_PLATFORM_MXC_MMC 331 select IMX_HAVE_PLATFORM_MXC_NAND 332 select USB_ULPI_VIEWPORT if USB_ULPI 333 select SOC_IMX31 334 help 335 Include support for Atmark Armadillo-500 platform. This includes 336 specific configurations for the board and its peripherals. 337 338config MACH_KZM_ARM11_01 339 bool "Support KZM-ARM11-01(Kyoto Microcomputer)" 340 select IMX_HAVE_PLATFORM_IMX_UART 341 select SOC_IMX31 342 help 343 Include support for KZM-ARM11-01. This includes specific 344 configurations for the board and its peripherals. 345 346config MACH_BUG 347 bool "Support Buglabs BUGBase platform" 348 default y 349 select IMX_HAVE_PLATFORM_IMX_UART 350 select SOC_IMX31 351 help 352 Include support for BUGBase 1.3 platform. This includes specific 353 configurations for the board and its peripherals. 354 355config MACH_IMX31_DT 356 bool "Support i.MX31 platforms from device tree" 357 select SOC_IMX31 358 help 359 Include support for Freescale i.MX31 based platforms 360 using the device tree for discovery. 361 362comment "MX35 platforms:" 363 364config MACH_IMX35_DT 365 bool "Support i.MX35 platforms from device tree" 366 select SOC_IMX35 367 help 368 Include support for Freescale i.MX35 based platforms 369 using the device tree for discovery. 370 371config MACH_PCM043 372 bool "Support Phytec pcm043 (i.MX35) platforms" 373 select IMX_HAVE_PLATFORM_FLEXCAN 374 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 375 select IMX_HAVE_PLATFORM_IMX2_WDT 376 select IMX_HAVE_PLATFORM_IMX_I2C 377 select IMX_HAVE_PLATFORM_IMX_SSI 378 select IMX_HAVE_PLATFORM_IMX_UART 379 select IMX_HAVE_PLATFORM_IPU_CORE 380 select IMX_HAVE_PLATFORM_MXC_EHCI 381 select IMX_HAVE_PLATFORM_MXC_NAND 382 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX 383 select USB_ULPI_VIEWPORT if USB_ULPI 384 select SOC_IMX35 385 help 386 Include support for Phytec pcm043 platform. This includes 387 specific configurations for the board and its peripherals. 388 389config MACH_MX35_3DS 390 bool "Support MX35PDK platform" 391 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 392 select IMX_HAVE_PLATFORM_IMX2_WDT 393 select IMX_HAVE_PLATFORM_IMX_FB 394 select IMX_HAVE_PLATFORM_IMX_I2C 395 select IMX_HAVE_PLATFORM_IMX_UART 396 select IMX_HAVE_PLATFORM_IPU_CORE 397 select IMX_HAVE_PLATFORM_MXC_EHCI 398 select IMX_HAVE_PLATFORM_MXC_NAND 399 select IMX_HAVE_PLATFORM_MXC_RTC 400 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX 401 select MXC_DEBUG_BOARD 402 select SOC_IMX35 403 help 404 Include support for MX35PDK platform. This includes specific 405 configurations for the board and its peripherals. 406 407config MACH_VPR200 408 bool "Support VPR200 platform" 409 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 410 select IMX_HAVE_PLATFORM_GPIO_KEYS 411 select IMX_HAVE_PLATFORM_IMX2_WDT 412 select IMX_HAVE_PLATFORM_IMX_I2C 413 select IMX_HAVE_PLATFORM_IMX_UART 414 select IMX_HAVE_PLATFORM_IPU_CORE 415 select IMX_HAVE_PLATFORM_MXC_EHCI 416 select IMX_HAVE_PLATFORM_MXC_NAND 417 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX 418 select SOC_IMX35 419 help 420 Include support for VPR200 platform. This includes specific 421 configurations for the board and its peripherals. 422 423endif 424 425comment "Device tree only" 426 427if ARCH_MULTI_V4T 428 429config SOC_IMX1 430 bool "i.MX1 support" 431 select CPU_ARM920T 432 select MXC_AVIC 433 select PINCTRL_IMX1 434 help 435 This enables support for Freescale i.MX1 processor 436 437endif 438 439if ARCH_MULTI_V5 440 441config SOC_IMX25 442 bool "i.MX25 support" 443 select ARCH_MXC_IOMUX_V3 444 select CPU_ARM926T 445 select MXC_AVIC 446 select PINCTRL_IMX25 447 help 448 This enables support for Freescale i.MX25 processor 449endif 450 451if ARCH_MULTI_V7 452 453comment "Cortex-A platforms" 454 455config SOC_IMX5 456 bool 457 select HAVE_IMX_SRC 458 select MXC_TZIC 459 460config SOC_IMX50 461 bool "i.MX50 support" 462 select PINCTRL_IMX50 463 select SOC_IMX5 464 465 help 466 This enables support for Freescale i.MX50 processor. 467 468config SOC_IMX51 469 bool "i.MX51 support" 470 select PINCTRL_IMX51 471 select SOC_IMX5 472 help 473 This enables support for Freescale i.MX51 processor 474 475config SOC_IMX53 476 bool "i.MX53 support" 477 select PINCTRL_IMX53 478 select SOC_IMX5 479 480 help 481 This enables support for Freescale i.MX53 processor. 482 483config SOC_IMX6 484 bool 485 select ARM_CPU_SUSPEND if PM 486 select ARM_ERRATA_754322 487 select ARM_ERRATA_775420 488 select ARM_GIC 489 select HAVE_IMX_ANATOP 490 select HAVE_IMX_GPC 491 select HAVE_IMX_MMDC 492 select HAVE_IMX_SRC 493 select MFD_SYSCON 494 select PL310_ERRATA_769419 if CACHE_L2X0 495 496config SOC_IMX6Q 497 bool "i.MX6 Quad/DualLite support" 498 select ARM_ERRATA_764369 if SMP 499 select HAVE_ARM_SCU if SMP 500 select HAVE_ARM_TWD 501 select PINCTRL_IMX6Q 502 select SOC_IMX6 503 504 help 505 This enables support for Freescale i.MX6 Quad processor. 506 507config SOC_IMX6SL 508 bool "i.MX6 SoloLite support" 509 select PINCTRL_IMX6SL 510 select SOC_IMX6 511 512 help 513 This enables support for Freescale i.MX6 SoloLite processor. 514 515config SOC_IMX6SX 516 bool "i.MX6 SoloX support" 517 select PINCTRL_IMX6SX 518 select SOC_IMX6 519 520 help 521 This enables support for Freescale i.MX6 SoloX processor. 522 523config SOC_IMX6UL 524 bool "i.MX6 UltraLite support" 525 select PINCTRL_IMX6UL 526 select SOC_IMX6 527 528 help 529 This enables support for Freescale i.MX6 UltraLite processor. 530 531config SOC_IMX7D 532 bool "i.MX7 Dual support" 533 select PINCTRL_IMX7D 534 select ARM_GIC 535 select HAVE_ARM_ARCH_TIMER 536 select HAVE_IMX_ANATOP 537 select HAVE_IMX_MMDC 538 select HAVE_IMX_SRC 539 select IMX_GPCV2 540 help 541 This enables support for Freescale i.MX7 Dual processor. 542 543config SOC_LS1021A 544 bool "Freescale LS1021A support" 545 select ARM_GIC 546 select HAVE_ARM_ARCH_TIMER 547 select ZONE_DMA if ARM_LPAE 548 help 549 This enables support for Freescale LS1021A processor. 550 551endif 552 553comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms" 554 555if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M 556 557config SOC_VF610 558 bool "Vybrid Family VF610 support" 559 select ARM_GIC if ARCH_MULTI_V7 560 select PINCTRL_VF610 561 562 help 563 This enables support for Freescale Vybrid VF610 processor. 564 565choice 566 prompt "Clocksource for scheduler clock" 567 depends on SOC_VF610 568 default VF_USE_ARM_GLOBAL_TIMER 569 570 config VF_USE_ARM_GLOBAL_TIMER 571 bool "Use ARM Global Timer" 572 depends on ARCH_MULTI_V7 573 select ARM_GLOBAL_TIMER 574 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 575 help 576 Use the ARM Global Timer as clocksource 577 578 config VF_USE_PIT_TIMER 579 bool "Use PIT timer" 580 select VF_PIT_TIMER 581 help 582 Use SoC Periodic Interrupt Timer (PIT) as clocksource 583 584endchoice 585 586endif 587 588source "arch/arm/mach-imx/devices/Kconfig" 589 590endif 591