diff options
-rw-r--r-- | arch/arm/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 239 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile | 21 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile.boot | 12 | ||||
-rw-r--r-- | arch/arm/mach-imx/clock-mx51-mx53.c (renamed from arch/arm/mach-mx5/clock-mx51-mx53.c) | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu-imx5.c (renamed from arch/arm/mach-mx5/cpu.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu_op-mx51.c (renamed from arch/arm/mach-mx5/cpu_op-mx51.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu_op-mx51.h (renamed from arch/arm/mach-mx5/cpu_op-mx51.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/crm-regs-imx5.h (renamed from arch/arm/mach-mx5/crm_regs.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices-imx50.h (renamed from arch/arm/mach-mx5/devices-imx50.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices-imx51.h (renamed from arch/arm/mach-mx5/devices-imx51.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices-imx53.h (renamed from arch/arm/mach-mx5/devices-imx53.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/efika.h (renamed from arch/arm/mach-mx5/efika.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/ehci-imx5.c (renamed from arch/arm/mach-mx5/ehci.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimx51-baseboard.c (renamed from arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c (renamed from arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx51-dt.c (renamed from arch/arm/mach-mx5/imx51-dt.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx53-dt.c (renamed from arch/arm/mach-mx5/imx53-dt.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-cpuimx51.c (renamed from arch/arm/mach-mx5/board-cpuimx51.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-cpuimx51sd.c (renamed from arch/arm/mach-mx5/board-cpuimx51sd.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx50_rdp.c (renamed from arch/arm/mach-mx5/board-mx50_rdp.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx51_3ds.c (renamed from arch/arm/mach-mx5/board-mx51_3ds.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx51_babbage.c (renamed from arch/arm/mach-mx5/board-mx51_babbage.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx51_efikamx.c (renamed from arch/arm/mach-mx5/board-mx51_efikamx.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx51_efikasb.c (renamed from arch/arm/mach-mx5/board-mx51_efikasb.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx53_ard.c (renamed from arch/arm/mach-mx5/board-mx53_ard.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx53_evk.c (renamed from arch/arm/mach-mx5/board-mx53_evk.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx53_loco.c (renamed from arch/arm/mach-mx5/board-mx53_loco.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx53_smd.c (renamed from arch/arm/mach-mx5/board-mx53_smd.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mm-imx5.c (renamed from arch/arm/mach-mx5/mm.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx51_efika.c (renamed from arch/arm/mach-mx5/mx51_efika.c) | 0 | ||||
-rw-r--r-- | arch/arm/mach-imx/pm-imx5.c (renamed from arch/arm/mach-mx5/system.c) | 89 | ||||
-rw-r--r-- | arch/arm/mach-mx5/Kconfig | 244 | ||||
-rw-r--r-- | arch/arm/mach-mx5/Makefile | 26 | ||||
-rw-r--r-- | arch/arm/mach-mx5/Makefile.boot | 9 | ||||
-rw-r--r-- | arch/arm/mach-mx5/pm-imx5.c | 83 | ||||
-rw-r--r-- | arch/arm/plat-mxc/Kconfig | 15 |
37 files changed, 356 insertions, 385 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index dfcf3b033e1..cf7d467267a 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -160,7 +160,6 @@ machine-$(CONFIG_ARCH_MSM) := msm | |||
160 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 | 160 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 |
161 | machine-$(CONFIG_ARCH_IMX_V4_V5) := imx | 161 | machine-$(CONFIG_ARCH_IMX_V4_V5) := imx |
162 | machine-$(CONFIG_ARCH_IMX_V6_V7) := imx | 162 | machine-$(CONFIG_ARCH_IMX_V6_V7) := imx |
163 | machine-$(CONFIG_ARCH_MX5) := mx5 | ||
164 | machine-$(CONFIG_ARCH_MXS) := mxs | 163 | machine-$(CONFIG_ARCH_MXS) := mxs |
165 | machine-$(CONFIG_ARCH_NETX) := netx | 164 | machine-$(CONFIG_ARCH_NETX) := netx |
166 | machine-$(CONFIG_ARCH_NOMADIK) := nomadik | 165 | machine-$(CONFIG_ARCH_NOMADIK) := nomadik |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 5f7f9c2a34a..ef6a6b8f01c 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -33,6 +33,18 @@ config ARCH_MX31 | |||
33 | config ARCH_MX35 | 33 | config ARCH_MX35 |
34 | bool | 34 | bool |
35 | 35 | ||
36 | config ARCH_MX5 | ||
37 | bool | ||
38 | |||
39 | config ARCH_MX50 | ||
40 | bool | ||
41 | |||
42 | config ARCH_MX51 | ||
43 | bool | ||
44 | |||
45 | config ARCH_MX53 | ||
46 | bool | ||
47 | |||
36 | config SOC_IMX1 | 48 | config SOC_IMX1 |
37 | bool | 49 | bool |
38 | select ARCH_MX1 | 50 | select ARCH_MX1 |
@@ -86,6 +98,32 @@ config SOC_IMX35 | |||
86 | select MXC_AVIC | 98 | select MXC_AVIC |
87 | select SMP_ON_UP if SMP | 99 | select SMP_ON_UP if SMP |
88 | 100 | ||
101 | config SOC_IMX5 | ||
102 | select CPU_V7 | ||
103 | select ARM_L1_CACHE_SHIFT_6 | ||
104 | select MXC_TZIC | ||
105 | select ARCH_MXC_IOMUX_V3 | ||
106 | select ARCH_MXC_AUDMUX_V2 | ||
107 | select ARCH_HAS_CPUFREQ | ||
108 | select ARCH_MX5 | ||
109 | bool | ||
110 | |||
111 | config SOC_IMX50 | ||
112 | bool | ||
113 | select SOC_IMX5 | ||
114 | select ARCH_MX50 | ||
115 | |||
116 | config SOC_IMX51 | ||
117 | bool | ||
118 | select SOC_IMX5 | ||
119 | select ARCH_MX5 | ||
120 | select ARCH_MX51 | ||
121 | |||
122 | config SOC_IMX53 | ||
123 | bool | ||
124 | select SOC_IMX5 | ||
125 | select ARCH_MX5 | ||
126 | select ARCH_MX53 | ||
89 | 127 | ||
90 | if ARCH_IMX_V4_V5 | 128 | if ARCH_IMX_V4_V5 |
91 | 129 | ||
@@ -604,6 +642,207 @@ config MACH_VPR200 | |||
604 | Include support for VPR200 platform. This includes specific | 642 | Include support for VPR200 platform. This includes specific |
605 | configurations for the board and its peripherals. | 643 | configurations for the board and its peripherals. |
606 | 644 | ||
645 | comment "i.MX5 platforms:" | ||
646 | |||
647 | config MACH_MX50_RDP | ||
648 | bool "Support MX50 reference design platform" | ||
649 | depends on BROKEN | ||
650 | select SOC_IMX50 | ||
651 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
652 | select IMX_HAVE_PLATFORM_IMX_UART | ||
653 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
654 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
655 | help | ||
656 | Include support for MX50 reference design platform (RDP) board. This | ||
657 | includes specific configurations for the board and its peripherals. | ||
658 | |||
659 | comment "i.MX51 machines:" | ||
660 | |||
661 | config MACH_IMX51_DT | ||
662 | bool "Support i.MX51 platforms from device tree" | ||
663 | select SOC_IMX51 | ||
664 | select USE_OF | ||
665 | select MACH_MX51_BABBAGE | ||
666 | help | ||
667 | Include support for Freescale i.MX51 based platforms | ||
668 | using the device tree for discovery | ||
669 | |||
670 | config MACH_MX51_BABBAGE | ||
671 | bool "Support MX51 BABBAGE platforms" | ||
672 | select SOC_IMX51 | ||
673 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
674 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
675 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
676 | select IMX_HAVE_PLATFORM_IMX_UART | ||
677 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
678 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
679 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
680 | help | ||
681 | Include support for MX51 Babbage platform, also known as MX51EVK in | ||
682 | u-boot. This includes specific configurations for the board and its | ||
683 | peripherals. | ||
684 | |||
685 | config MACH_MX51_3DS | ||
686 | bool "Support MX51PDK (3DS)" | ||
687 | select SOC_IMX51 | ||
688 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
689 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | ||
690 | select IMX_HAVE_PLATFORM_IMX_UART | ||
691 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
692 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
693 | select MXC_DEBUG_BOARD | ||
694 | help | ||
695 | Include support for MX51PDK (3DS) platform. This includes specific | ||
696 | configurations for the board and its peripherals. | ||
697 | |||
698 | config MACH_EUKREA_CPUIMX51 | ||
699 | bool "Support Eukrea CPUIMX51 module" | ||
700 | select SOC_IMX51 | ||
701 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
702 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
703 | select IMX_HAVE_PLATFORM_IMX_UART | ||
704 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
705 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
706 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
707 | help | ||
708 | Include support for Eukrea CPUIMX51 platform. This includes | ||
709 | specific configurations for the module and its peripherals. | ||
710 | |||
711 | choice | ||
712 | prompt "Baseboard" | ||
713 | depends on MACH_EUKREA_CPUIMX51 | ||
714 | default MACH_EUKREA_MBIMX51_BASEBOARD | ||
715 | |||
716 | config MACH_EUKREA_MBIMX51_BASEBOARD | ||
717 | prompt "Eukrea MBIMX51 development board" | ||
718 | bool | ||
719 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | ||
720 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
721 | select LEDS_GPIO_REGISTER | ||
722 | help | ||
723 | This adds board specific devices that can be found on Eukrea's | ||
724 | MBIMX51 evaluation board. | ||
725 | |||
726 | endchoice | ||
727 | |||
728 | config MACH_EUKREA_CPUIMX51SD | ||
729 | bool "Support Eukrea CPUIMX51SD module" | ||
730 | select SOC_IMX51 | ||
731 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
732 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
733 | select IMX_HAVE_PLATFORM_IMX_UART | ||
734 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
735 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
736 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
737 | help | ||
738 | Include support for Eukrea CPUIMX51SD platform. This includes | ||
739 | specific configurations for the module and its peripherals. | ||
740 | |||
741 | choice | ||
742 | prompt "Baseboard" | ||
743 | depends on MACH_EUKREA_CPUIMX51SD | ||
744 | default MACH_EUKREA_MBIMXSD51_BASEBOARD | ||
745 | |||
746 | config MACH_EUKREA_MBIMXSD51_BASEBOARD | ||
747 | prompt "Eukrea MBIMXSD development board" | ||
748 | bool | ||
749 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
750 | select LEDS_GPIO_REGISTER | ||
751 | help | ||
752 | This adds board specific devices that can be found on Eukrea's | ||
753 | MBIMXSD evaluation board. | ||
754 | |||
755 | endchoice | ||
756 | |||
757 | config MX51_EFIKA_COMMON | ||
758 | bool | ||
759 | select SOC_IMX51 | ||
760 | select IMX_HAVE_PLATFORM_IMX_UART | ||
761 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
762 | select IMX_HAVE_PLATFORM_PATA_IMX | ||
763 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
764 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
765 | select MXC_ULPI if USB_ULPI | ||
766 | |||
767 | config MACH_MX51_EFIKAMX | ||
768 | bool "Support MX51 Genesi Efika MX nettop" | ||
769 | select LEDS_GPIO_REGISTER | ||
770 | select MX51_EFIKA_COMMON | ||
771 | help | ||
772 | Include support for Genesi Efika MX nettop. This includes specific | ||
773 | configurations for the board and its peripherals. | ||
774 | |||
775 | config MACH_MX51_EFIKASB | ||
776 | bool "Support MX51 Genesi Efika Smartbook" | ||
777 | select LEDS_GPIO_REGISTER | ||
778 | select MX51_EFIKA_COMMON | ||
779 | help | ||
780 | Include support for Genesi Efika Smartbook. This includes specific | ||
781 | configurations for the board and its peripherals. | ||
782 | |||
783 | comment "i.MX53 machines:" | ||
784 | |||
785 | config MACH_IMX53_DT | ||
786 | bool "Support i.MX53 platforms from device tree" | ||
787 | select SOC_IMX53 | ||
788 | select USE_OF | ||
789 | select MACH_MX53_ARD | ||
790 | select MACH_MX53_EVK | ||
791 | select MACH_MX53_LOCO | ||
792 | select MACH_MX53_SMD | ||
793 | help | ||
794 | Include support for Freescale i.MX53 based platforms | ||
795 | using the device tree for discovery | ||
796 | |||
797 | config MACH_MX53_EVK | ||
798 | bool "Support MX53 EVK platforms" | ||
799 | select SOC_IMX53 | ||
800 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
801 | select IMX_HAVE_PLATFORM_IMX_UART | ||
802 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
803 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
804 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
805 | select LEDS_GPIO_REGISTER | ||
806 | help | ||
807 | Include support for MX53 EVK platform. This includes specific | ||
808 | configurations for the board and its peripherals. | ||
809 | |||
810 | config MACH_MX53_SMD | ||
811 | bool "Support MX53 SMD platforms" | ||
812 | select SOC_IMX53 | ||
813 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
814 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
815 | select IMX_HAVE_PLATFORM_IMX_UART | ||
816 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
817 | help | ||
818 | Include support for MX53 SMD platform. This includes specific | ||
819 | configurations for the board and its peripherals. | ||
820 | |||
821 | config MACH_MX53_LOCO | ||
822 | bool "Support MX53 LOCO platforms" | ||
823 | select SOC_IMX53 | ||
824 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
825 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
826 | select IMX_HAVE_PLATFORM_IMX_UART | ||
827 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
828 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
829 | select LEDS_GPIO_REGISTER | ||
830 | help | ||
831 | Include support for MX53 LOCO platform. This includes specific | ||
832 | configurations for the board and its peripherals. | ||
833 | |||
834 | config MACH_MX53_ARD | ||
835 | bool "Support MX53 ARD platforms" | ||
836 | select SOC_IMX53 | ||
837 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
838 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
839 | select IMX_HAVE_PLATFORM_IMX_UART | ||
840 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
841 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
842 | help | ||
843 | Include support for MX53 ARD platform. This includes specific | ||
844 | configurations for the board and its peripherals. | ||
845 | |||
607 | comment "i.MX6 family:" | 846 | comment "i.MX6 family:" |
608 | 847 | ||
609 | config SOC_IMX6Q | 848 | config SOC_IMX6Q |
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index aba73214c2a..9cf630a341e 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile | |||
@@ -11,6 +11,8 @@ obj-$(CONFIG_SOC_IMX27) += clock-imx27.o mm-imx27.o ehci-imx27.o | |||
11 | obj-$(CONFIG_SOC_IMX31) += mm-imx3.o cpu-imx31.o clock-imx31.o iomux-imx31.o ehci-imx31.o | 11 | obj-$(CONFIG_SOC_IMX31) += mm-imx3.o cpu-imx31.o clock-imx31.o iomux-imx31.o ehci-imx31.o |
12 | obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o clock-imx35.o ehci-imx35.o | 12 | obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o clock-imx35.o ehci-imx35.o |
13 | 13 | ||
14 | obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o mm-imx5.o clock-mx51-mx53.o ehci-imx5.o pm-imx5.o cpu_op-mx51.o | ||
15 | |||
14 | # Support for CMOS sensor interface | 16 | # Support for CMOS sensor interface |
15 | obj-$(CONFIG_MX1_VIDEO) += mx1-camera-fiq.o mx1-camera-fiq-ksym.o | 17 | obj-$(CONFIG_MX1_VIDEO) += mx1-camera-fiq.o mx1-camera-fiq-ksym.o |
16 | 18 | ||
@@ -71,3 +73,22 @@ obj-$(CONFIG_SMP) += platsmp.o | |||
71 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | 73 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o |
72 | obj-$(CONFIG_LOCAL_TIMERS) += localtimer.o | 74 | obj-$(CONFIG_LOCAL_TIMERS) += localtimer.o |
73 | obj-$(CONFIG_SOC_IMX6Q) += clock-imx6q.o mach-imx6q.o pm-imx6q.o | 75 | obj-$(CONFIG_SOC_IMX6Q) += clock-imx6q.o mach-imx6q.o pm-imx6q.o |
76 | |||
77 | # i.MX5 based machines | ||
78 | obj-$(CONFIG_MACH_MX51_BABBAGE) += mach-mx51_babbage.o | ||
79 | obj-$(CONFIG_MACH_MX51_3DS) += mach-mx51_3ds.o | ||
80 | obj-$(CONFIG_MACH_MX53_EVK) += mach-mx53_evk.o | ||
81 | obj-$(CONFIG_MACH_MX53_SMD) += mach-mx53_smd.o | ||
82 | obj-$(CONFIG_MACH_MX53_LOCO) += mach-mx53_loco.o | ||
83 | obj-$(CONFIG_MACH_MX53_ARD) += mach-mx53_ard.o | ||
84 | obj-$(CONFIG_MACH_EUKREA_CPUIMX51) += mach-cpuimx51.o | ||
85 | obj-$(CONFIG_MACH_EUKREA_MBIMX51_BASEBOARD) += eukrea_mbimx51-baseboard.o | ||
86 | obj-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += mach-cpuimx51sd.o | ||
87 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD51_BASEBOARD) += eukrea_mbimxsd-baseboard.o | ||
88 | obj-$(CONFIG_MX51_EFIKA_COMMON) += mx51_efika.o | ||
89 | obj-$(CONFIG_MACH_MX51_EFIKAMX) += mach-mx51_efikamx.o | ||
90 | obj-$(CONFIG_MACH_MX51_EFIKASB) += mach-mx51_efikasb.o | ||
91 | obj-$(CONFIG_MACH_MX50_RDP) += mach-mx50_rdp.o | ||
92 | |||
93 | obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o | ||
94 | obj-$(CONFIG_MACH_IMX53_DT) += imx53-dt.o | ||
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot index 22d85889f62..2c12b7889e9 100644 --- a/arch/arm/mach-imx/Makefile.boot +++ b/arch/arm/mach-imx/Makefile.boot | |||
@@ -18,6 +18,18 @@ zreladdr-$(CONFIG_ARCH_MX3) += 0x80008000 | |||
18 | params_phys-$(CONFIG_ARCH_MX3) := 0x80000100 | 18 | params_phys-$(CONFIG_ARCH_MX3) := 0x80000100 |
19 | initrd_phys-$(CONFIG_ARCH_MX3) := 0x80800000 | 19 | initrd_phys-$(CONFIG_ARCH_MX3) := 0x80800000 |
20 | 20 | ||
21 | zreladdr-$(CONFIG_SOC_IMX50) += 0x70008000 | ||
22 | params_phys-$(CONFIG_SOC_IMX50) := 0x70000100 | ||
23 | initrd_phys-$(CONFIG_SOC_IMX50) := 0x70800000 | ||
24 | |||
25 | zreladdr-$(CONFIG_SOC_IMX51) += 0x90008000 | ||
26 | params_phys-$(CONFIG_SOC_IMX51) := 0x90000100 | ||
27 | initrd_phys-$(CONFIG_SOC_IMX51) := 0x90800000 | ||
28 | |||
29 | zreladdr-$(CONFIG_SOC_IMX53) += 0x70008000 | ||
30 | params_phys-$(CONFIG_SOC_IMX53) := 0x70000100 | ||
31 | initrd_phys-$(CONFIG_SOC_IMX53) := 0x70800000 | ||
32 | |||
21 | zreladdr-$(CONFIG_SOC_IMX6Q) += 0x10008000 | 33 | zreladdr-$(CONFIG_SOC_IMX6Q) += 0x10008000 |
22 | params_phys-$(CONFIG_SOC_IMX6Q) := 0x10000100 | 34 | params_phys-$(CONFIG_SOC_IMX6Q) := 0x10000100 |
23 | initrd_phys-$(CONFIG_SOC_IMX6Q) := 0x10800000 | 35 | initrd_phys-$(CONFIG_SOC_IMX6Q) := 0x10800000 |
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-imx/clock-mx51-mx53.c index 2aacf41c48e..a2c654dce39 100644 --- a/arch/arm/mach-mx5/clock-mx51-mx53.c +++ b/arch/arm/mach-imx/clock-mx51-mx53.c | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <mach/common.h> | 23 | #include <mach/common.h> |
24 | #include <mach/clock.h> | 24 | #include <mach/clock.h> |
25 | 25 | ||
26 | #include "crm_regs.h" | 26 | #include "crm-regs-imx5.h" |
27 | 27 | ||
28 | /* External clock values passed-in by the board code */ | 28 | /* External clock values passed-in by the board code */ |
29 | static unsigned long external_high_reference, external_low_reference; | 29 | static unsigned long external_high_reference, external_low_reference; |
diff --git a/arch/arm/mach-mx5/cpu.c b/arch/arm/mach-imx/cpu-imx5.c index 5c5328257dc..5c5328257dc 100644 --- a/arch/arm/mach-mx5/cpu.c +++ b/arch/arm/mach-imx/cpu-imx5.c | |||
diff --git a/arch/arm/mach-mx5/cpu_op-mx51.c b/arch/arm/mach-imx/cpu_op-mx51.c index 9d34c3d4c02..9d34c3d4c02 100644 --- a/arch/arm/mach-mx5/cpu_op-mx51.c +++ b/arch/arm/mach-imx/cpu_op-mx51.c | |||
diff --git a/arch/arm/mach-mx5/cpu_op-mx51.h b/arch/arm/mach-imx/cpu_op-mx51.h index 97477fecb46..97477fecb46 100644 --- a/arch/arm/mach-mx5/cpu_op-mx51.h +++ b/arch/arm/mach-imx/cpu_op-mx51.h | |||
diff --git a/arch/arm/mach-mx5/crm_regs.h b/arch/arm/mach-imx/crm-regs-imx5.h index 5e11ba7daee..5e11ba7daee 100644 --- a/arch/arm/mach-mx5/crm_regs.h +++ b/arch/arm/mach-imx/crm-regs-imx5.h | |||
diff --git a/arch/arm/mach-mx5/devices-imx50.h b/arch/arm/mach-imx/devices-imx50.h index 7216667eaaf..7216667eaaf 100644 --- a/arch/arm/mach-mx5/devices-imx50.h +++ b/arch/arm/mach-imx/devices-imx50.h | |||
diff --git a/arch/arm/mach-mx5/devices-imx51.h b/arch/arm/mach-imx/devices-imx51.h index af488bc0e22..af488bc0e22 100644 --- a/arch/arm/mach-mx5/devices-imx51.h +++ b/arch/arm/mach-imx/devices-imx51.h | |||
diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-imx/devices-imx53.h index 6e1e5d1f8c3..6e1e5d1f8c3 100644 --- a/arch/arm/mach-mx5/devices-imx53.h +++ b/arch/arm/mach-imx/devices-imx53.h | |||
diff --git a/arch/arm/mach-mx5/efika.h b/arch/arm/mach-imx/efika.h index 014aa985faa..014aa985faa 100644 --- a/arch/arm/mach-mx5/efika.h +++ b/arch/arm/mach-imx/efika.h | |||
diff --git a/arch/arm/mach-mx5/ehci.c b/arch/arm/mach-imx/ehci-imx5.c index c17fa131728..c17fa131728 100644 --- a/arch/arm/mach-mx5/ehci.c +++ b/arch/arm/mach-imx/ehci-imx5.c | |||
diff --git a/arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx51-baseboard.c index a6a3ab8f1b1..a6a3ab8f1b1 100644 --- a/arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimx51-baseboard.c | |||
diff --git a/arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c index d817fc80b98..d817fc80b98 100644 --- a/arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c | |||
diff --git a/arch/arm/mach-mx5/imx51-dt.c b/arch/arm/mach-imx/imx51-dt.c index ccc61585659..ccc61585659 100644 --- a/arch/arm/mach-mx5/imx51-dt.c +++ b/arch/arm/mach-imx/imx51-dt.c | |||
diff --git a/arch/arm/mach-mx5/imx53-dt.c b/arch/arm/mach-imx/imx53-dt.c index ccaa0b81b76..ccaa0b81b76 100644 --- a/arch/arm/mach-mx5/imx53-dt.c +++ b/arch/arm/mach-imx/imx53-dt.c | |||
diff --git a/arch/arm/mach-mx5/board-cpuimx51.c b/arch/arm/mach-imx/mach-cpuimx51.c index 1fc11034804..1fc11034804 100644 --- a/arch/arm/mach-mx5/board-cpuimx51.c +++ b/arch/arm/mach-imx/mach-cpuimx51.c | |||
diff --git a/arch/arm/mach-mx5/board-cpuimx51sd.c b/arch/arm/mach-imx/mach-cpuimx51sd.c index 52a11c1898e..52a11c1898e 100644 --- a/arch/arm/mach-mx5/board-cpuimx51sd.c +++ b/arch/arm/mach-imx/mach-cpuimx51sd.c | |||
diff --git a/arch/arm/mach-mx5/board-mx50_rdp.c b/arch/arm/mach-imx/mach-mx50_rdp.c index fc3621d90bd..fc3621d90bd 100644 --- a/arch/arm/mach-mx5/board-mx50_rdp.c +++ b/arch/arm/mach-imx/mach-mx50_rdp.c | |||
diff --git a/arch/arm/mach-mx5/board-mx51_3ds.c b/arch/arm/mach-imx/mach-mx51_3ds.c index 05783906db2..05783906db2 100644 --- a/arch/arm/mach-mx5/board-mx51_3ds.c +++ b/arch/arm/mach-imx/mach-mx51_3ds.c | |||
diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-imx/mach-mx51_babbage.c index 5c837603ff0..5c837603ff0 100644 --- a/arch/arm/mach-mx5/board-mx51_babbage.c +++ b/arch/arm/mach-imx/mach-mx51_babbage.c | |||
diff --git a/arch/arm/mach-mx5/board-mx51_efikamx.c b/arch/arm/mach-imx/mach-mx51_efikamx.c index a9e48662cf7..a9e48662cf7 100644 --- a/arch/arm/mach-mx5/board-mx51_efikamx.c +++ b/arch/arm/mach-imx/mach-mx51_efikamx.c | |||
diff --git a/arch/arm/mach-mx5/board-mx51_efikasb.c b/arch/arm/mach-imx/mach-mx51_efikasb.c index 38c4a3e28d3..38c4a3e28d3 100644 --- a/arch/arm/mach-mx5/board-mx51_efikasb.c +++ b/arch/arm/mach-imx/mach-mx51_efikasb.c | |||
diff --git a/arch/arm/mach-mx5/board-mx53_ard.c b/arch/arm/mach-imx/mach-mx53_ard.c index b88a2bc4dc1..b88a2bc4dc1 100644 --- a/arch/arm/mach-mx5/board-mx53_ard.c +++ b/arch/arm/mach-imx/mach-mx53_ard.c | |||
diff --git a/arch/arm/mach-mx5/board-mx53_evk.c b/arch/arm/mach-imx/mach-mx53_evk.c index c69413d7fd6..c69413d7fd6 100644 --- a/arch/arm/mach-mx5/board-mx53_evk.c +++ b/arch/arm/mach-imx/mach-mx53_evk.c | |||
diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-imx/mach-mx53_loco.c index e64a8f74491..e64a8f74491 100644 --- a/arch/arm/mach-mx5/board-mx53_loco.c +++ b/arch/arm/mach-imx/mach-mx53_loco.c | |||
diff --git a/arch/arm/mach-mx5/board-mx53_smd.c b/arch/arm/mach-imx/mach-mx53_smd.c index d498573ca7d..d498573ca7d 100644 --- a/arch/arm/mach-mx5/board-mx53_smd.c +++ b/arch/arm/mach-imx/mach-mx53_smd.c | |||
diff --git a/arch/arm/mach-mx5/mm.c b/arch/arm/mach-imx/mm-imx5.c index 26eacc9d0d9..26eacc9d0d9 100644 --- a/arch/arm/mach-mx5/mm.c +++ b/arch/arm/mach-imx/mm-imx5.c | |||
diff --git a/arch/arm/mach-mx5/mx51_efika.c b/arch/arm/mach-imx/mx51_efika.c index ec6ca91b299..ec6ca91b299 100644 --- a/arch/arm/mach-mx5/mx51_efika.c +++ b/arch/arm/mach-imx/mx51_efika.c | |||
diff --git a/arch/arm/mach-mx5/system.c b/arch/arm/mach-imx/pm-imx5.c index 144ebebc4a6..3d57b5d429f 100644 --- a/arch/arm/mach-mx5/system.c +++ b/arch/arm/mach-imx/pm-imx5.c | |||
@@ -1,8 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. | 2 | * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. |
3 | */ | 3 | * |
4 | |||
5 | /* | ||
6 | * The code contained herein is licensed under the GNU General Public | 4 | * The code contained herein is licensed under the GNU General Public |
7 | * License. You may obtain a copy of the GNU General Public License | 5 | * License. You may obtain a copy of the GNU General Public License |
8 | * Version 2 or later at the following locations: | 6 | * Version 2 or later at the following locations: |
@@ -10,14 +8,22 @@ | |||
10 | * http://www.opensource.org/licenses/gpl-license.html | 8 | * http://www.opensource.org/licenses/gpl-license.html |
11 | * http://www.gnu.org/copyleft/gpl.html | 9 | * http://www.gnu.org/copyleft/gpl.html |
12 | */ | 10 | */ |
13 | #include <linux/platform_device.h> | 11 | #include <linux/suspend.h> |
12 | #include <linux/clk.h> | ||
14 | #include <linux/io.h> | 13 | #include <linux/io.h> |
15 | #include <mach/hardware.h> | 14 | #include <linux/err.h> |
15 | #include <asm/cacheflush.h> | ||
16 | #include <asm/tlbflush.h> | ||
16 | #include <mach/common.h> | 17 | #include <mach/common.h> |
17 | #include "crm_regs.h" | 18 | #include <mach/hardware.h> |
19 | #include "crm-regs-imx5.h" | ||
20 | |||
21 | static struct clk *gpc_dvfs_clk; | ||
18 | 22 | ||
19 | /* set cpu low power mode before WFI instruction. This function is called | 23 | /* |
20 | * mx5 because it can be used for mx50, mx51, and mx53.*/ | 24 | * set cpu low power mode before WFI instruction. This function is called |
25 | * mx5 because it can be used for mx50, mx51, and mx53. | ||
26 | */ | ||
21 | void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode) | 27 | void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode) |
22 | { | 28 | { |
23 | u32 plat_lpc, arm_srpgcr, ccm_clpcr; | 29 | u32 plat_lpc, arm_srpgcr, ccm_clpcr; |
@@ -83,3 +89,68 @@ void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode) | |||
83 | __raw_writel(empgc1, MXC_SRPG_EMPGC1_SRPGCR); | 89 | __raw_writel(empgc1, MXC_SRPG_EMPGC1_SRPGCR); |
84 | } | 90 | } |
85 | } | 91 | } |
92 | |||
93 | static int mx5_suspend_prepare(void) | ||
94 | { | ||
95 | return clk_enable(gpc_dvfs_clk); | ||
96 | } | ||
97 | |||
98 | static int mx5_suspend_enter(suspend_state_t state) | ||
99 | { | ||
100 | switch (state) { | ||
101 | case PM_SUSPEND_MEM: | ||
102 | mx5_cpu_lp_set(STOP_POWER_OFF); | ||
103 | break; | ||
104 | case PM_SUSPEND_STANDBY: | ||
105 | mx5_cpu_lp_set(WAIT_UNCLOCKED_POWER_OFF); | ||
106 | break; | ||
107 | default: | ||
108 | return -EINVAL; | ||
109 | } | ||
110 | |||
111 | if (state == PM_SUSPEND_MEM) { | ||
112 | local_flush_tlb_all(); | ||
113 | flush_cache_all(); | ||
114 | |||
115 | /*clear the EMPGC0/1 bits */ | ||
116 | __raw_writel(0, MXC_SRPG_EMPGC0_SRPGCR); | ||
117 | __raw_writel(0, MXC_SRPG_EMPGC1_SRPGCR); | ||
118 | } | ||
119 | cpu_do_idle(); | ||
120 | return 0; | ||
121 | } | ||
122 | |||
123 | static void mx5_suspend_finish(void) | ||
124 | { | ||
125 | clk_disable(gpc_dvfs_clk); | ||
126 | } | ||
127 | |||
128 | static int mx5_pm_valid(suspend_state_t state) | ||
129 | { | ||
130 | return (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX); | ||
131 | } | ||
132 | |||
133 | static const struct platform_suspend_ops mx5_suspend_ops = { | ||
134 | .valid = mx5_pm_valid, | ||
135 | .prepare = mx5_suspend_prepare, | ||
136 | .enter = mx5_suspend_enter, | ||
137 | .finish = mx5_suspend_finish, | ||
138 | }; | ||
139 | |||
140 | static int __init mx5_pm_init(void) | ||
141 | { | ||
142 | if (!cpu_is_mx51() && !cpu_is_mx53()) | ||
143 | return 0; | ||
144 | |||
145 | if (gpc_dvfs_clk == NULL) | ||
146 | gpc_dvfs_clk = clk_get(NULL, "gpc_dvfs"); | ||
147 | |||
148 | if (!IS_ERR(gpc_dvfs_clk)) { | ||
149 | if (cpu_is_mx51()) | ||
150 | suspend_set_ops(&mx5_suspend_ops); | ||
151 | } else | ||
152 | return -EPERM; | ||
153 | |||
154 | return 0; | ||
155 | } | ||
156 | device_initcall(mx5_pm_init); | ||
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig deleted file mode 100644 index af0c212e3c7..00000000000 --- a/arch/arm/mach-mx5/Kconfig +++ /dev/null | |||
@@ -1,244 +0,0 @@ | |||
1 | if ARCH_MX5 | ||
2 | |||
3 | # ARCH_MX5/50/53 are left to mark places where prevent multi-soc in single | ||
4 | # image. So for most time, SOC_IMX50/51/53 should be used. | ||
5 | |||
6 | config ARCH_MX51 | ||
7 | bool | ||
8 | |||
9 | config ARCH_MX50 | ||
10 | bool | ||
11 | |||
12 | config ARCH_MX53 | ||
13 | bool | ||
14 | |||
15 | config SOC_IMX50 | ||
16 | bool | ||
17 | select CPU_V7 | ||
18 | select ARM_L1_CACHE_SHIFT_6 | ||
19 | select MXC_TZIC | ||
20 | select ARCH_MXC_IOMUX_V3 | ||
21 | select ARCH_MXC_AUDMUX_V2 | ||
22 | select ARCH_HAS_CPUFREQ | ||
23 | select ARCH_MX50 | ||
24 | |||
25 | config SOC_IMX51 | ||
26 | bool | ||
27 | select CPU_V7 | ||
28 | select ARM_L1_CACHE_SHIFT_6 | ||
29 | select MXC_TZIC | ||
30 | select ARCH_MXC_IOMUX_V3 | ||
31 | select ARCH_MXC_AUDMUX_V2 | ||
32 | select ARCH_HAS_CPUFREQ | ||
33 | select ARCH_MX51 | ||
34 | |||
35 | config SOC_IMX53 | ||
36 | bool | ||
37 | select CPU_V7 | ||
38 | select ARM_L1_CACHE_SHIFT_6 | ||
39 | select MXC_TZIC | ||
40 | select ARCH_MXC_IOMUX_V3 | ||
41 | select ARCH_MX53 | ||
42 | |||
43 | #comment "i.MX50 machines:" | ||
44 | |||
45 | config MACH_MX50_RDP | ||
46 | bool "Support MX50 reference design platform" | ||
47 | depends on BROKEN | ||
48 | select SOC_IMX50 | ||
49 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
50 | select IMX_HAVE_PLATFORM_IMX_UART | ||
51 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
52 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
53 | help | ||
54 | Include support for MX50 reference design platform (RDP) board. This | ||
55 | includes specific configurations for the board and its peripherals. | ||
56 | |||
57 | comment "i.MX51 machines:" | ||
58 | |||
59 | config MACH_IMX51_DT | ||
60 | bool "Support i.MX51 platforms from device tree" | ||
61 | select SOC_IMX51 | ||
62 | select USE_OF | ||
63 | select MACH_MX51_BABBAGE | ||
64 | help | ||
65 | Include support for Freescale i.MX51 based platforms | ||
66 | using the device tree for discovery | ||
67 | |||
68 | config MACH_MX51_BABBAGE | ||
69 | bool "Support MX51 BABBAGE platforms" | ||
70 | select SOC_IMX51 | ||
71 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
72 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
73 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
74 | select IMX_HAVE_PLATFORM_IMX_UART | ||
75 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
76 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
77 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
78 | help | ||
79 | Include support for MX51 Babbage platform, also known as MX51EVK in | ||
80 | u-boot. This includes specific configurations for the board and its | ||
81 | peripherals. | ||
82 | |||
83 | config MACH_MX51_3DS | ||
84 | bool "Support MX51PDK (3DS)" | ||
85 | select SOC_IMX51 | ||
86 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
87 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | ||
88 | select IMX_HAVE_PLATFORM_IMX_UART | ||
89 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
90 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
91 | select MXC_DEBUG_BOARD | ||
92 | help | ||
93 | Include support for MX51PDK (3DS) platform. This includes specific | ||
94 | configurations for the board and its peripherals. | ||
95 | |||
96 | config MACH_EUKREA_CPUIMX51 | ||
97 | bool "Support Eukrea CPUIMX51 module" | ||
98 | select SOC_IMX51 | ||
99 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
100 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
101 | select IMX_HAVE_PLATFORM_IMX_UART | ||
102 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
103 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
104 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
105 | help | ||
106 | Include support for Eukrea CPUIMX51 platform. This includes | ||
107 | specific configurations for the module and its peripherals. | ||
108 | |||
109 | choice | ||
110 | prompt "Baseboard" | ||
111 | depends on MACH_EUKREA_CPUIMX51 | ||
112 | default MACH_EUKREA_MBIMX51_BASEBOARD | ||
113 | |||
114 | config MACH_EUKREA_MBIMX51_BASEBOARD | ||
115 | prompt "Eukrea MBIMX51 development board" | ||
116 | bool | ||
117 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | ||
118 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
119 | select LEDS_GPIO_REGISTER | ||
120 | help | ||
121 | This adds board specific devices that can be found on Eukrea's | ||
122 | MBIMX51 evaluation board. | ||
123 | |||
124 | endchoice | ||
125 | |||
126 | config MACH_EUKREA_CPUIMX51SD | ||
127 | bool "Support Eukrea CPUIMX51SD module" | ||
128 | select SOC_IMX51 | ||
129 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | ||
130 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
131 | select IMX_HAVE_PLATFORM_IMX_UART | ||
132 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
133 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
134 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
135 | help | ||
136 | Include support for Eukrea CPUIMX51SD platform. This includes | ||
137 | specific configurations for the module and its peripherals. | ||
138 | |||
139 | choice | ||
140 | prompt "Baseboard" | ||
141 | depends on MACH_EUKREA_CPUIMX51SD | ||
142 | default MACH_EUKREA_MBIMXSD51_BASEBOARD | ||
143 | |||
144 | config MACH_EUKREA_MBIMXSD51_BASEBOARD | ||
145 | prompt "Eukrea MBIMXSD development board" | ||
146 | bool | ||
147 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
148 | select LEDS_GPIO_REGISTER | ||
149 | help | ||
150 | This adds board specific devices that can be found on Eukrea's | ||
151 | MBIMXSD evaluation board. | ||
152 | |||
153 | endchoice | ||
154 | |||
155 | config MX51_EFIKA_COMMON | ||
156 | bool | ||
157 | select SOC_IMX51 | ||
158 | select IMX_HAVE_PLATFORM_IMX_UART | ||
159 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
160 | select IMX_HAVE_PLATFORM_PATA_IMX | ||
161 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
162 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
163 | select MXC_ULPI if USB_ULPI | ||
164 | |||
165 | config MACH_MX51_EFIKAMX | ||
166 | bool "Support MX51 Genesi Efika MX nettop" | ||
167 | select LEDS_GPIO_REGISTER | ||
168 | select MX51_EFIKA_COMMON | ||
169 | help | ||
170 | Include support for Genesi Efika MX nettop. This includes specific | ||
171 | configurations for the board and its peripherals. | ||
172 | |||
173 | config MACH_MX51_EFIKASB | ||
174 | bool "Support MX51 Genesi Efika Smartbook" | ||
175 | select LEDS_GPIO_REGISTER | ||
176 | select MX51_EFIKA_COMMON | ||
177 | help | ||
178 | Include support for Genesi Efika Smartbook. This includes specific | ||
179 | configurations for the board and its peripherals. | ||
180 | |||
181 | comment "i.MX53 machines:" | ||
182 | |||
183 | config MACH_IMX53_DT | ||
184 | bool "Support i.MX53 platforms from device tree" | ||
185 | select SOC_IMX53 | ||
186 | select USE_OF | ||
187 | select MACH_MX53_ARD | ||
188 | select MACH_MX53_EVK | ||
189 | select MACH_MX53_LOCO | ||
190 | select MACH_MX53_SMD | ||
191 | help | ||
192 | Include support for Freescale i.MX53 based platforms | ||
193 | using the device tree for discovery | ||
194 | |||
195 | config MACH_MX53_EVK | ||
196 | bool "Support MX53 EVK platforms" | ||
197 | select SOC_IMX53 | ||
198 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
199 | select IMX_HAVE_PLATFORM_IMX_UART | ||
200 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
201 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
202 | select IMX_HAVE_PLATFORM_SPI_IMX | ||
203 | select LEDS_GPIO_REGISTER | ||
204 | help | ||
205 | Include support for MX53 EVK platform. This includes specific | ||
206 | configurations for the board and its peripherals. | ||
207 | |||
208 | config MACH_MX53_SMD | ||
209 | bool "Support MX53 SMD platforms" | ||
210 | select SOC_IMX53 | ||
211 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
212 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
213 | select IMX_HAVE_PLATFORM_IMX_UART | ||
214 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
215 | help | ||
216 | Include support for MX53 SMD platform. This includes specific | ||
217 | configurations for the board and its peripherals. | ||
218 | |||
219 | config MACH_MX53_LOCO | ||
220 | bool "Support MX53 LOCO platforms" | ||
221 | select SOC_IMX53 | ||
222 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
223 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
224 | select IMX_HAVE_PLATFORM_IMX_UART | ||
225 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
226 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
227 | select LEDS_GPIO_REGISTER | ||
228 | help | ||
229 | Include support for MX53 LOCO platform. This includes specific | ||
230 | configurations for the board and its peripherals. | ||
231 | |||
232 | config MACH_MX53_ARD | ||
233 | bool "Support MX53 ARD platforms" | ||
234 | select SOC_IMX53 | ||
235 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
236 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
237 | select IMX_HAVE_PLATFORM_IMX_UART | ||
238 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | ||
239 | select IMX_HAVE_PLATFORM_GPIO_KEYS | ||
240 | help | ||
241 | Include support for MX53 ARD platform. This includes specific | ||
242 | configurations for the board and its peripherals. | ||
243 | |||
244 | endif | ||
diff --git a/arch/arm/mach-mx5/Makefile b/arch/arm/mach-mx5/Makefile deleted file mode 100644 index 0fc60807fa2..00000000000 --- a/arch/arm/mach-mx5/Makefile +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | |||
5 | # Object file lists. | ||
6 | obj-y := cpu.o mm.o clock-mx51-mx53.o ehci.o system.o | ||
7 | |||
8 | obj-$(CONFIG_PM) += pm-imx5.o | ||
9 | obj-$(CONFIG_CPU_FREQ_IMX) += cpu_op-mx51.o | ||
10 | obj-$(CONFIG_MACH_MX51_BABBAGE) += board-mx51_babbage.o | ||
11 | obj-$(CONFIG_MACH_MX51_3DS) += board-mx51_3ds.o | ||
12 | obj-$(CONFIG_MACH_MX53_EVK) += board-mx53_evk.o | ||
13 | obj-$(CONFIG_MACH_MX53_SMD) += board-mx53_smd.o | ||
14 | obj-$(CONFIG_MACH_MX53_LOCO) += board-mx53_loco.o | ||
15 | obj-$(CONFIG_MACH_MX53_ARD) += board-mx53_ard.o | ||
16 | obj-$(CONFIG_MACH_EUKREA_CPUIMX51) += board-cpuimx51.o | ||
17 | obj-$(CONFIG_MACH_EUKREA_MBIMX51_BASEBOARD) += eukrea_mbimx51-baseboard.o | ||
18 | obj-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += board-cpuimx51sd.o | ||
19 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD51_BASEBOARD) += eukrea_mbimxsd-baseboard.o | ||
20 | obj-$(CONFIG_MX51_EFIKA_COMMON) += mx51_efika.o | ||
21 | obj-$(CONFIG_MACH_MX51_EFIKAMX) += board-mx51_efikamx.o | ||
22 | obj-$(CONFIG_MACH_MX51_EFIKASB) += board-mx51_efikasb.o | ||
23 | obj-$(CONFIG_MACH_MX50_RDP) += board-mx50_rdp.o | ||
24 | |||
25 | obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o | ||
26 | obj-$(CONFIG_MACH_IMX53_DT) += imx53-dt.o | ||
diff --git a/arch/arm/mach-mx5/Makefile.boot b/arch/arm/mach-mx5/Makefile.boot deleted file mode 100644 index ca207ca305e..00000000000 --- a/arch/arm/mach-mx5/Makefile.boot +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | zreladdr-$(CONFIG_ARCH_MX50) += 0x70008000 | ||
2 | params_phys-$(CONFIG_ARCH_MX50) := 0x70000100 | ||
3 | initrd_phys-$(CONFIG_ARCH_MX50) := 0x70800000 | ||
4 | zreladdr-$(CONFIG_ARCH_MX51) += 0x90008000 | ||
5 | params_phys-$(CONFIG_ARCH_MX51) := 0x90000100 | ||
6 | initrd_phys-$(CONFIG_ARCH_MX51) := 0x90800000 | ||
7 | zreladdr-$(CONFIG_ARCH_MX53) += 0x70008000 | ||
8 | params_phys-$(CONFIG_ARCH_MX53) := 0x70000100 | ||
9 | initrd_phys-$(CONFIG_ARCH_MX53) := 0x70800000 | ||
diff --git a/arch/arm/mach-mx5/pm-imx5.c b/arch/arm/mach-mx5/pm-imx5.c deleted file mode 100644 index 98052fc852c..00000000000 --- a/arch/arm/mach-mx5/pm-imx5.c +++ /dev/null | |||
@@ -1,83 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | #include <linux/suspend.h> | ||
12 | #include <linux/clk.h> | ||
13 | #include <linux/io.h> | ||
14 | #include <linux/err.h> | ||
15 | #include <asm/cacheflush.h> | ||
16 | #include <asm/tlbflush.h> | ||
17 | #include <mach/common.h> | ||
18 | #include <mach/hardware.h> | ||
19 | #include "crm_regs.h" | ||
20 | |||
21 | static struct clk *gpc_dvfs_clk; | ||
22 | |||
23 | static int mx5_suspend_prepare(void) | ||
24 | { | ||
25 | return clk_enable(gpc_dvfs_clk); | ||
26 | } | ||
27 | |||
28 | static int mx5_suspend_enter(suspend_state_t state) | ||
29 | { | ||
30 | switch (state) { | ||
31 | case PM_SUSPEND_MEM: | ||
32 | mx5_cpu_lp_set(STOP_POWER_OFF); | ||
33 | break; | ||
34 | case PM_SUSPEND_STANDBY: | ||
35 | mx5_cpu_lp_set(WAIT_UNCLOCKED_POWER_OFF); | ||
36 | break; | ||
37 | default: | ||
38 | return -EINVAL; | ||
39 | } | ||
40 | |||
41 | if (state == PM_SUSPEND_MEM) { | ||
42 | local_flush_tlb_all(); | ||
43 | flush_cache_all(); | ||
44 | |||
45 | /*clear the EMPGC0/1 bits */ | ||
46 | __raw_writel(0, MXC_SRPG_EMPGC0_SRPGCR); | ||
47 | __raw_writel(0, MXC_SRPG_EMPGC1_SRPGCR); | ||
48 | } | ||
49 | cpu_do_idle(); | ||
50 | return 0; | ||
51 | } | ||
52 | |||
53 | static void mx5_suspend_finish(void) | ||
54 | { | ||
55 | clk_disable(gpc_dvfs_clk); | ||
56 | } | ||
57 | |||
58 | static int mx5_pm_valid(suspend_state_t state) | ||
59 | { | ||
60 | return (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX); | ||
61 | } | ||
62 | |||
63 | static const struct platform_suspend_ops mx5_suspend_ops = { | ||
64 | .valid = mx5_pm_valid, | ||
65 | .prepare = mx5_suspend_prepare, | ||
66 | .enter = mx5_suspend_enter, | ||
67 | .finish = mx5_suspend_finish, | ||
68 | }; | ||
69 | |||
70 | static int __init mx5_pm_init(void) | ||
71 | { | ||
72 | if (gpc_dvfs_clk == NULL) | ||
73 | gpc_dvfs_clk = clk_get(NULL, "gpc_dvfs"); | ||
74 | |||
75 | if (!IS_ERR(gpc_dvfs_clk)) { | ||
76 | if (cpu_is_mx51()) | ||
77 | suspend_set_ops(&mx5_suspend_ops); | ||
78 | } else | ||
79 | return -EPERM; | ||
80 | |||
81 | return 0; | ||
82 | } | ||
83 | device_initcall(mx5_pm_init); | ||
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig index a08a95107a6..fdde4d13d2e 100644 --- a/arch/arm/plat-mxc/Kconfig +++ b/arch/arm/plat-mxc/Kconfig | |||
@@ -17,25 +17,16 @@ config ARCH_IMX_V4_V5 | |||
17 | and ARMv5 SoCs | 17 | and ARMv5 SoCs |
18 | 18 | ||
19 | config ARCH_IMX_V6_V7 | 19 | config ARCH_IMX_V6_V7 |
20 | bool "i.MX3, i.MX6" | 20 | bool "i.MX3, i.MX5, i.MX6" |
21 | select AUTO_ZRELADDR if !ZBOOT_ROM | 21 | select AUTO_ZRELADDR if !ZBOOT_ROM |
22 | select ARM_PATCH_PHYS_VIRT | 22 | select ARM_PATCH_PHYS_VIRT |
23 | help | 23 | help |
24 | This enables support for systems based on the Freescale i.MX3 and i.MX6 | 24 | This enables support for systems based on the Freescale i.MX3, i.MX5 |
25 | family. | 25 | and i.MX6 family. |
26 | |||
27 | config ARCH_MX5 | ||
28 | bool "i.MX50, i.MX51, i.MX53" | ||
29 | select AUTO_ZRELADDR | ||
30 | select ARM_PATCH_PHYS_VIRT | ||
31 | help | ||
32 | This enables support for machines using Freescale's i.MX50 and i.MX53 | ||
33 | processors. | ||
34 | 26 | ||
35 | endchoice | 27 | endchoice |
36 | 28 | ||
37 | source "arch/arm/mach-imx/Kconfig" | 29 | source "arch/arm/mach-imx/Kconfig" |
38 | source "arch/arm/mach-mx5/Kconfig" | ||
39 | 30 | ||
40 | endmenu | 31 | endmenu |
41 | 32 | ||