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