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