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