diff options
-rw-r--r-- | arch/arm/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 276 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile | 37 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile.boot | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/cache-l2x0.c | 56 | ||||
-rw-r--r-- | arch/arm/mach-imx/clock-imx31.c (renamed from arch/arm/mach-mx3/clock-imx31.c) | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/clock-imx35.c (renamed from arch/arm/mach-mx3/clock-imx35.c) | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu-imx31.c (renamed from arch/arm/mach-mx3/cpu.c) | 38 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu-imx35.c | 44 | ||||
-rw-r--r-- | arch/arm/mach-imx/crmregs-imx31.h (renamed from arch/arm/mach-mx3/crm_regs.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices-imx31.h (renamed from arch/arm/mach-mx3/devices-imx31.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices-imx35.h (renamed from arch/arm/mach-mx3/devices-imx35.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/ehci-imx31.c (renamed from arch/arm/mach-mx3/ehci-imx31.c) | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/ehci-imx35.c (renamed from arch/arm/mach-mx3/ehci-imx35.c) | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c (renamed from arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/iomux-imx31.c (renamed from arch/arm/mach-mx3/iomux-imx31.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-armadillo5x0.c (renamed from arch/arm/mach-mx3/mach-armadillo5x0.c) | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-bug.c (renamed from arch/arm/mach-mx3/mach-bug.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-cpuimx35.c (renamed from arch/arm/mach-mx3/mach-cpuimx35.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-kzm_arm11_01.c (renamed from arch/arm/mach-mx3/mach-kzm_arm11_01.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31_3ds.c (renamed from arch/arm/mach-mx3/mach-mx31_3ds.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31ads.c (renamed from arch/arm/mach-mx3/mach-mx31ads.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31lilly.c (renamed from arch/arm/mach-mx3/mach-mx31lilly.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31lite.c (renamed from arch/arm/mach-mx3/mach-mx31lite.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31moboard.c (renamed from arch/arm/mach-mx3/mach-mx31moboard.c) | 8 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx35_3ds.c (renamed from arch/arm/mach-mx3/mach-mx35_3ds.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pcm037.c (renamed from arch/arm/mach-mx3/mach-pcm037.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pcm037_eet.c (renamed from arch/arm/mach-mx3/mach-pcm037_eet.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pcm043.c (renamed from arch/arm/mach-mx3/mach-pcm043.c) | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-qong.c (renamed from arch/arm/mach-mx3/mach-qong.c) | 14 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-vpr200.c (renamed from arch/arm/mach-mx3/mach-vpr200.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mm-imx31.c | 66 | ||||
-rw-r--r-- | arch/arm/mach-imx/mm-imx35.c | 63 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx31lilly-db.c (renamed from arch/arm/mach-mx3/mx31lilly-db.c) | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx31lite-db.c (renamed from arch/arm/mach-mx3/mx31lite-db.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx31moboard-devboard.c (renamed from arch/arm/mach-mx3/mx31moboard-devboard.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx31moboard-marxbot.c (renamed from arch/arm/mach-mx3/mx31moboard-marxbot.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx31moboard-smartbot.c (renamed from arch/arm/mach-mx3/mx31moboard-smartbot.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/pcm037.h (renamed from arch/arm/mach-mx3/pcm037.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-mx3/Kconfig | 272 | ||||
-rw-r--r-- | arch/arm/mach-mx3/Makefile | 26 | ||||
-rw-r--r-- | arch/arm/mach-mx3/Makefile.boot | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mm.c | 141 | ||||
-rw-r--r-- | arch/arm/plat-mxc/Kconfig | 1 |
44 files changed, 559 insertions, 507 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 80d178878f6e..2b390306a091 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -158,7 +158,7 @@ machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 | |||
158 | machine-$(CONFIG_ARCH_MX1) := imx | 158 | machine-$(CONFIG_ARCH_MX1) := imx |
159 | machine-$(CONFIG_ARCH_MX2) := imx | 159 | machine-$(CONFIG_ARCH_MX2) := imx |
160 | machine-$(CONFIG_ARCH_MX25) := imx | 160 | machine-$(CONFIG_ARCH_MX25) := imx |
161 | machine-$(CONFIG_ARCH_MX3) := mx3 | 161 | machine-$(CONFIG_ARCH_MX3) := imx |
162 | machine-$(CONFIG_ARCH_MX5) := mx5 | 162 | machine-$(CONFIG_ARCH_MX5) := mx5 |
163 | machine-$(CONFIG_ARCH_MXS) := mxs | 163 | machine-$(CONFIG_ARCH_MXS) := mxs |
164 | machine-$(CONFIG_ARCH_NETX) := netx | 164 | machine-$(CONFIG_ARCH_NETX) := netx |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 11235ef10436..59c97a331136 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -1,5 +1,15 @@ | |||
1 | config IMX_HAVE_DMA_V1 | 1 | config IMX_HAVE_DMA_V1 |
2 | bool | 2 | bool |
3 | # | ||
4 | # ARCH_MX31 and ARCH_MX35 are left for compatibility | ||
5 | # Some usages assume that having one of them implies not having (e.g.) ARCH_MX2. | ||
6 | # To easily distinguish good and reviewed from unreviewed usages new (and IMHO | ||
7 | # more sensible) names are used: SOC_IMX31 and SOC_IMX35 | ||
8 | config ARCH_MX31 | ||
9 | bool | ||
10 | |||
11 | config ARCH_MX35 | ||
12 | bool | ||
3 | 13 | ||
4 | config SOC_IMX1 | 14 | config SOC_IMX1 |
5 | bool | 15 | bool |
@@ -31,6 +41,24 @@ config SOC_IMX27 | |||
31 | select IMX_HAVE_IOMUX_V1 | 41 | select IMX_HAVE_IOMUX_V1 |
32 | select MXC_AVIC | 42 | select MXC_AVIC |
33 | 43 | ||
44 | config SOC_IMX31 | ||
45 | bool | ||
46 | select CPU_V6 | ||
47 | select IMX_HAVE_PLATFORM_MXC_RNGA | ||
48 | select ARCH_MXC_AUDMUX_V2 | ||
49 | select ARCH_MX31 | ||
50 | select MXC_AVIC | ||
51 | |||
52 | config SOC_IMX35 | ||
53 | bool | ||
54 | select CPU_V6 | ||
55 | select ARCH_MXC_IOMUX_V3 | ||
56 | select ARCH_MXC_AUDMUX_V2 | ||
57 | select HAVE_EPIT | ||
58 | select ARCH_MX35 | ||
59 | select MXC_AVIC | ||
60 | |||
61 | |||
34 | if ARCH_MX1 | 62 | if ARCH_MX1 |
35 | 63 | ||
36 | comment "MX1 platforms:" | 64 | comment "MX1 platforms:" |
@@ -324,3 +352,251 @@ config MACH_IMX27IPCAM | |||
324 | configurations for the board and its peripherals. | 352 | configurations for the board and its peripherals. |
325 | 353 | ||
326 | endif | 354 | endif |
355 | |||
356 | if ARCH_MX3 | ||
357 | |||
358 | comment "MX31 platforms:" | ||
359 | |||
360 | config MACH_MX31ADS | ||
361 | bool "Support MX31ADS platforms" | ||
362 | select SOC_IMX31 | ||
363 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
364 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
365 | select IMX_HAVE_PLATFORM_IMX_UART | ||
366 | default y | ||
367 | help | ||
368 | Include support for MX31ADS platform. This includes specific | ||
369 | configurations for the board and its peripherals. | ||
370 | |||
371 | config MACH_MX31ADS_WM1133_EV1 | ||
372 | bool "Support Wolfson Microelectronics 1133-EV1 module" | ||
373 | depends on MACH_MX31ADS | ||
374 | depends on MFD_WM8350_I2C | ||
375 | depends on REGULATOR_WM8350 | ||
376 | select MFD_WM8350_CONFIG_MODE_0 | ||
377 | select MFD_WM8352_CONFIG_MODE_0 | ||
378 | help | ||
379 | Include support for the Wolfson Microelectronics 1133-EV1 PMU | ||
380 | and audio module for the MX31ADS platform. | ||
381 | |||
382 | config MACH_MX31LILLY | ||
383 | bool "Support MX31 LILLY-1131 platforms (INCO startec)" | ||
384 | select SOC_IMX31 | ||
385 | select IMX_HAVE_PLATFORM_IMX_UART | ||
386 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
387 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
388 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
389 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
390 | select MXC_ULPI if USB_ULPI | ||
391 | help | ||
392 | Include support for mx31 based LILLY1131 modules. This includes | ||
393 | specific configurations for the board and its peripherals. | ||
394 | |||
395 | config MACH_MX31LITE | ||
396 | bool "Support MX31 LITEKIT (LogicPD)" | ||
397 | select SOC_IMX31 | ||
398 | select MXC_ULPI if USB_ULPI | ||
399 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
400 | select IMX_HAVE_PLATFORM_IMX_UART | ||
401 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
402 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
403 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
404 | select IMX_HAVE_PLATFORM_MXC_RTC | ||
405 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
406 | help | ||
407 | Include support for MX31 LITEKIT platform. This includes specific | ||
408 | configurations for the board and its peripherals. | ||
409 | |||
410 | config MACH_PCM037 | ||
411 | bool "Support Phytec pcm037 (i.MX31) platforms" | ||
412 | select SOC_IMX31 | ||
413 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
414 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
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_MMC | ||
420 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
421 | select IMX_HAVE_PLATFORM_MXC_W1 | ||
422 | select MXC_ULPI if USB_ULPI | ||
423 | help | ||
424 | Include support for Phytec pcm037 platform. This includes | ||
425 | specific configurations for the board and its peripherals. | ||
426 | |||
427 | config MACH_PCM037_EET | ||
428 | bool "Support pcm037 EET board extensions" | ||
429 | depends on MACH_PCM037 | ||
430 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
431 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
432 | help | ||
433 | Add support for PCM037 EET baseboard extensions. If you are using the | ||
434 | OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel | ||
435 | command-line parameter. | ||
436 | |||
437 | config MACH_MX31_3DS | ||
438 | bool "Support MX31PDK (3DS)" | ||
439 | select SOC_IMX31 | ||
440 | select MXC_DEBUG_BOARD | ||
441 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
442 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
443 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
444 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | ||
445 | select IMX_HAVE_PLATFORM_IMX_UART | ||
446 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
447 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
448 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
449 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
450 | select MXC_ULPI if USB_ULPI | ||
451 | help | ||
452 | Include support for MX31PDK (3DS) platform. This includes specific | ||
453 | configurations for the board and its peripherals. | ||
454 | |||
455 | config MACH_MX31_3DS_MXC_NAND_USE_BBT | ||
456 | bool "Make the MXC NAND driver use the in flash Bad Block Table" | ||
457 | depends on MACH_MX31_3DS | ||
458 | depends on MTD_NAND_MXC | ||
459 | help | ||
460 | Enable this if you want that the MXC NAND driver uses the in flash | ||
461 | Bad Block Table to know what blocks are bad instead of scanning the | ||
462 | entire flash looking for bad block markers. | ||
463 | |||
464 | config MACH_MX31MOBOARD | ||
465 | bool "Support mx31moboard platforms (EPFL Mobots group)" | ||
466 | select SOC_IMX31 | ||
467 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
468 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
469 | select IMX_HAVE_PLATFORM_IMX_UART | ||
470 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
471 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
472 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
473 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
474 | select MXC_ULPI if USB_ULPI | ||
475 | help | ||
476 | Include support for mx31moboard platform. This includes specific | ||
477 | configurations for the board and its peripherals. | ||
478 | |||
479 | config MACH_QONG | ||
480 | bool "Support Dave/DENX QongEVB-LITE platform" | ||
481 | select SOC_IMX31 | ||
482 | select IMX_HAVE_PLATFORM_IMX_UART | ||
483 | help | ||
484 | Include support for Dave/DENX QongEVB-LITE platform. This includes | ||
485 | specific configurations for the board and its peripherals. | ||
486 | |||
487 | config MACH_ARMADILLO5X0 | ||
488 | bool "Support Atmark Armadillo-500 Development Base Board" | ||
489 | select SOC_IMX31 | ||
490 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
491 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
492 | select IMX_HAVE_PLATFORM_IMX_UART | ||
493 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
494 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
495 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
496 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
497 | select MXC_ULPI if USB_ULPI | ||
498 | help | ||
499 | Include support for Atmark Armadillo-500 platform. This includes | ||
500 | specific configurations for the board and its peripherals. | ||
501 | |||
502 | config MACH_KZM_ARM11_01 | ||
503 | bool "Support KZM-ARM11-01(Kyoto Microcomputer)" | ||
504 | select SOC_IMX31 | ||
505 | select IMX_HAVE_PLATFORM_IMX_UART | ||
506 | help | ||
507 | Include support for KZM-ARM11-01. This includes specific | ||
508 | configurations for the board and its peripherals. | ||
509 | |||
510 | config MACH_BUG | ||
511 | bool "Support Buglabs BUGBase platform" | ||
512 | select SOC_IMX31 | ||
513 | select IMX_HAVE_PLATFORM_IMX_UART | ||
514 | default y | ||
515 | help | ||
516 | Include support for BUGBase 1.3 platform. This includes specific | ||
517 | configurations for the board and its peripherals. | ||
518 | |||
519 | comment "MX35 platforms:" | ||
520 | |||
521 | config MACH_PCM043 | ||
522 | bool "Support Phytec pcm043 (i.MX35) platforms" | ||
523 | select SOC_IMX35 | ||
524 | select IMX_HAVE_PLATFORM_FLEXCAN | ||
525 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
526 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
527 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
528 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
529 | select IMX_HAVE_PLATFORM_IMX_UART | ||
530 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
531 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
532 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
533 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
534 | select MXC_ULPI if USB_ULPI | ||
535 | help | ||
536 | Include support for Phytec pcm043 platform. This includes | ||
537 | specific configurations for the board and its peripherals. | ||
538 | |||
539 | config MACH_MX35_3DS | ||
540 | bool "Support MX35PDK platform" | ||
541 | select SOC_IMX35 | ||
542 | select MXC_DEBUG_BOARD | ||
543 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
544 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
545 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
546 | select IMX_HAVE_PLATFORM_IMX_UART | ||
547 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
548 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
549 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
550 | help | ||
551 | Include support for MX35PDK platform. This includes specific | ||
552 | configurations for the board and its peripherals. | ||
553 | |||
554 | config MACH_EUKREA_CPUIMX35 | ||
555 | bool "Support Eukrea CPUIMX35 Platform" | ||
556 | select SOC_IMX35 | ||
557 | select IMX_HAVE_PLATFORM_FLEXCAN | ||
558 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
559 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
560 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
561 | select IMX_HAVE_PLATFORM_IMX_UART | ||
562 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
563 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
564 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
565 | select MXC_ULPI if USB_ULPI | ||
566 | help | ||
567 | Include support for Eukrea CPUIMX35 platform. This includes | ||
568 | specific configurations for the board and its peripherals. | ||
569 | |||
570 | choice | ||
571 | prompt "Baseboard" | ||
572 | depends on MACH_EUKREA_CPUIMX35 | ||
573 | default MACH_EUKREA_MBIMXSD35_BASEBOARD | ||
574 | |||
575 | config MACH_EUKREA_MBIMXSD35_BASEBOARD | ||
576 | bool "Eukrea MBIMXSD development board" | ||
577 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
578 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
579 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
580 | help | ||
581 | This adds board specific devices that can be found on Eukrea's | ||
582 | MBIMXSD evaluation board. | ||
583 | |||
584 | endchoice | ||
585 | |||
586 | config MACH_VPR200 | ||
587 | bool "Support VPR200 platform" | ||
588 | select SOC_IMX35 | ||
589 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
590 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
591 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
592 | select IMX_HAVE_PLATFORM_IMX_UART | ||
593 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
594 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
595 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
596 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
597 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
598 | help | ||
599 | Include support for VPR200 platform. This includes specific | ||
600 | configurations for the board and its peripherals. | ||
601 | |||
602 | endif | ||
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 270f5f9db92e..e9eb36dad888 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile | |||
@@ -1,9 +1,3 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | |||
5 | # Object file lists. | ||
6 | |||
7 | obj-$(CONFIG_IMX_HAVE_DMA_V1) += dma-v1.o | 1 | obj-$(CONFIG_IMX_HAVE_DMA_V1) += dma-v1.o |
8 | 2 | ||
9 | obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o | 3 | obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o |
@@ -14,19 +8,27 @@ obj-$(CONFIG_ARCH_MX25) += clock-imx25.o mm-imx25.o ehci-imx25.o | |||
14 | obj-$(CONFIG_MACH_MX27) += cpu-imx27.o pm-imx27.o | 8 | obj-$(CONFIG_MACH_MX27) += cpu-imx27.o pm-imx27.o |
15 | obj-$(CONFIG_MACH_MX27) += clock-imx27.o mm-imx27.o ehci-imx27.o | 9 | obj-$(CONFIG_MACH_MX27) += clock-imx27.o mm-imx27.o ehci-imx27.o |
16 | 10 | ||
11 | obj-$(CONFIG_SOC_IMX31) += mm-imx31.o cpu-imx31.o clock-imx31.o iomux-imx31.o ehci-imx31.o | ||
12 | obj-$(CONFIG_SOC_IMX35) += mm-imx35.o cpu-imx35.o clock-imx35.o ehci-imx35.o | ||
13 | obj-$(CONFIG_CACHE_L2X0) += cache-l2x0.o | ||
14 | |||
17 | # Support for CMOS sensor interface | 15 | # Support for CMOS sensor interface |
18 | obj-$(CONFIG_MX1_VIDEO) += mx1-camera-fiq.o mx1-camera-fiq-ksym.o | 16 | obj-$(CONFIG_MX1_VIDEO) += mx1-camera-fiq.o mx1-camera-fiq-ksym.o |
19 | 17 | ||
18 | # i.MX1 based machines | ||
20 | obj-$(CONFIG_ARCH_MX1ADS) += mach-mx1ads.o | 19 | obj-$(CONFIG_ARCH_MX1ADS) += mach-mx1ads.o |
21 | obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o | 20 | obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o |
22 | obj-$(CONFIG_MACH_APF9328) += mach-apf9328.o | 21 | obj-$(CONFIG_MACH_APF9328) += mach-apf9328.o |
23 | 22 | ||
23 | # i.MX21 based machines | ||
24 | obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o | 24 | obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o |
25 | 25 | ||
26 | # i.MX25 based machines | ||
26 | obj-$(CONFIG_MACH_MX25_3DS) += mach-mx25_3ds.o | 27 | obj-$(CONFIG_MACH_MX25_3DS) += mach-mx25_3ds.o |
27 | obj-$(CONFIG_MACH_EUKREA_CPUIMX25) += mach-eukrea_cpuimx25.o | 28 | obj-$(CONFIG_MACH_EUKREA_CPUIMX25) += mach-eukrea_cpuimx25.o |
28 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD25_BASEBOARD) += eukrea_mbimxsd25-baseboard.o | 29 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD25_BASEBOARD) += eukrea_mbimxsd25-baseboard.o |
29 | 30 | ||
31 | # i.MX27 based machines | ||
30 | obj-$(CONFIG_MACH_MX27ADS) += mach-mx27ads.o | 32 | obj-$(CONFIG_MACH_MX27ADS) += mach-mx27ads.o |
31 | obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o | 33 | obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o |
32 | obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o | 34 | obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o |
@@ -38,3 +40,24 @@ obj-$(CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD) += eukrea_mbimx27-baseboard.o | |||
38 | obj-$(CONFIG_MACH_PCA100) += mach-pca100.o | 40 | obj-$(CONFIG_MACH_PCA100) += mach-pca100.o |
39 | obj-$(CONFIG_MACH_MXT_TD60) += mach-mxt_td60.o | 41 | obj-$(CONFIG_MACH_MXT_TD60) += mach-mxt_td60.o |
40 | obj-$(CONFIG_MACH_IMX27IPCAM) += mach-imx27ipcam.o | 42 | obj-$(CONFIG_MACH_IMX27IPCAM) += mach-imx27ipcam.o |
43 | |||
44 | # i.MX31 based machines | ||
45 | obj-$(CONFIG_MACH_MX31ADS) += mach-mx31ads.o | ||
46 | obj-$(CONFIG_MACH_MX31LILLY) += mach-mx31lilly.o mx31lilly-db.o | ||
47 | obj-$(CONFIG_MACH_MX31LITE) += mach-mx31lite.o mx31lite-db.o | ||
48 | obj-$(CONFIG_MACH_PCM037) += mach-pcm037.o | ||
49 | obj-$(CONFIG_MACH_PCM037_EET) += mach-pcm037_eet.o | ||
50 | obj-$(CONFIG_MACH_MX31_3DS) += mach-mx31_3ds.o | ||
51 | obj-$(CONFIG_MACH_MX31MOBOARD) += mach-mx31moboard.o mx31moboard-devboard.o \ | ||
52 | mx31moboard-marxbot.o mx31moboard-smartbot.o | ||
53 | obj-$(CONFIG_MACH_QONG) += mach-qong.o | ||
54 | obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o | ||
55 | obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o | ||
56 | obj-$(CONFIG_MACH_BUG) += mach-bug.o | ||
57 | |||
58 | # i.MX35 based machines | ||
59 | obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o | ||
60 | obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o | ||
61 | obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o | ||
62 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd35-baseboard.o | ||
63 | obj-$(CONFIG_MACH_VPR200) += mach-vpr200.o | ||
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot index 3953d60bff0b..ebee18b3884c 100644 --- a/arch/arm/mach-imx/Makefile.boot +++ b/arch/arm/mach-imx/Makefile.boot | |||
@@ -13,3 +13,7 @@ initrd_phys-$(CONFIG_ARCH_MX25) := 0x80800000 | |||
13 | zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 | 13 | zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 |
14 | params_phys-$(CONFIG_MACH_MX27) := 0xA0000100 | 14 | params_phys-$(CONFIG_MACH_MX27) := 0xA0000100 |
15 | initrd_phys-$(CONFIG_MACH_MX27) := 0xA0800000 | 15 | initrd_phys-$(CONFIG_MACH_MX27) := 0xA0800000 |
16 | |||
17 | zreladdr-$(CONFIG_ARCH_MX3) := 0x80008000 | ||
18 | params_phys-$(CONFIG_ARCH_MX3) := 0x80000100 | ||
19 | initrd_phys-$(CONFIG_ARCH_MX3) := 0x80800000 | ||
diff --git a/arch/arm/mach-imx/cache-l2x0.c b/arch/arm/mach-imx/cache-l2x0.c new file mode 100644 index 000000000000..69d1322add3c --- /dev/null +++ b/arch/arm/mach-imx/cache-l2x0.c | |||
@@ -0,0 +1,56 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009-2010 Pengutronix | ||
3 | * Sascha Hauer <s.hauer@pengutronix.de> | ||
4 | * Juergen Beisert <j.beisert@pengutronix.de> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it under | ||
7 | * the terms of the GNU General Public License version 2 as published by the | ||
8 | * Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/init.h> | ||
12 | #include <linux/err.h> | ||
13 | #include <linux/kernel.h> | ||
14 | |||
15 | #include <asm/hardware/cache-l2x0.h> | ||
16 | |||
17 | #include <mach/hardware.h> | ||
18 | |||
19 | static int mxc_init_l2x0(void) | ||
20 | { | ||
21 | void __iomem *l2x0_base; | ||
22 | void __iomem *clkctl_base; | ||
23 | |||
24 | if (!cpu_is_mx31() && !cpu_is_mx35()) | ||
25 | return 0; | ||
26 | |||
27 | /* | ||
28 | * First of all, we must repair broken chip settings. There are some | ||
29 | * i.MX35 CPUs in the wild, comming with bogus L2 cache settings. These | ||
30 | * misconfigured CPUs will run amok immediately when the L2 cache gets enabled. | ||
31 | * Workaraound is to setup the correct register setting prior enabling the | ||
32 | * L2 cache. This should not hurt already working CPUs, as they are using the | ||
33 | * same value. | ||
34 | */ | ||
35 | #define L2_MEM_VAL 0x10 | ||
36 | |||
37 | clkctl_base = ioremap(MX35_CLKCTL_BASE_ADDR, 4096); | ||
38 | if (clkctl_base != NULL) { | ||
39 | writel(0x00000515, clkctl_base + L2_MEM_VAL); | ||
40 | iounmap(clkctl_base); | ||
41 | } else { | ||
42 | pr_err("L2 cache: Cannot fix timing. Trying to continue without\n"); | ||
43 | } | ||
44 | |||
45 | l2x0_base = ioremap(MX3x_L2CC_BASE_ADDR, 4096); | ||
46 | if (IS_ERR(l2x0_base)) { | ||
47 | printk(KERN_ERR "remapping L2 cache area failed with %ld\n", | ||
48 | PTR_ERR(l2x0_base)); | ||
49 | return 0; | ||
50 | } | ||
51 | |||
52 | l2x0_init(l2x0_base, 0x00030024, 0x00000000); | ||
53 | |||
54 | return 0; | ||
55 | } | ||
56 | arch_initcall(mxc_init_l2x0); | ||
diff --git a/arch/arm/mach-mx3/clock-imx31.c b/arch/arm/mach-imx/clock-imx31.c index d423cac8cab7..25f343fca2b9 100644 --- a/arch/arm/mach-mx3/clock-imx31.c +++ b/arch/arm/mach-imx/clock-imx31.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <mach/mx31.h> | 32 | #include <mach/mx31.h> |
33 | #include <mach/common.h> | 33 | #include <mach/common.h> |
34 | 34 | ||
35 | #include "crm_regs.h" | 35 | #include "crmregs-imx31.h" |
36 | 36 | ||
37 | #define PRE_DIV_MIN_FREQ 10000000 /* Minimum Frequency after Predivider */ | 37 | #define PRE_DIV_MIN_FREQ 10000000 /* Minimum Frequency after Predivider */ |
38 | 38 | ||
@@ -627,4 +627,3 @@ int __init mx31_clocks_init(unsigned long fref) | |||
627 | 627 | ||
628 | return 0; | 628 | return 0; |
629 | } | 629 | } |
630 | |||
diff --git a/arch/arm/mach-mx3/clock-imx35.c b/arch/arm/mach-imx/clock-imx35.c index 448a038cd1ec..5a4cc1ea405b 100644 --- a/arch/arm/mach-mx3/clock-imx35.c +++ b/arch/arm/mach-imx/clock-imx35.c | |||
@@ -547,4 +547,3 @@ int __init mx35_clocks_init() | |||
547 | 547 | ||
548 | return 0; | 548 | return 0; |
549 | } | 549 | } |
550 | |||
diff --git a/arch/arm/mach-mx3/cpu.c b/arch/arm/mach-imx/cpu-imx31.c index d1d339576fdf..a3780700a882 100644 --- a/arch/arm/mach-mx3/cpu.c +++ b/arch/arm/mach-imx/cpu-imx31.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * MX3 CPU type detection | 2 | * MX31 CPU type detection |
3 | * | 3 | * |
4 | * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de> | 4 | * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de> |
5 | * | 5 | * |
@@ -17,14 +17,12 @@ | |||
17 | unsigned int mx31_cpu_rev; | 17 | unsigned int mx31_cpu_rev; |
18 | EXPORT_SYMBOL(mx31_cpu_rev); | 18 | EXPORT_SYMBOL(mx31_cpu_rev); |
19 | 19 | ||
20 | struct mx3_cpu_type { | 20 | static struct { |
21 | u8 srev; | 21 | u8 srev; |
22 | const char *name; | 22 | const char *name; |
23 | const char *v; | 23 | const char *v; |
24 | unsigned int rev; | 24 | unsigned int rev; |
25 | }; | 25 | } mx31_cpu_type[] __initdata = { |
26 | |||
27 | static struct mx3_cpu_type mx31_cpu_type[] __initdata = { | ||
28 | { .srev = 0x00, .name = "i.MX31(L)", .v = "1.0", .rev = IMX_CHIP_REVISION_1_0 }, | 26 | { .srev = 0x00, .name = "i.MX31(L)", .v = "1.0", .rev = IMX_CHIP_REVISION_1_0 }, |
29 | { .srev = 0x10, .name = "i.MX31", .v = "1.1", .rev = IMX_CHIP_REVISION_1_1 }, | 27 | { .srev = 0x10, .name = "i.MX31", .v = "1.1", .rev = IMX_CHIP_REVISION_1_1 }, |
30 | { .srev = 0x11, .name = "i.MX31L", .v = "1.1", .rev = IMX_CHIP_REVISION_1_1 }, | 28 | { .srev = 0x11, .name = "i.MX31L", .v = "1.1", .rev = IMX_CHIP_REVISION_1_1 }, |
@@ -57,33 +55,3 @@ void __init mx31_read_cpu_rev(void) | |||
57 | 55 | ||
58 | printk(KERN_WARNING "Unknown CPU identifier. srev = %02x\n", srev); | 56 | printk(KERN_WARNING "Unknown CPU identifier. srev = %02x\n", srev); |
59 | } | 57 | } |
60 | |||
61 | unsigned int mx35_cpu_rev; | ||
62 | EXPORT_SYMBOL(mx35_cpu_rev); | ||
63 | |||
64 | void __init mx35_read_cpu_rev(void) | ||
65 | { | ||
66 | u32 rev; | ||
67 | char *srev; | ||
68 | |||
69 | rev = __raw_readl(MX35_IO_ADDRESS(MX35_IIM_BASE_ADDR + MXC_IIMSREV)); | ||
70 | switch (rev) { | ||
71 | case 0x00: | ||
72 | mx35_cpu_rev = IMX_CHIP_REVISION_1_0; | ||
73 | srev = "1.0"; | ||
74 | break; | ||
75 | case 0x10: | ||
76 | mx35_cpu_rev = IMX_CHIP_REVISION_2_0; | ||
77 | srev = "2.0"; | ||
78 | break; | ||
79 | case 0x11: | ||
80 | mx35_cpu_rev = IMX_CHIP_REVISION_2_1; | ||
81 | srev = "2.1"; | ||
82 | break; | ||
83 | default: | ||
84 | mx35_cpu_rev = IMX_CHIP_REVISION_UNKNOWN; | ||
85 | srev = "unknown"; | ||
86 | } | ||
87 | |||
88 | printk(KERN_INFO "CPU identified as i.MX35, silicon rev %s\n", srev); | ||
89 | } | ||
diff --git a/arch/arm/mach-imx/cpu-imx35.c b/arch/arm/mach-imx/cpu-imx35.c new file mode 100644 index 000000000000..6637cd819ecb --- /dev/null +++ b/arch/arm/mach-imx/cpu-imx35.c | |||
@@ -0,0 +1,44 @@ | |||
1 | /* | ||
2 | * MX35 CPU type detection | ||
3 | * | ||
4 | * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | #include <linux/module.h> | ||
12 | #include <linux/io.h> | ||
13 | #include <mach/hardware.h> | ||
14 | #include <mach/iim.h> | ||
15 | |||
16 | unsigned int mx35_cpu_rev; | ||
17 | EXPORT_SYMBOL(mx35_cpu_rev); | ||
18 | |||
19 | void __init mx35_read_cpu_rev(void) | ||
20 | { | ||
21 | u32 rev; | ||
22 | char *srev; | ||
23 | |||
24 | rev = __raw_readl(MX35_IO_ADDRESS(MX35_IIM_BASE_ADDR + MXC_IIMSREV)); | ||
25 | switch (rev) { | ||
26 | case 0x00: | ||
27 | mx35_cpu_rev = IMX_CHIP_REVISION_1_0; | ||
28 | srev = "1.0"; | ||
29 | break; | ||
30 | case 0x10: | ||
31 | mx35_cpu_rev = IMX_CHIP_REVISION_2_0; | ||
32 | srev = "2.0"; | ||
33 | break; | ||
34 | case 0x11: | ||
35 | mx35_cpu_rev = IMX_CHIP_REVISION_2_1; | ||
36 | srev = "2.1"; | ||
37 | break; | ||
38 | default: | ||
39 | mx35_cpu_rev = IMX_CHIP_REVISION_UNKNOWN; | ||
40 | srev = "unknown"; | ||
41 | } | ||
42 | |||
43 | printk(KERN_INFO "CPU identified as i.MX35, silicon rev %s\n", srev); | ||
44 | } | ||
diff --git a/arch/arm/mach-mx3/crm_regs.h b/arch/arm/mach-imx/crmregs-imx31.h index 37a8a07beda3..37a8a07beda3 100644 --- a/arch/arm/mach-mx3/crm_regs.h +++ b/arch/arm/mach-imx/crmregs-imx31.h | |||
diff --git a/arch/arm/mach-mx3/devices-imx31.h b/arch/arm/mach-imx/devices-imx31.h index dbe940d9c53a..dbe940d9c53a 100644 --- a/arch/arm/mach-mx3/devices-imx31.h +++ b/arch/arm/mach-imx/devices-imx31.h | |||
diff --git a/arch/arm/mach-mx3/devices-imx35.h b/arch/arm/mach-imx/devices-imx35.h index 234cbd3c18af..234cbd3c18af 100644 --- a/arch/arm/mach-mx3/devices-imx35.h +++ b/arch/arm/mach-imx/devices-imx35.h | |||
diff --git a/arch/arm/mach-mx3/ehci-imx31.c b/arch/arm/mach-imx/ehci-imx31.c index 314a983ac614..faad0f15ac7f 100644 --- a/arch/arm/mach-mx3/ehci-imx31.c +++ b/arch/arm/mach-imx/ehci-imx31.c | |||
@@ -80,4 +80,3 @@ int mx31_initialize_usb_hw(int port, unsigned int flags) | |||
80 | 80 | ||
81 | return 0; | 81 | return 0; |
82 | } | 82 | } |
83 | |||
diff --git a/arch/arm/mach-mx3/ehci-imx35.c b/arch/arm/mach-imx/ehci-imx35.c index 33983a478c6b..001ec3971f5d 100644 --- a/arch/arm/mach-mx3/ehci-imx35.c +++ b/arch/arm/mach-imx/ehci-imx35.c | |||
@@ -77,4 +77,3 @@ int mx35_initialize_usb_hw(int port, unsigned int flags) | |||
77 | 77 | ||
78 | return 0; | 78 | return 0; |
79 | } | 79 | } |
80 | |||
diff --git a/arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c index 4909ea05855a..4909ea05855a 100644 --- a/arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | |||
diff --git a/arch/arm/mach-mx3/iomux-imx31.c b/arch/arm/mach-imx/iomux-imx31.c index cf8f8099ebd7..cf8f8099ebd7 100644 --- a/arch/arm/mach-mx3/iomux-imx31.c +++ b/arch/arm/mach-imx/iomux-imx31.c | |||
diff --git a/arch/arm/mach-mx3/mach-armadillo5x0.c b/arch/arm/mach-imx/mach-armadillo5x0.c index 8e614b10dd5c..ffb40ff619b1 100644 --- a/arch/arm/mach-mx3/mach-armadillo5x0.c +++ b/arch/arm/mach-imx/mach-armadillo5x0.c | |||
@@ -51,7 +51,7 @@ | |||
51 | #include <mach/ulpi.h> | 51 | #include <mach/ulpi.h> |
52 | 52 | ||
53 | #include "devices-imx31.h" | 53 | #include "devices-imx31.h" |
54 | #include "crm_regs.h" | 54 | #include "crmregs-imx31.h" |
55 | 55 | ||
56 | static int armadillo5x0_pins[] = { | 56 | static int armadillo5x0_pins[] = { |
57 | /* UART1 */ | 57 | /* UART1 */ |
diff --git a/arch/arm/mach-mx3/mach-bug.c b/arch/arm/mach-imx/mach-bug.c index 42e4f078a19c..42e4f078a19c 100644 --- a/arch/arm/mach-mx3/mach-bug.c +++ b/arch/arm/mach-imx/mach-bug.c | |||
diff --git a/arch/arm/mach-mx3/mach-cpuimx35.c b/arch/arm/mach-imx/mach-cpuimx35.c index 3f8ef825fa6f..3f8ef825fa6f 100644 --- a/arch/arm/mach-mx3/mach-cpuimx35.c +++ b/arch/arm/mach-imx/mach-cpuimx35.c | |||
diff --git a/arch/arm/mach-mx3/mach-kzm_arm11_01.c b/arch/arm/mach-imx/mach-kzm_arm11_01.c index 1ecae20cf4e3..1ecae20cf4e3 100644 --- a/arch/arm/mach-mx3/mach-kzm_arm11_01.c +++ b/arch/arm/mach-imx/mach-kzm_arm11_01.c | |||
diff --git a/arch/arm/mach-mx3/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c index 9b982449cb52..9b982449cb52 100644 --- a/arch/arm/mach-mx3/mach-mx31_3ds.c +++ b/arch/arm/mach-imx/mach-mx31_3ds.c | |||
diff --git a/arch/arm/mach-mx3/mach-mx31ads.c b/arch/arm/mach-imx/mach-mx31ads.c index f4dee0254634..f4dee0254634 100644 --- a/arch/arm/mach-mx3/mach-mx31ads.c +++ b/arch/arm/mach-imx/mach-mx31ads.c | |||
diff --git a/arch/arm/mach-mx3/mach-mx31lilly.c b/arch/arm/mach-imx/mach-mx31lilly.c index 410e676ae087..410e676ae087 100644 --- a/arch/arm/mach-mx3/mach-mx31lilly.c +++ b/arch/arm/mach-imx/mach-mx31lilly.c | |||
diff --git a/arch/arm/mach-mx3/mach-mx31lite.c b/arch/arm/mach-imx/mach-mx31lite.c index ac9b4cad320e..ac9b4cad320e 100644 --- a/arch/arm/mach-mx3/mach-mx31lite.c +++ b/arch/arm/mach-imx/mach-mx31lite.c | |||
diff --git a/arch/arm/mach-mx3/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c index eaaea2dbd4fd..eaa51e49ca95 100644 --- a/arch/arm/mach-mx3/mach-mx31moboard.c +++ b/arch/arm/mach-imx/mach-mx31moboard.c | |||
@@ -99,7 +99,7 @@ static unsigned int moboard_pins[] = { | |||
99 | }; | 99 | }; |
100 | 100 | ||
101 | static struct physmap_flash_data mx31moboard_flash_data = { | 101 | static struct physmap_flash_data mx31moboard_flash_data = { |
102 | .width = 2, | 102 | .width = 2, |
103 | }; | 103 | }; |
104 | 104 | ||
105 | static struct resource mx31moboard_flash_resource = { | 105 | static struct resource mx31moboard_flash_resource = { |
@@ -427,9 +427,9 @@ static int __init moboard_usbh2_init(void) | |||
427 | 427 | ||
428 | static struct gpio_led mx31moboard_leds[] = { | 428 | static struct gpio_led mx31moboard_leds[] = { |
429 | { | 429 | { |
430 | .name = "coreboard-led-0:red:running", | 430 | .name = "coreboard-led-0:red:running", |
431 | .default_trigger = "heartbeat", | 431 | .default_trigger = "heartbeat", |
432 | .gpio = IOMUX_TO_GPIO(MX31_PIN_SVEN0), | 432 | .gpio = IOMUX_TO_GPIO(MX31_PIN_SVEN0), |
433 | }, { | 433 | }, { |
434 | .name = "coreboard-led-1:red", | 434 | .name = "coreboard-led-1:red", |
435 | .gpio = IOMUX_TO_GPIO(MX31_PIN_STX0), | 435 | .gpio = IOMUX_TO_GPIO(MX31_PIN_STX0), |
@@ -443,7 +443,7 @@ static struct gpio_led mx31moboard_leds[] = { | |||
443 | }; | 443 | }; |
444 | 444 | ||
445 | static struct gpio_led_platform_data mx31moboard_led_pdata = { | 445 | static struct gpio_led_platform_data mx31moboard_led_pdata = { |
446 | .num_leds = ARRAY_SIZE(mx31moboard_leds), | 446 | .num_leds = ARRAY_SIZE(mx31moboard_leds), |
447 | .leds = mx31moboard_leds, | 447 | .leds = mx31moboard_leds, |
448 | }; | 448 | }; |
449 | 449 | ||
diff --git a/arch/arm/mach-mx3/mach-mx35_3ds.c b/arch/arm/mach-imx/mach-mx35_3ds.c index 882880ac1bbc..882880ac1bbc 100644 --- a/arch/arm/mach-mx3/mach-mx35_3ds.c +++ b/arch/arm/mach-imx/mach-mx35_3ds.c | |||
diff --git a/arch/arm/mach-mx3/mach-pcm037.c b/arch/arm/mach-imx/mach-pcm037.c index 89c213b81295..89c213b81295 100644 --- a/arch/arm/mach-mx3/mach-pcm037.c +++ b/arch/arm/mach-imx/mach-pcm037.c | |||
diff --git a/arch/arm/mach-mx3/mach-pcm037_eet.c b/arch/arm/mach-imx/mach-pcm037_eet.c index 1b7606bef8f4..1b7606bef8f4 100644 --- a/arch/arm/mach-mx3/mach-pcm037_eet.c +++ b/arch/arm/mach-imx/mach-pcm037_eet.c | |||
diff --git a/arch/arm/mach-mx3/mach-pcm043.c b/arch/arm/mach-imx/mach-pcm043.c index 10154cb15567..026441628dfa 100644 --- a/arch/arm/mach-mx3/mach-pcm043.c +++ b/arch/arm/mach-imx/mach-pcm043.c | |||
@@ -122,12 +122,12 @@ static struct at24_platform_data board_eeprom = { | |||
122 | }; | 122 | }; |
123 | 123 | ||
124 | static struct i2c_board_info pcm043_i2c_devices[] = { | 124 | static struct i2c_board_info pcm043_i2c_devices[] = { |
125 | { | 125 | { |
126 | I2C_BOARD_INFO("at24", 0x52), /* E0=0, E1=1, E2=0 */ | 126 | I2C_BOARD_INFO("at24", 0x52), /* E0=0, E1=1, E2=0 */ |
127 | .platform_data = &board_eeprom, | 127 | .platform_data = &board_eeprom, |
128 | }, { | 128 | }, { |
129 | I2C_BOARD_INFO("pcf8563", 0x51), | 129 | I2C_BOARD_INFO("pcf8563", 0x51), |
130 | } | 130 | }, |
131 | }; | 131 | }; |
132 | 132 | ||
133 | static struct platform_device *devices[] __initdata = { | 133 | static struct platform_device *devices[] __initdata = { |
diff --git a/arch/arm/mach-mx3/mach-qong.c b/arch/arm/mach-imx/mach-qong.c index a6052872ffb8..c16328715939 100644 --- a/arch/arm/mach-mx3/mach-qong.c +++ b/arch/arm/mach-imx/mach-qong.c | |||
@@ -38,18 +38,18 @@ | |||
38 | #define QONG_FPGA_VERSION(major, minor, rev) \ | 38 | #define QONG_FPGA_VERSION(major, minor, rev) \ |
39 | (((major & 0xF) << 12) | ((minor & 0xF) << 8) | (rev & 0xFF)) | 39 | (((major & 0xF) << 12) | ((minor & 0xF) << 8) | (rev & 0xFF)) |
40 | 40 | ||
41 | #define QONG_FPGA_BASEADDR MX31_CS1_BASE_ADDR | 41 | #define QONG_FPGA_BASEADDR MX31_CS1_BASE_ADDR |
42 | #define QONG_FPGA_PERIPH_SIZE (1 << 24) | 42 | #define QONG_FPGA_PERIPH_SIZE (1 << 24) |
43 | 43 | ||
44 | #define QONG_FPGA_CTRL_BASEADDR QONG_FPGA_BASEADDR | 44 | #define QONG_FPGA_CTRL_BASEADDR QONG_FPGA_BASEADDR |
45 | #define QONG_FPGA_CTRL_SIZE 0x10 | 45 | #define QONG_FPGA_CTRL_SIZE 0x10 |
46 | /* FPGA control registers */ | 46 | /* FPGA control registers */ |
47 | #define QONG_FPGA_CTRL_VERSION 0x00 | 47 | #define QONG_FPGA_CTRL_VERSION 0x00 |
48 | 48 | ||
49 | #define QONG_DNET_ID 1 | 49 | #define QONG_DNET_ID 1 |
50 | #define QONG_DNET_BASEADDR \ | 50 | #define QONG_DNET_BASEADDR \ |
51 | (QONG_FPGA_BASEADDR + QONG_DNET_ID * QONG_FPGA_PERIPH_SIZE) | 51 | (QONG_FPGA_BASEADDR + QONG_DNET_ID * QONG_FPGA_PERIPH_SIZE) |
52 | #define QONG_DNET_SIZE 0x00001000 | 52 | #define QONG_DNET_SIZE 0x00001000 |
53 | 53 | ||
54 | #define QONG_FPGA_IRQ IOMUX_TO_IRQ(MX31_PIN_DTR_DCE1) | 54 | #define QONG_FPGA_IRQ IOMUX_TO_IRQ(MX31_PIN_DTR_DCE1) |
55 | 55 | ||
@@ -165,15 +165,15 @@ static struct platform_nand_data qong_nand_data = { | |||
165 | .options = 0, | 165 | .options = 0, |
166 | }, | 166 | }, |
167 | .ctrl = { | 167 | .ctrl = { |
168 | .cmd_ctrl = qong_nand_cmd_ctrl, | 168 | .cmd_ctrl = qong_nand_cmd_ctrl, |
169 | .dev_ready = qong_nand_device_ready, | 169 | .dev_ready = qong_nand_device_ready, |
170 | .select_chip = qong_nand_select_chip, | 170 | .select_chip = qong_nand_select_chip, |
171 | } | 171 | } |
172 | }; | 172 | }; |
173 | 173 | ||
174 | static struct resource qong_nand_resource = { | 174 | static struct resource qong_nand_resource = { |
175 | .start = MX31_CS3_BASE_ADDR, | 175 | .start = MX31_CS3_BASE_ADDR, |
176 | .end = MX31_CS3_BASE_ADDR + SZ_32M - 1, | 176 | .end = MX31_CS3_BASE_ADDR + SZ_32M - 1, |
177 | .flags = IORESOURCE_MEM, | 177 | .flags = IORESOURCE_MEM, |
178 | }; | 178 | }; |
179 | 179 | ||
diff --git a/arch/arm/mach-mx3/mach-vpr200.c b/arch/arm/mach-imx/mach-vpr200.c index d74e3473d236..d74e3473d236 100644 --- a/arch/arm/mach-mx3/mach-vpr200.c +++ b/arch/arm/mach-imx/mach-vpr200.c | |||
diff --git a/arch/arm/mach-imx/mm-imx31.c b/arch/arm/mach-imx/mm-imx31.c new file mode 100644 index 000000000000..86b9b45864d2 --- /dev/null +++ b/arch/arm/mach-imx/mm-imx31.c | |||
@@ -0,0 +1,66 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1999,2000 Arm Limited | ||
3 | * Copyright (C) 2000 Deep Blue Solutions Ltd | ||
4 | * Copyright (C) 2002 Shane Nay (shane@minirl.com) | ||
5 | * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. | ||
6 | * - add MX31 specific definitions | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | */ | ||
18 | |||
19 | #include <linux/mm.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/err.h> | ||
22 | |||
23 | #include <asm/pgtable.h> | ||
24 | #include <asm/mach/map.h> | ||
25 | |||
26 | #include <mach/common.h> | ||
27 | #include <mach/hardware.h> | ||
28 | #include <mach/iomux-v3.h> | ||
29 | #include <mach/gpio.h> | ||
30 | #include <mach/irqs.h> | ||
31 | |||
32 | static struct map_desc mx31_io_desc[] __initdata = { | ||
33 | imx_map_entry(MX31, X_MEMC, MT_DEVICE), | ||
34 | imx_map_entry(MX31, AVIC, MT_DEVICE_NONSHARED), | ||
35 | imx_map_entry(MX31, AIPS1, MT_DEVICE_NONSHARED), | ||
36 | imx_map_entry(MX31, AIPS2, MT_DEVICE_NONSHARED), | ||
37 | imx_map_entry(MX31, SPBA0, MT_DEVICE_NONSHARED), | ||
38 | }; | ||
39 | |||
40 | /* | ||
41 | * This function initializes the memory map. It is called during the | ||
42 | * system startup to create static physical to virtual memory mappings | ||
43 | * for the IO modules. | ||
44 | */ | ||
45 | void __init mx31_map_io(void) | ||
46 | { | ||
47 | iotable_init(mx31_io_desc, ARRAY_SIZE(mx31_io_desc)); | ||
48 | } | ||
49 | |||
50 | void __init imx31_init_early(void) | ||
51 | { | ||
52 | mxc_set_cpu_type(MXC_CPU_MX31); | ||
53 | mxc_arch_reset_init(MX31_IO_ADDRESS(MX31_WDOG_BASE_ADDR)); | ||
54 | } | ||
55 | |||
56 | static struct mxc_gpio_port imx31_gpio_ports[] = { | ||
57 | DEFINE_IMX_GPIO_PORT_IRQ(MX31, 0, 1, MX31_INT_GPIO1), | ||
58 | DEFINE_IMX_GPIO_PORT_IRQ(MX31, 1, 2, MX31_INT_GPIO2), | ||
59 | DEFINE_IMX_GPIO_PORT_IRQ(MX31, 2, 3, MX31_INT_GPIO3), | ||
60 | }; | ||
61 | |||
62 | void __init mx31_init_irq(void) | ||
63 | { | ||
64 | mxc_init_irq(MX31_IO_ADDRESS(MX31_AVIC_BASE_ADDR)); | ||
65 | mxc_gpio_init(imx31_gpio_ports, ARRAY_SIZE(imx31_gpio_ports)); | ||
66 | } | ||
diff --git a/arch/arm/mach-imx/mm-imx35.c b/arch/arm/mach-imx/mm-imx35.c new file mode 100644 index 000000000000..c880e6d1ae55 --- /dev/null +++ b/arch/arm/mach-imx/mm-imx35.c | |||
@@ -0,0 +1,63 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1999,2000 Arm Limited | ||
3 | * Copyright (C) 2000 Deep Blue Solutions Ltd | ||
4 | * Copyright (C) 2002 Shane Nay (shane@minirl.com) | ||
5 | * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. | ||
6 | * - add MX31 specific definitions | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | */ | ||
18 | |||
19 | #include <linux/mm.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/err.h> | ||
22 | |||
23 | #include <asm/pgtable.h> | ||
24 | #include <asm/mach/map.h> | ||
25 | #include <asm/hardware/cache-l2x0.h> | ||
26 | |||
27 | #include <mach/common.h> | ||
28 | #include <mach/hardware.h> | ||
29 | #include <mach/iomux-v3.h> | ||
30 | #include <mach/gpio.h> | ||
31 | #include <mach/irqs.h> | ||
32 | |||
33 | static struct map_desc mx35_io_desc[] __initdata = { | ||
34 | imx_map_entry(MX35, X_MEMC, MT_DEVICE), | ||
35 | imx_map_entry(MX35, AVIC, MT_DEVICE_NONSHARED), | ||
36 | imx_map_entry(MX35, AIPS1, MT_DEVICE_NONSHARED), | ||
37 | imx_map_entry(MX35, AIPS2, MT_DEVICE_NONSHARED), | ||
38 | imx_map_entry(MX35, SPBA0, MT_DEVICE_NONSHARED), | ||
39 | }; | ||
40 | |||
41 | void __init mx35_map_io(void) | ||
42 | { | ||
43 | iotable_init(mx35_io_desc, ARRAY_SIZE(mx35_io_desc)); | ||
44 | } | ||
45 | |||
46 | void __init imx35_init_early(void) | ||
47 | { | ||
48 | mxc_set_cpu_type(MXC_CPU_MX35); | ||
49 | mxc_iomux_v3_init(MX35_IO_ADDRESS(MX35_IOMUXC_BASE_ADDR)); | ||
50 | mxc_arch_reset_init(MX35_IO_ADDRESS(MX35_WDOG_BASE_ADDR)); | ||
51 | } | ||
52 | |||
53 | static struct mxc_gpio_port imx35_gpio_ports[] = { | ||
54 | DEFINE_IMX_GPIO_PORT_IRQ(MX35, 0, 1, MX35_INT_GPIO1), | ||
55 | DEFINE_IMX_GPIO_PORT_IRQ(MX35, 1, 2, MX35_INT_GPIO2), | ||
56 | DEFINE_IMX_GPIO_PORT_IRQ(MX35, 2, 3, MX35_INT_GPIO3), | ||
57 | }; | ||
58 | |||
59 | void __init mx35_init_irq(void) | ||
60 | { | ||
61 | mxc_init_irq(MX35_IO_ADDRESS(MX35_AVIC_BASE_ADDR)); | ||
62 | mxc_gpio_init(imx35_gpio_ports, ARRAY_SIZE(imx35_gpio_ports)); | ||
63 | } | ||
diff --git a/arch/arm/mach-mx3/mx31lilly-db.c b/arch/arm/mach-imx/mx31lilly-db.c index e70f4527c918..7d26f766a4ee 100644 --- a/arch/arm/mach-mx3/mx31lilly-db.c +++ b/arch/arm/mach-imx/mx31lilly-db.c | |||
@@ -167,7 +167,7 @@ static const struct ipu_platform_data ipu_data __initconst = { | |||
167 | 167 | ||
168 | static const struct fb_videomode fb_modedb = { | 168 | static const struct fb_videomode fb_modedb = { |
169 | /* 640x480 TFT panel (IPS-056T) */ | 169 | /* 640x480 TFT panel (IPS-056T) */ |
170 | .name = "CRT-VGA", | 170 | .name = "CRT-VGA", |
171 | .refresh = 64, | 171 | .refresh = 64, |
172 | .xres = 640, | 172 | .xres = 640, |
173 | .yres = 480, | 173 | .yres = 480, |
@@ -214,4 +214,3 @@ void __init mx31lilly_db_init(void) | |||
214 | imx31_add_mxc_mmc(0, &mmc_pdata); | 214 | imx31_add_mxc_mmc(0, &mmc_pdata); |
215 | mx31lilly_init_fb(); | 215 | mx31lilly_init_fb(); |
216 | } | 216 | } |
217 | |||
diff --git a/arch/arm/mach-mx3/mx31lite-db.c b/arch/arm/mach-imx/mx31lite-db.c index 5aa053edc17c..5aa053edc17c 100644 --- a/arch/arm/mach-mx3/mx31lite-db.c +++ b/arch/arm/mach-imx/mx31lite-db.c | |||
diff --git a/arch/arm/mach-mx3/mx31moboard-devboard.c b/arch/arm/mach-imx/mx31moboard-devboard.c index 0aa25364360d..0aa25364360d 100644 --- a/arch/arm/mach-mx3/mx31moboard-devboard.c +++ b/arch/arm/mach-imx/mx31moboard-devboard.c | |||
diff --git a/arch/arm/mach-mx3/mx31moboard-marxbot.c b/arch/arm/mach-imx/mx31moboard-marxbot.c index bb639cbda4e5..bb639cbda4e5 100644 --- a/arch/arm/mach-mx3/mx31moboard-marxbot.c +++ b/arch/arm/mach-imx/mx31moboard-marxbot.c | |||
diff --git a/arch/arm/mach-mx3/mx31moboard-smartbot.c b/arch/arm/mach-imx/mx31moboard-smartbot.c index fabb801e7994..fabb801e7994 100644 --- a/arch/arm/mach-mx3/mx31moboard-smartbot.c +++ b/arch/arm/mach-imx/mx31moboard-smartbot.c | |||
diff --git a/arch/arm/mach-mx3/pcm037.h b/arch/arm/mach-imx/pcm037.h index d6929721a5fd..d6929721a5fd 100644 --- a/arch/arm/mach-mx3/pcm037.h +++ b/arch/arm/mach-imx/pcm037.h | |||
diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig deleted file mode 100644 index 647811e539df..000000000000 --- a/arch/arm/mach-mx3/Kconfig +++ /dev/null | |||
@@ -1,272 +0,0 @@ | |||
1 | if ARCH_MX3 | ||
2 | |||
3 | # ARCH_MX31 and ARCH_MX35 are left for compatibility | ||
4 | # Some usages assume that having one of them implies not having (e.g.) ARCH_MX2. | ||
5 | # To easily distinguish good and reviewed from unreviewed usages new (and IMHO | ||
6 | # more sensible) names are used: SOC_IMX31 and SOC_IMX35 | ||
7 | config ARCH_MX31 | ||
8 | bool | ||
9 | |||
10 | config ARCH_MX35 | ||
11 | bool | ||
12 | |||
13 | config SOC_IMX31 | ||
14 | bool | ||
15 | select CPU_V6 | ||
16 | select IMX_HAVE_PLATFORM_MXC_RNGA | ||
17 | select ARCH_MXC_AUDMUX_V2 | ||
18 | select ARCH_MX31 | ||
19 | select MXC_AVIC | ||
20 | |||
21 | config SOC_IMX35 | ||
22 | bool | ||
23 | select CPU_V6 | ||
24 | select ARCH_MXC_IOMUX_V3 | ||
25 | select ARCH_MXC_AUDMUX_V2 | ||
26 | select HAVE_EPIT | ||
27 | select ARCH_MX35 | ||
28 | select MXC_AVIC | ||
29 | |||
30 | comment "MX3 platforms:" | ||
31 | |||
32 | config MACH_MX31ADS | ||
33 | bool "Support MX31ADS platforms" | ||
34 | select SOC_IMX31 | ||
35 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
36 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
37 | select IMX_HAVE_PLATFORM_IMX_UART | ||
38 | default y | ||
39 | help | ||
40 | Include support for MX31ADS platform. This includes specific | ||
41 | configurations for the board and its peripherals. | ||
42 | |||
43 | config MACH_MX31ADS_WM1133_EV1 | ||
44 | bool "Support Wolfson Microelectronics 1133-EV1 module" | ||
45 | depends on MACH_MX31ADS | ||
46 | depends on MFD_WM8350_I2C | ||
47 | depends on REGULATOR_WM8350 | ||
48 | select MFD_WM8350_CONFIG_MODE_0 | ||
49 | select MFD_WM8352_CONFIG_MODE_0 | ||
50 | help | ||
51 | Include support for the Wolfson Microelectronics 1133-EV1 PMU | ||
52 | and audio module for the MX31ADS platform. | ||
53 | |||
54 | config MACH_PCM037 | ||
55 | bool "Support Phytec pcm037 (i.MX31) platforms" | ||
56 | select SOC_IMX31 | ||
57 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
58 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
59 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
60 | select IMX_HAVE_PLATFORM_IMX_UART | ||
61 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
62 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
63 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
64 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
65 | select IMX_HAVE_PLATFORM_MXC_W1 | ||
66 | select MXC_ULPI if USB_ULPI | ||
67 | help | ||
68 | Include support for Phytec pcm037 platform. This includes | ||
69 | specific configurations for the board and its peripherals. | ||
70 | |||
71 | config MACH_PCM037_EET | ||
72 | bool "Support pcm037 EET board extensions" | ||
73 | depends on MACH_PCM037 | ||
74 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
75 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
76 | help | ||
77 | Add support for PCM037 EET baseboard extensions. If you are using the | ||
78 | OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel | ||
79 | command-line parameter. | ||
80 | |||
81 | config MACH_MX31LITE | ||
82 | bool "Support MX31 LITEKIT (LogicPD)" | ||
83 | select SOC_IMX31 | ||
84 | select MXC_ULPI if USB_ULPI | ||
85 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
86 | select IMX_HAVE_PLATFORM_IMX_UART | ||
87 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
88 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
89 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
90 | select IMX_HAVE_PLATFORM_MXC_RTC | ||
91 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
92 | help | ||
93 | Include support for MX31 LITEKIT platform. This includes specific | ||
94 | configurations for the board and its peripherals. | ||
95 | |||
96 | config MACH_MX31_3DS | ||
97 | bool "Support MX31PDK (3DS)" | ||
98 | select SOC_IMX31 | ||
99 | select MXC_DEBUG_BOARD | ||
100 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
101 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
102 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
103 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | ||
104 | select IMX_HAVE_PLATFORM_IMX_UART | ||
105 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
106 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
107 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
108 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
109 | select MXC_ULPI if USB_ULPI | ||
110 | help | ||
111 | Include support for MX31PDK (3DS) platform. This includes specific | ||
112 | configurations for the board and its peripherals. | ||
113 | |||
114 | config MACH_MX31_3DS_MXC_NAND_USE_BBT | ||
115 | bool "Make the MXC NAND driver use the in flash Bad Block Table" | ||
116 | depends on MACH_MX31_3DS | ||
117 | depends on MTD_NAND_MXC | ||
118 | help | ||
119 | Enable this if you want that the MXC NAND driver uses the in flash | ||
120 | Bad Block Table to know what blocks are bad instead of scanning the | ||
121 | entire flash looking for bad block markers. | ||
122 | |||
123 | config MACH_MX31MOBOARD | ||
124 | bool "Support mx31moboard platforms (EPFL Mobots group)" | ||
125 | select SOC_IMX31 | ||
126 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
127 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
128 | select IMX_HAVE_PLATFORM_IMX_UART | ||
129 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
130 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
131 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
132 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
133 | select MXC_ULPI if USB_ULPI | ||
134 | help | ||
135 | Include support for mx31moboard platform. This includes specific | ||
136 | configurations for the board and its peripherals. | ||
137 | |||
138 | config MACH_MX31LILLY | ||
139 | bool "Support MX31 LILLY-1131 platforms (INCO startec)" | ||
140 | select SOC_IMX31 | ||
141 | select IMX_HAVE_PLATFORM_IMX_UART | ||
142 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
143 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
144 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
145 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
146 | select MXC_ULPI if USB_ULPI | ||
147 | help | ||
148 | Include support for mx31 based LILLY1131 modules. This includes | ||
149 | specific configurations for the board and its peripherals. | ||
150 | |||
151 | config MACH_QONG | ||
152 | bool "Support Dave/DENX QongEVB-LITE platform" | ||
153 | select SOC_IMX31 | ||
154 | select IMX_HAVE_PLATFORM_IMX_UART | ||
155 | help | ||
156 | Include support for Dave/DENX QongEVB-LITE platform. This includes | ||
157 | specific configurations for the board and its peripherals. | ||
158 | |||
159 | config MACH_PCM043 | ||
160 | bool "Support Phytec pcm043 (i.MX35) platforms" | ||
161 | select SOC_IMX35 | ||
162 | select IMX_HAVE_PLATFORM_FLEXCAN | ||
163 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
164 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
165 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
166 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
167 | select IMX_HAVE_PLATFORM_IMX_UART | ||
168 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
169 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
170 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
171 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
172 | select MXC_ULPI if USB_ULPI | ||
173 | help | ||
174 | Include support for Phytec pcm043 platform. This includes | ||
175 | specific configurations for the board and its peripherals. | ||
176 | |||
177 | config MACH_ARMADILLO5X0 | ||
178 | bool "Support Atmark Armadillo-500 Development Base Board" | ||
179 | select SOC_IMX31 | ||
180 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
181 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
182 | select IMX_HAVE_PLATFORM_IMX_UART | ||
183 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
184 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
185 | select IMX_HAVE_PLATFORM_MXC_MMC | ||
186 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
187 | select MXC_ULPI if USB_ULPI | ||
188 | help | ||
189 | Include support for Atmark Armadillo-500 platform. This includes | ||
190 | specific configurations for the board and its peripherals. | ||
191 | |||
192 | config MACH_MX35_3DS | ||
193 | bool "Support MX35PDK platform" | ||
194 | select SOC_IMX35 | ||
195 | select MXC_DEBUG_BOARD | ||
196 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
197 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
198 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
199 | select IMX_HAVE_PLATFORM_IMX_UART | ||
200 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
201 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
202 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
203 | help | ||
204 | Include support for MX35PDK platform. This includes specific | ||
205 | configurations for the board and its peripherals. | ||
206 | |||
207 | config MACH_KZM_ARM11_01 | ||
208 | bool "Support KZM-ARM11-01(Kyoto Microcomputer)" | ||
209 | select SOC_IMX31 | ||
210 | select IMX_HAVE_PLATFORM_IMX_UART | ||
211 | help | ||
212 | Include support for KZM-ARM11-01. This includes specific | ||
213 | configurations for the board and its peripherals. | ||
214 | |||
215 | config MACH_BUG | ||
216 | bool "Support Buglabs BUGBase platform" | ||
217 | select SOC_IMX31 | ||
218 | select IMX_HAVE_PLATFORM_IMX_UART | ||
219 | default y | ||
220 | help | ||
221 | Include support for BUGBase 1.3 platform. This includes specific | ||
222 | configurations for the board and its peripherals. | ||
223 | |||
224 | config MACH_EUKREA_CPUIMX35 | ||
225 | bool "Support Eukrea CPUIMX35 Platform" | ||
226 | select SOC_IMX35 | ||
227 | select IMX_HAVE_PLATFORM_FLEXCAN | ||
228 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
229 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
230 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
231 | select IMX_HAVE_PLATFORM_IMX_UART | ||
232 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
233 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
234 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
235 | select MXC_ULPI if USB_ULPI | ||
236 | help | ||
237 | Include support for Eukrea CPUIMX35 platform. This includes | ||
238 | specific configurations for the board and its peripherals. | ||
239 | |||
240 | choice | ||
241 | prompt "Baseboard" | ||
242 | depends on MACH_EUKREA_CPUIMX35 | ||
243 | default MACH_EUKREA_MBIMXSD35_BASEBOARD | ||
244 | |||
245 | config MACH_EUKREA_MBIMXSD35_BASEBOARD | ||
246 | bool "Eukrea MBIMXSD development board" | ||
247 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
248 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
249 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
250 | help | ||
251 | This adds board specific devices that can be found on Eukrea's | ||
252 | MBIMXSD evaluation board. | ||
253 | |||
254 | endchoice | ||
255 | |||
256 | config MACH_VPR200 | ||
257 | bool "Support VPR200 platform" | ||
258 | select SOC_IMX35 | ||
259 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
260 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
261 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
262 | select IMX_HAVE_PLATFORM_IMX_UART | ||
263 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
264 | select IMX_HAVE_PLATFORM_IPU_CORE | ||
265 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
266 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
267 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
268 | help | ||
269 | Include support for VPR200 platform. This includes specific | ||
270 | configurations for the board and its peripherals. | ||
271 | |||
272 | endif | ||
diff --git a/arch/arm/mach-mx3/Makefile b/arch/arm/mach-mx3/Makefile deleted file mode 100644 index 15a7ff826ce7..000000000000 --- a/arch/arm/mach-mx3/Makefile +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | |||
5 | # Object file lists. | ||
6 | |||
7 | obj-y := mm.o cpu.o | ||
8 | obj-$(CONFIG_SOC_IMX31) += clock-imx31.o iomux-imx31.o ehci-imx31.o | ||
9 | obj-$(CONFIG_SOC_IMX35) += clock-imx35.o ehci-imx35.o | ||
10 | obj-$(CONFIG_MACH_MX31ADS) += mach-mx31ads.o | ||
11 | obj-$(CONFIG_MACH_MX31LILLY) += mach-mx31lilly.o mx31lilly-db.o | ||
12 | obj-$(CONFIG_MACH_MX31LITE) += mach-mx31lite.o mx31lite-db.o | ||
13 | obj-$(CONFIG_MACH_PCM037) += mach-pcm037.o | ||
14 | obj-$(CONFIG_MACH_PCM037_EET) += mach-pcm037_eet.o | ||
15 | obj-$(CONFIG_MACH_MX31_3DS) += mach-mx31_3ds.o | ||
16 | obj-$(CONFIG_MACH_MX31MOBOARD) += mach-mx31moboard.o mx31moboard-devboard.o \ | ||
17 | mx31moboard-marxbot.o mx31moboard-smartbot.o | ||
18 | obj-$(CONFIG_MACH_QONG) += mach-qong.o | ||
19 | obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o | ||
20 | obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o | ||
21 | obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o | ||
22 | obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o | ||
23 | obj-$(CONFIG_MACH_BUG) += mach-bug.o | ||
24 | obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o | ||
25 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o | ||
26 | obj-$(CONFIG_MACH_VPR200) += mach-vpr200.o | ||
diff --git a/arch/arm/mach-mx3/Makefile.boot b/arch/arm/mach-mx3/Makefile.boot deleted file mode 100644 index e1dd366f836b..000000000000 --- a/arch/arm/mach-mx3/Makefile.boot +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | zreladdr-y := 0x80008000 | ||
2 | params_phys-y := 0x80000100 | ||
3 | initrd_phys-y := 0x80800000 | ||
diff --git a/arch/arm/mach-mx3/mm.c b/arch/arm/mach-mx3/mm.c deleted file mode 100644 index 54d7174b4202..000000000000 --- a/arch/arm/mach-mx3/mm.c +++ /dev/null | |||
@@ -1,141 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1999,2000 Arm Limited | ||
3 | * Copyright (C) 2000 Deep Blue Solutions Ltd | ||
4 | * Copyright (C) 2002 Shane Nay (shane@minirl.com) | ||
5 | * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. | ||
6 | * - add MX31 specific definitions | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | */ | ||
18 | |||
19 | #include <linux/mm.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/err.h> | ||
22 | |||
23 | #include <asm/pgtable.h> | ||
24 | #include <asm/mach/map.h> | ||
25 | #include <asm/hardware/cache-l2x0.h> | ||
26 | |||
27 | #include <mach/common.h> | ||
28 | #include <mach/hardware.h> | ||
29 | #include <mach/iomux-v3.h> | ||
30 | #include <mach/gpio.h> | ||
31 | #include <mach/irqs.h> | ||
32 | |||
33 | #ifdef CONFIG_SOC_IMX31 | ||
34 | static struct map_desc mx31_io_desc[] __initdata = { | ||
35 | imx_map_entry(MX31, X_MEMC, MT_DEVICE), | ||
36 | imx_map_entry(MX31, AVIC, MT_DEVICE_NONSHARED), | ||
37 | imx_map_entry(MX31, AIPS1, MT_DEVICE_NONSHARED), | ||
38 | imx_map_entry(MX31, AIPS2, MT_DEVICE_NONSHARED), | ||
39 | imx_map_entry(MX31, SPBA0, MT_DEVICE_NONSHARED), | ||
40 | }; | ||
41 | |||
42 | /* | ||
43 | * This function initializes the memory map. It is called during the | ||
44 | * system startup to create static physical to virtual memory mappings | ||
45 | * for the IO modules. | ||
46 | */ | ||
47 | void __init mx31_map_io(void) | ||
48 | { | ||
49 | iotable_init(mx31_io_desc, ARRAY_SIZE(mx31_io_desc)); | ||
50 | } | ||
51 | |||
52 | void __init imx31_init_early(void) | ||
53 | { | ||
54 | mxc_set_cpu_type(MXC_CPU_MX31); | ||
55 | mxc_arch_reset_init(MX31_IO_ADDRESS(MX31_WDOG_BASE_ADDR)); | ||
56 | } | ||
57 | |||
58 | static struct mxc_gpio_port imx31_gpio_ports[] = { | ||
59 | DEFINE_IMX_GPIO_PORT_IRQ(MX31, 0, 1, MX31_INT_GPIO1), | ||
60 | DEFINE_IMX_GPIO_PORT_IRQ(MX31, 1, 2, MX31_INT_GPIO2), | ||
61 | DEFINE_IMX_GPIO_PORT_IRQ(MX31, 2, 3, MX31_INT_GPIO3), | ||
62 | }; | ||
63 | |||
64 | void __init mx31_init_irq(void) | ||
65 | { | ||
66 | mxc_init_irq(MX31_IO_ADDRESS(MX31_AVIC_BASE_ADDR)); | ||
67 | mxc_gpio_init(imx31_gpio_ports, ARRAY_SIZE(imx31_gpio_ports)); | ||
68 | } | ||
69 | #endif /* ifdef CONFIG_SOC_IMX31 */ | ||
70 | |||
71 | #ifdef CONFIG_SOC_IMX35 | ||
72 | static struct map_desc mx35_io_desc[] __initdata = { | ||
73 | imx_map_entry(MX35, X_MEMC, MT_DEVICE), | ||
74 | imx_map_entry(MX35, AVIC, MT_DEVICE_NONSHARED), | ||
75 | imx_map_entry(MX35, AIPS1, MT_DEVICE_NONSHARED), | ||
76 | imx_map_entry(MX35, AIPS2, MT_DEVICE_NONSHARED), | ||
77 | imx_map_entry(MX35, SPBA0, MT_DEVICE_NONSHARED), | ||
78 | }; | ||
79 | |||
80 | void __init mx35_map_io(void) | ||
81 | { | ||
82 | iotable_init(mx35_io_desc, ARRAY_SIZE(mx35_io_desc)); | ||
83 | } | ||
84 | |||
85 | void __init imx35_init_early(void) | ||
86 | { | ||
87 | mxc_set_cpu_type(MXC_CPU_MX35); | ||
88 | mxc_iomux_v3_init(MX35_IO_ADDRESS(MX35_IOMUXC_BASE_ADDR)); | ||
89 | mxc_arch_reset_init(MX35_IO_ADDRESS(MX35_WDOG_BASE_ADDR)); | ||
90 | } | ||
91 | |||
92 | static struct mxc_gpio_port imx35_gpio_ports[] = { | ||
93 | DEFINE_IMX_GPIO_PORT_IRQ(MX35, 0, 1, MX35_INT_GPIO1), | ||
94 | DEFINE_IMX_GPIO_PORT_IRQ(MX35, 1, 2, MX35_INT_GPIO2), | ||
95 | DEFINE_IMX_GPIO_PORT_IRQ(MX35, 2, 3, MX35_INT_GPIO3), | ||
96 | }; | ||
97 | |||
98 | void __init mx35_init_irq(void) | ||
99 | { | ||
100 | mxc_init_irq(MX35_IO_ADDRESS(MX35_AVIC_BASE_ADDR)); | ||
101 | mxc_gpio_init(imx35_gpio_ports, ARRAY_SIZE(imx35_gpio_ports)); | ||
102 | } | ||
103 | #endif /* ifdef CONFIG_SOC_IMX35 */ | ||
104 | |||
105 | #ifdef CONFIG_CACHE_L2X0 | ||
106 | static int mxc_init_l2x0(void) | ||
107 | { | ||
108 | void __iomem *l2x0_base; | ||
109 | void __iomem *clkctl_base; | ||
110 | /* | ||
111 | * First of all, we must repair broken chip settings. There are some | ||
112 | * i.MX35 CPUs in the wild, comming with bogus L2 cache settings. These | ||
113 | * misconfigured CPUs will run amok immediately when the L2 cache gets enabled. | ||
114 | * Workaraound is to setup the correct register setting prior enabling the | ||
115 | * L2 cache. This should not hurt already working CPUs, as they are using the | ||
116 | * same value | ||
117 | */ | ||
118 | #define L2_MEM_VAL 0x10 | ||
119 | |||
120 | clkctl_base = ioremap(MX35_CLKCTL_BASE_ADDR, 4096); | ||
121 | if (clkctl_base != NULL) { | ||
122 | writel(0x00000515, clkctl_base + L2_MEM_VAL); | ||
123 | iounmap(clkctl_base); | ||
124 | } else { | ||
125 | pr_err("L2 cache: Cannot fix timing. Trying to continue without\n"); | ||
126 | } | ||
127 | |||
128 | l2x0_base = ioremap(MX3x_L2CC_BASE_ADDR, 4096); | ||
129 | if (IS_ERR(l2x0_base)) { | ||
130 | printk(KERN_ERR "remapping L2 cache area failed with %ld\n", | ||
131 | PTR_ERR(l2x0_base)); | ||
132 | return 0; | ||
133 | } | ||
134 | |||
135 | l2x0_init(l2x0_base, 0x00030024, 0x00000000); | ||
136 | |||
137 | return 0; | ||
138 | } | ||
139 | |||
140 | arch_initcall(mxc_init_l2x0); | ||
141 | #endif | ||
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig index d9b9aad5aefe..a5353fc0793f 100644 --- a/arch/arm/plat-mxc/Kconfig +++ b/arch/arm/plat-mxc/Kconfig | |||
@@ -51,7 +51,6 @@ config ARCH_MX51 | |||
51 | endchoice | 51 | endchoice |
52 | 52 | ||
53 | source "arch/arm/mach-imx/Kconfig" | 53 | source "arch/arm/mach-imx/Kconfig" |
54 | source "arch/arm/mach-mx3/Kconfig" | ||
55 | source "arch/arm/mach-mx5/Kconfig" | 54 | source "arch/arm/mach-mx5/Kconfig" |
56 | 55 | ||
57 | endmenu | 56 | endmenu |