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