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