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