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