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