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