diff options
48 files changed, 605 insertions, 462 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 70c424eaf7b0..9260c293405c 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -154,9 +154,7 @@ machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx | |||
154 | machine-$(CONFIG_ARCH_MMP) := mmp | 154 | machine-$(CONFIG_ARCH_MMP) := mmp |
155 | machine-$(CONFIG_ARCH_MSM) := msm | 155 | machine-$(CONFIG_ARCH_MSM) := msm |
156 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 | 156 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 |
157 | machine-$(CONFIG_ARCH_MX1) := imx | 157 | machine-$(CONFIG_ARCH_IMX_V4_V5) := imx |
158 | machine-$(CONFIG_ARCH_MX2) := imx | ||
159 | machine-$(CONFIG_ARCH_MX25) := imx | ||
160 | machine-$(CONFIG_ARCH_MX3) := imx | 158 | machine-$(CONFIG_ARCH_MX3) := imx |
161 | machine-$(CONFIG_ARCH_MX5) := mx5 | 159 | machine-$(CONFIG_ARCH_MX5) := mx5 |
162 | machine-$(CONFIG_ARCH_MXS) := mxs | 160 | machine-$(CONFIG_ARCH_MXS) := mxs |
diff --git a/arch/arm/configs/mx27_defconfig b/arch/arm/configs/imx_v4_v5_defconfig index 9ad4c656c9bd..11a4192197c8 100644 --- a/arch/arm/configs/mx27_defconfig +++ b/arch/arm/configs/imx_v4_v5_defconfig | |||
@@ -3,9 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_POSIX_MQUEUE=y | 4 | CONFIG_POSIX_MQUEUE=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
7 | CONFIG_EXPERT=y | 6 | CONFIG_EXPERT=y |
8 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
9 | # CONFIG_COMPAT_BRK is not set | 7 | # CONFIG_COMPAT_BRK is not set |
10 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
11 | CONFIG_PROFILING=y | 9 | CONFIG_PROFILING=y |
@@ -17,8 +15,12 @@ CONFIG_MODULE_UNLOAD=y | |||
17 | # CONFIG_IOSCHED_DEADLINE is not set | 15 | # CONFIG_IOSCHED_DEADLINE is not set |
18 | # CONFIG_IOSCHED_CFQ is not set | 16 | # CONFIG_IOSCHED_CFQ is not set |
19 | CONFIG_ARCH_MXC=y | 17 | CONFIG_ARCH_MXC=y |
20 | CONFIG_ARCH_MX2=y | 18 | CONFIG_ARCH_IMX_V4_V5=y |
21 | CONFIG_MACH_MX27=y | 19 | CONFIG_ARCH_MX1ADS=y |
20 | CONFIG_MACH_SCB9328=y | ||
21 | CONFIG_MACH_MX21ADS=y | ||
22 | CONFIG_MACH_MX25_3DS=y | ||
23 | CONFIG_MACH_EUKREA_CPUIMX25=y | ||
22 | CONFIG_MACH_MX27ADS=y | 24 | CONFIG_MACH_MX27ADS=y |
23 | CONFIG_MACH_PCM038=y | 25 | CONFIG_MACH_PCM038=y |
24 | CONFIG_MACH_CPUIMX27=y | 26 | CONFIG_MACH_CPUIMX27=y |
@@ -29,6 +31,7 @@ CONFIG_MACH_IMX27_VISSTRIM_M10=y | |||
29 | CONFIG_MACH_IMX27LITE=y | 31 | CONFIG_MACH_IMX27LITE=y |
30 | CONFIG_MACH_PCA100=y | 32 | CONFIG_MACH_PCA100=y |
31 | CONFIG_MACH_MXT_TD60=y | 33 | CONFIG_MACH_MXT_TD60=y |
34 | CONFIG_MACH_IMX27IPCAM=y | ||
32 | CONFIG_MXC_IRQ_PRIOR=y | 35 | CONFIG_MXC_IRQ_PRIOR=y |
33 | CONFIG_MXC_PWM=y | 36 | CONFIG_MXC_PWM=y |
34 | CONFIG_NO_HZ=y | 37 | CONFIG_NO_HZ=y |
@@ -39,7 +42,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 | |||
39 | CONFIG_ZBOOT_ROM_BSS=0x0 | 42 | CONFIG_ZBOOT_ROM_BSS=0x0 |
40 | CONFIG_FPE_NWFPE=y | 43 | CONFIG_FPE_NWFPE=y |
41 | CONFIG_FPE_NWFPE_XP=y | 44 | CONFIG_FPE_NWFPE_XP=y |
42 | CONFIG_PM=y | ||
43 | CONFIG_PM_DEBUG=y | 45 | CONFIG_PM_DEBUG=y |
44 | CONFIG_NET=y | 46 | CONFIG_NET=y |
45 | CONFIG_PACKET=y | 47 | CONFIG_PACKET=y |
@@ -55,8 +57,9 @@ CONFIG_IP_PNP_DHCP=y | |||
55 | # CONFIG_INET_DIAG is not set | 57 | # CONFIG_INET_DIAG is not set |
56 | # CONFIG_IPV6 is not set | 58 | # CONFIG_IPV6 is not set |
57 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 59 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
60 | CONFIG_DEVTMPFS=y | ||
61 | CONFIG_DEVTMPFS_MOUNT=y | ||
58 | CONFIG_MTD=y | 62 | CONFIG_MTD=y |
59 | CONFIG_MTD_PARTITIONS=y | ||
60 | CONFIG_MTD_CMDLINE_PARTS=y | 63 | CONFIG_MTD_CMDLINE_PARTS=y |
61 | CONFIG_MTD_CHAR=y | 64 | CONFIG_MTD_CHAR=y |
62 | CONFIG_MTD_BLOCK=y | 65 | CONFIG_MTD_BLOCK=y |
@@ -69,12 +72,15 @@ CONFIG_MTD_CFI_GEOMETRY=y | |||
69 | CONFIG_MTD_CFI_INTELEXT=y | 72 | CONFIG_MTD_CFI_INTELEXT=y |
70 | CONFIG_MTD_PHYSMAP=y | 73 | CONFIG_MTD_PHYSMAP=y |
71 | CONFIG_MTD_NAND=y | 74 | CONFIG_MTD_NAND=y |
72 | CONFIG_MTD_NAND_MXC=y | ||
73 | CONFIG_MTD_UBI=y | 75 | CONFIG_MTD_UBI=y |
76 | CONFIG_MISC_DEVICES=y | ||
74 | CONFIG_EEPROM_AT24=y | 77 | CONFIG_EEPROM_AT24=y |
78 | CONFIG_EEPROM_AT25=y | ||
75 | CONFIG_NETDEVICES=y | 79 | CONFIG_NETDEVICES=y |
76 | CONFIG_NET_ETHERNET=y | 80 | CONFIG_NET_ETHERNET=y |
77 | CONFIG_FEC=y | 81 | CONFIG_SMC91X=y |
82 | CONFIG_DM9000=y | ||
83 | CONFIG_SMC911X=y | ||
78 | # CONFIG_NETDEV_1000 is not set | 84 | # CONFIG_NETDEV_1000 is not set |
79 | # CONFIG_NETDEV_10000 is not set | 85 | # CONFIG_NETDEV_10000 is not set |
80 | # CONFIG_INPUT_MOUSEDEV is not set | 86 | # CONFIG_INPUT_MOUSEDEV is not set |
@@ -84,10 +90,10 @@ CONFIG_INPUT_EVDEV=y | |||
84 | CONFIG_INPUT_TOUCHSCREEN=y | 90 | CONFIG_INPUT_TOUCHSCREEN=y |
85 | CONFIG_TOUCHSCREEN_ADS7846=m | 91 | CONFIG_TOUCHSCREEN_ADS7846=m |
86 | # CONFIG_SERIO is not set | 92 | # CONFIG_SERIO is not set |
93 | # CONFIG_LEGACY_PTYS is not set | ||
87 | CONFIG_SERIAL_8250=m | 94 | CONFIG_SERIAL_8250=m |
88 | CONFIG_SERIAL_IMX=y | 95 | CONFIG_SERIAL_IMX=y |
89 | CONFIG_SERIAL_IMX_CONSOLE=y | 96 | CONFIG_SERIAL_IMX_CONSOLE=y |
90 | # CONFIG_LEGACY_PTYS is not set | ||
91 | # CONFIG_HW_RANDOM is not set | 97 | # CONFIG_HW_RANDOM is not set |
92 | CONFIG_I2C=y | 98 | CONFIG_I2C=y |
93 | CONFIG_I2C_CHARDEV=y | 99 | CONFIG_I2C_CHARDEV=y |
@@ -98,19 +104,56 @@ CONFIG_W1=y | |||
98 | CONFIG_W1_MASTER_MXC=y | 104 | CONFIG_W1_MASTER_MXC=y |
99 | CONFIG_W1_SLAVE_THERM=y | 105 | CONFIG_W1_SLAVE_THERM=y |
100 | # CONFIG_HWMON is not set | 106 | # CONFIG_HWMON is not set |
107 | CONFIG_WATCHDOG=y | ||
108 | CONFIG_IMX2_WDT=y | ||
109 | CONFIG_MFD_MC13XXX=y | ||
110 | CONFIG_REGULATOR=y | ||
111 | CONFIG_REGULATOR_MC13783=y | ||
112 | CONFIG_REGULATOR_MC13892=y | ||
101 | CONFIG_FB=y | 113 | CONFIG_FB=y |
102 | CONFIG_FB_IMX=y | 114 | CONFIG_FB_IMX=y |
115 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
116 | CONFIG_LCD_CLASS_DEVICE=y | ||
117 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
118 | CONFIG_BACKLIGHT_PWM=y | ||
103 | CONFIG_FRAMEBUFFER_CONSOLE=y | 119 | CONFIG_FRAMEBUFFER_CONSOLE=y |
104 | CONFIG_FONTS=y | 120 | CONFIG_FONTS=y |
105 | CONFIG_FONT_8x8=y | 121 | CONFIG_FONT_8x8=y |
106 | # CONFIG_HID_SUPPORT is not set | 122 | CONFIG_LOGO=y |
107 | CONFIG_USB=m | 123 | CONFIG_SOUND=y |
124 | CONFIG_SND=y | ||
125 | # CONFIG_SND_ARM is not set | ||
126 | # CONFIG_SND_SPI is not set | ||
127 | CONFIG_SND_SOC=y | ||
128 | CONFIG_SND_IMX_SOC=y | ||
129 | CONFIG_SND_SOC_MX27VIS_AIC32X4=y | ||
130 | CONFIG_SND_SOC_PHYCORE_AC97=y | ||
131 | CONFIG_SND_SOC_EUKREA_TLV320=y | ||
132 | CONFIG_USB_HID=m | ||
133 | CONFIG_USB=y | ||
108 | # CONFIG_USB_DEVICE_CLASS is not set | 134 | # CONFIG_USB_DEVICE_CLASS is not set |
135 | CONFIG_USB_EHCI_HCD=y | ||
136 | CONFIG_USB_EHCI_MXC=y | ||
109 | CONFIG_USB_ULPI=y | 137 | CONFIG_USB_ULPI=y |
110 | CONFIG_MMC=y | 138 | CONFIG_MMC=y |
111 | CONFIG_MMC_MXC=y | 139 | CONFIG_MMC_MXC=y |
140 | CONFIG_NEW_LEDS=y | ||
141 | CONFIG_LEDS_CLASS=y | ||
142 | CONFIG_LEDS_MC13783=y | ||
143 | CONFIG_LEDS_TRIGGERS=y | ||
144 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
145 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
146 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y | ||
147 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
148 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
112 | CONFIG_RTC_CLASS=y | 149 | CONFIG_RTC_CLASS=y |
113 | CONFIG_RTC_DRV_PCF8563=y | 150 | CONFIG_RTC_DRV_PCF8563=y |
151 | CONFIG_RTC_DRV_IMXDI=y | ||
152 | CONFIG_RTC_MXC=y | ||
153 | CONFIG_DMADEVICES=y | ||
154 | CONFIG_IMX_SDMA=y | ||
155 | CONFIG_IMX_DMA=y | ||
156 | # CONFIG_IOMMU_SUPPORT is not set | ||
114 | # CONFIG_DNOTIFY is not set | 157 | # CONFIG_DNOTIFY is not set |
115 | # CONFIG_PROC_PAGE_MONITOR is not set | 158 | # CONFIG_PROC_PAGE_MONITOR is not set |
116 | CONFIG_TMPFS=y | 159 | CONFIG_TMPFS=y |
@@ -119,12 +162,9 @@ CONFIG_UBIFS_FS=y | |||
119 | CONFIG_NFS_FS=y | 162 | CONFIG_NFS_FS=y |
120 | CONFIG_NFS_V3=y | 163 | CONFIG_NFS_V3=y |
121 | CONFIG_ROOT_NFS=y | 164 | CONFIG_ROOT_NFS=y |
122 | CONFIG_NLS=y | ||
123 | CONFIG_NLS_CODEPAGE_437=m | 165 | CONFIG_NLS_CODEPAGE_437=m |
124 | CONFIG_NLS_CODEPAGE_850=m | 166 | CONFIG_NLS_CODEPAGE_850=m |
125 | CONFIG_NLS_ISO8859_1=y | 167 | CONFIG_NLS_ISO8859_1=y |
126 | CONFIG_NLS_ISO8859_15=m | 168 | CONFIG_NLS_ISO8859_15=m |
127 | CONFIG_DEBUG_FS=y | ||
128 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
129 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 169 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
130 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 170 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
diff --git a/arch/arm/configs/mx1_defconfig b/arch/arm/configs/mx1_defconfig deleted file mode 100644 index c9436d0bf593..000000000000 --- a/arch/arm/configs/mx1_defconfig +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | ||
2 | CONFIG_SYSVIPC=y | ||
3 | CONFIG_IKCONFIG=y | ||
4 | CONFIG_IKCONFIG_PROC=y | ||
5 | CONFIG_LOG_BUF_SHIFT=14 | ||
6 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
7 | CONFIG_EXPERT=y | ||
8 | CONFIG_SLAB=y | ||
9 | CONFIG_MODULES=y | ||
10 | CONFIG_MODULE_UNLOAD=y | ||
11 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
12 | CONFIG_MODVERSIONS=y | ||
13 | # CONFIG_BLK_DEV_BSG is not set | ||
14 | CONFIG_ARCH_MXC=y | ||
15 | CONFIG_ARCH_MX1=y | ||
16 | CONFIG_ARCH_MX1ADS=y | ||
17 | CONFIG_MACH_SCB9328=y | ||
18 | CONFIG_MACH_APF9328=y | ||
19 | CONFIG_MXC_IRQ_PRIOR=y | ||
20 | CONFIG_NO_HZ=y | ||
21 | CONFIG_HIGH_RES_TIMERS=y | ||
22 | CONFIG_PREEMPT=y | ||
23 | CONFIG_AEABI=y | ||
24 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
25 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
26 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off" | ||
27 | CONFIG_PM=y | ||
28 | CONFIG_PM_DEBUG=y | ||
29 | CONFIG_NET=y | ||
30 | CONFIG_PACKET=y | ||
31 | CONFIG_UNIX=y | ||
32 | CONFIG_INET=y | ||
33 | CONFIG_IP_PNP=y | ||
34 | CONFIG_IP_PNP_DHCP=y | ||
35 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
36 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
37 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
38 | # CONFIG_INET_LRO is not set | ||
39 | # CONFIG_INET_DIAG is not set | ||
40 | # CONFIG_IPV6 is not set | ||
41 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
42 | CONFIG_FW_LOADER=m | ||
43 | CONFIG_MTD=y | ||
44 | CONFIG_MTD_PARTITIONS=y | ||
45 | CONFIG_MTD_CMDLINE_PARTS=y | ||
46 | CONFIG_MTD_CHAR=y | ||
47 | CONFIG_MTD_BLOCK=y | ||
48 | CONFIG_MTD_CFI=y | ||
49 | CONFIG_MTD_PHYSMAP=y | ||
50 | # CONFIG_BLK_DEV is not set | ||
51 | # CONFIG_MISC_DEVICES is not set | ||
52 | CONFIG_NETDEVICES=y | ||
53 | CONFIG_PHYLIB=y | ||
54 | CONFIG_SMSC_PHY=y | ||
55 | CONFIG_NET_ETHERNET=y | ||
56 | CONFIG_DM9000=y | ||
57 | # CONFIG_NETDEV_1000 is not set | ||
58 | # CONFIG_NETDEV_10000 is not set | ||
59 | # CONFIG_INPUT is not set | ||
60 | # CONFIG_SERIO is not set | ||
61 | # CONFIG_VT is not set | ||
62 | CONFIG_SERIAL_IMX=y | ||
63 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
64 | # CONFIG_LEGACY_PTYS is not set | ||
65 | # CONFIG_HW_RANDOM is not set | ||
66 | CONFIG_I2C=y | ||
67 | CONFIG_I2C_CHARDEV=y | ||
68 | CONFIG_I2C_IMX=y | ||
69 | CONFIG_W1=y | ||
70 | CONFIG_W1_MASTER_MXC=y | ||
71 | CONFIG_W1_SLAVE_THERM=y | ||
72 | # CONFIG_HWMON is not set | ||
73 | CONFIG_FB=y | ||
74 | CONFIG_USB_GADGET=y | ||
75 | CONFIG_USB_GADGET_IMX=y | ||
76 | CONFIG_USB_ETH=m | ||
77 | CONFIG_MMC=y | ||
78 | CONFIG_MMC_MXC=y | ||
79 | # CONFIG_DNOTIFY is not set | ||
80 | CONFIG_INOTIFY=y | ||
81 | CONFIG_TMPFS=y | ||
82 | CONFIG_JFFS2_FS=y | ||
83 | CONFIG_NFS_FS=y | ||
84 | CONFIG_NFS_V3=y | ||
85 | CONFIG_NFS_V4=y | ||
86 | CONFIG_ROOT_NFS=y | ||
87 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
88 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
89 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
90 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
91 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
diff --git a/arch/arm/configs/mx21_defconfig b/arch/arm/configs/mx21_defconfig deleted file mode 100644 index 411f88dd4402..000000000000 --- a/arch/arm/configs/mx21_defconfig +++ /dev/null | |||
@@ -1,97 +0,0 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | ||
2 | # CONFIG_SWAP is not set | ||
3 | CONFIG_SYSVIPC=y | ||
4 | CONFIG_LOG_BUF_SHIFT=14 | ||
5 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
7 | CONFIG_EXPERT=y | ||
8 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
9 | CONFIG_SLAB=y | ||
10 | CONFIG_MODULES=y | ||
11 | CONFIG_MODULE_UNLOAD=y | ||
12 | # CONFIG_BLK_DEV_BSG is not set | ||
13 | # CONFIG_IOSCHED_DEADLINE is not set | ||
14 | # CONFIG_IOSCHED_CFQ is not set | ||
15 | CONFIG_ARCH_MXC=y | ||
16 | CONFIG_ARCH_MX2=y | ||
17 | CONFIG_MACH_MX21ADS=y | ||
18 | CONFIG_MXC_PWM=y | ||
19 | CONFIG_NO_HZ=y | ||
20 | CONFIG_HIGH_RES_TIMERS=y | ||
21 | CONFIG_PREEMPT=y | ||
22 | CONFIG_AEABI=y | ||
23 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
24 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
25 | CONFIG_NET=y | ||
26 | CONFIG_INET=y | ||
27 | CONFIG_IP_PNP=y | ||
28 | CONFIG_IP_PNP_DHCP=y | ||
29 | CONFIG_IP_PNP_BOOTP=y | ||
30 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
31 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
32 | # CONFIG_INET_LRO is not set | ||
33 | # CONFIG_INET_DIAG is not set | ||
34 | # CONFIG_IPV6 is not set | ||
35 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
36 | # CONFIG_FW_LOADER is not set | ||
37 | CONFIG_MTD=y | ||
38 | CONFIG_MTD_DEBUG=y | ||
39 | CONFIG_MTD_DEBUG_VERBOSE=3 | ||
40 | CONFIG_MTD_PARTITIONS=y | ||
41 | CONFIG_MTD_REDBOOT_PARTS=y | ||
42 | CONFIG_MTD_CMDLINE_PARTS=y | ||
43 | CONFIG_MTD_CHAR=y | ||
44 | CONFIG_MTD_BLOCK=y | ||
45 | CONFIG_MTD_CFI=y | ||
46 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
47 | CONFIG_MTD_CFI_GEOMETRY=y | ||
48 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
49 | CONFIG_MTD_CFI_AMDSTD=y | ||
50 | CONFIG_MTD_PHYSMAP=y | ||
51 | CONFIG_MTD_NAND=y | ||
52 | CONFIG_MTD_NAND_MXC=y | ||
53 | CONFIG_NETDEVICES=y | ||
54 | CONFIG_NET_ETHERNET=y | ||
55 | CONFIG_MII=y | ||
56 | # CONFIG_NETDEV_1000 is not set | ||
57 | # CONFIG_NETDEV_10000 is not set | ||
58 | # CONFIG_INPUT_MOUSEDEV is not set | ||
59 | CONFIG_INPUT_EVDEV=y | ||
60 | # CONFIG_INPUT_KEYBOARD is not set | ||
61 | # CONFIG_INPUT_MOUSE is not set | ||
62 | CONFIG_INPUT_TOUCHSCREEN=y | ||
63 | # CONFIG_SERIO is not set | ||
64 | # CONFIG_CONSOLE_TRANSLATIONS is not set | ||
65 | CONFIG_SERIAL_8250=y | ||
66 | CONFIG_SERIAL_8250_CONSOLE=y | ||
67 | CONFIG_SERIAL_8250_NR_UARTS=1 | ||
68 | CONFIG_SERIAL_IMX=y | ||
69 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
70 | # CONFIG_LEGACY_PTYS is not set | ||
71 | # CONFIG_HW_RANDOM is not set | ||
72 | CONFIG_I2C=y | ||
73 | CONFIG_I2C_CHARDEV=y | ||
74 | CONFIG_I2C_IMX=y | ||
75 | CONFIG_SPI=y | ||
76 | # CONFIG_HWMON is not set | ||
77 | CONFIG_FB=y | ||
78 | CONFIG_FB_IMX=y | ||
79 | # CONFIG_VGA_CONSOLE is not set | ||
80 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
81 | CONFIG_FONTS=y | ||
82 | CONFIG_FONT_8x8=y | ||
83 | CONFIG_LOGO=y | ||
84 | # CONFIG_HID_SUPPORT is not set | ||
85 | # CONFIG_USB_SUPPORT is not set | ||
86 | CONFIG_MMC=y | ||
87 | CONFIG_MMC_MXC=y | ||
88 | # CONFIG_DNOTIFY is not set | ||
89 | CONFIG_MSDOS_FS=y | ||
90 | CONFIG_TMPFS=y | ||
91 | CONFIG_JFFS2_FS=y | ||
92 | CONFIG_NFS_FS=y | ||
93 | CONFIG_NFS_V3=y | ||
94 | CONFIG_ROOT_NFS=y | ||
95 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
96 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
97 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
diff --git a/arch/arm/configs/mx51_defconfig b/arch/arm/configs/mx5_defconfig index 88c5802a2351..d0d8dfece37e 100644 --- a/arch/arm/configs/mx51_defconfig +++ b/arch/arm/configs/mx5_defconfig | |||
@@ -1,5 +1,6 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | # CONFIG_LOCALVERSION_AUTO is not set | 2 | # CONFIG_LOCALVERSION_AUTO is not set |
3 | CONFIG_KERNEL_LZO=y | ||
3 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
4 | CONFIG_LOG_BUF_SHIFT=18 | 5 | CONFIG_LOG_BUF_SHIFT=18 |
5 | CONFIG_RELAY=y | 6 | CONFIG_RELAY=y |
@@ -13,21 +14,29 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
13 | # CONFIG_LBDAF is not set | 14 | # CONFIG_LBDAF is not set |
14 | # CONFIG_BLK_DEV_BSG is not set | 15 | # CONFIG_BLK_DEV_BSG is not set |
15 | CONFIG_ARCH_MXC=y | 16 | CONFIG_ARCH_MXC=y |
16 | CONFIG_ARCH_MX51=y | 17 | CONFIG_ARCH_MX5=y |
17 | CONFIG_MACH_MX51_BABBAGE=y | 18 | CONFIG_MACH_MX51_BABBAGE=y |
18 | CONFIG_MACH_MX51_3DS=y | 19 | CONFIG_MACH_MX51_3DS=y |
19 | CONFIG_MACH_EUKREA_CPUIMX51=y | 20 | CONFIG_MACH_EUKREA_CPUIMX51=y |
21 | CONFIG_MACH_EUKREA_CPUIMX51SD=y | ||
22 | CONFIG_MACH_MX51_EFIKAMX=y | ||
23 | CONFIG_MACH_MX51_EFIKASB=y | ||
24 | CONFIG_MACH_MX53_EVK=y | ||
25 | CONFIG_MACH_MX53_SMD=y | ||
26 | CONFIG_MACH_MX53_LOCO=y | ||
27 | CONFIG_MACH_MX53_ARD=y | ||
28 | CONFIG_MXC_PWM=y | ||
20 | CONFIG_NO_HZ=y | 29 | CONFIG_NO_HZ=y |
21 | CONFIG_HIGH_RES_TIMERS=y | 30 | CONFIG_HIGH_RES_TIMERS=y |
31 | CONFIG_VMSPLIT_2G=y | ||
22 | CONFIG_PREEMPT_VOLUNTARY=y | 32 | CONFIG_PREEMPT_VOLUNTARY=y |
23 | CONFIG_AEABI=y | 33 | CONFIG_AEABI=y |
24 | # CONFIG_OABI_COMPAT is not set | 34 | # CONFIG_OABI_COMPAT is not set |
25 | CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 | 35 | CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 |
26 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.101:/shared/nfs ip=dhcp" | 36 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" |
27 | CONFIG_VFP=y | 37 | CONFIG_VFP=y |
28 | CONFIG_NEON=y | 38 | CONFIG_NEON=y |
29 | CONFIG_BINFMT_MISC=m | 39 | CONFIG_BINFMT_MISC=m |
30 | CONFIG_PM=y | ||
31 | CONFIG_PM_DEBUG=y | 40 | CONFIG_PM_DEBUG=y |
32 | CONFIG_PM_TEST_SUSPEND=y | 41 | CONFIG_PM_TEST_SUSPEND=y |
33 | CONFIG_NET=y | 42 | CONFIG_NET=y |
@@ -42,13 +51,13 @@ CONFIG_IP_PNP_DHCP=y | |||
42 | # CONFIG_INET_LRO is not set | 51 | # CONFIG_INET_LRO is not set |
43 | # CONFIG_IPV6 is not set | 52 | # CONFIG_IPV6 is not set |
44 | # CONFIG_WIRELESS is not set | 53 | # CONFIG_WIRELESS is not set |
54 | CONFIG_DEVTMPFS=y | ||
55 | CONFIG_DEVTMPFS_MOUNT=y | ||
45 | # CONFIG_STANDALONE is not set | 56 | # CONFIG_STANDALONE is not set |
46 | CONFIG_CONNECTOR=y | 57 | CONFIG_CONNECTOR=y |
47 | CONFIG_BLK_DEV_LOOP=y | 58 | CONFIG_BLK_DEV_LOOP=y |
48 | CONFIG_BLK_DEV_RAM=y | 59 | CONFIG_BLK_DEV_RAM=y |
49 | CONFIG_BLK_DEV_RAM_SIZE=65536 | 60 | CONFIG_BLK_DEV_RAM_SIZE=65536 |
50 | # CONFIG_MISC_DEVICES is not set | ||
51 | CONFIG_SCSI=y | ||
52 | # CONFIG_SCSI_PROC_FS is not set | 61 | # CONFIG_SCSI_PROC_FS is not set |
53 | CONFIG_BLK_DEV_SD=y | 62 | CONFIG_BLK_DEV_SD=y |
54 | CONFIG_SCSI_MULTI_LUN=y | 63 | CONFIG_SCSI_MULTI_LUN=y |
@@ -56,8 +65,10 @@ CONFIG_SCSI_CONSTANTS=y | |||
56 | CONFIG_SCSI_LOGGING=y | 65 | CONFIG_SCSI_LOGGING=y |
57 | CONFIG_SCSI_SCAN_ASYNC=y | 66 | CONFIG_SCSI_SCAN_ASYNC=y |
58 | # CONFIG_SCSI_LOWLEVEL is not set | 67 | # CONFIG_SCSI_LOWLEVEL is not set |
59 | CONFIG_ATA=m | 68 | CONFIG_ATA=y |
69 | CONFIG_PATA_IMX=y | ||
60 | CONFIG_NETDEVICES=y | 70 | CONFIG_NETDEVICES=y |
71 | CONFIG_MII=m | ||
61 | CONFIG_MARVELL_PHY=y | 72 | CONFIG_MARVELL_PHY=y |
62 | CONFIG_DAVICOM_PHY=y | 73 | CONFIG_DAVICOM_PHY=y |
63 | CONFIG_QSEMI_PHY=y | 74 | CONFIG_QSEMI_PHY=y |
@@ -71,49 +82,57 @@ CONFIG_REALTEK_PHY=y | |||
71 | CONFIG_NATIONAL_PHY=y | 82 | CONFIG_NATIONAL_PHY=y |
72 | CONFIG_STE10XP=y | 83 | CONFIG_STE10XP=y |
73 | CONFIG_LSI_ET1011C_PHY=y | 84 | CONFIG_LSI_ET1011C_PHY=y |
74 | CONFIG_MDIO_BITBANG=y | 85 | CONFIG_MICREL_PHY=y |
75 | CONFIG_MDIO_GPIO=y | ||
76 | CONFIG_NET_ETHERNET=y | 86 | CONFIG_NET_ETHERNET=y |
77 | CONFIG_MII=m | ||
78 | CONFIG_FEC=y | ||
79 | # CONFIG_NETDEV_1000 is not set | 87 | # CONFIG_NETDEV_1000 is not set |
80 | # CONFIG_NETDEV_10000 is not set | 88 | # CONFIG_NETDEV_10000 is not set |
81 | # CONFIG_WLAN is not set | 89 | # CONFIG_WLAN is not set |
82 | CONFIG_INPUT_FF_MEMLESS=m | ||
83 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | 90 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set |
84 | CONFIG_INPUT_EVDEV=y | 91 | CONFIG_INPUT_EVDEV=y |
85 | CONFIG_KEYBOARD_GPIO=y | ||
86 | CONFIG_INPUT_EVBUG=m | 92 | CONFIG_INPUT_EVBUG=m |
93 | CONFIG_KEYBOARD_GPIO=y | ||
87 | CONFIG_MOUSE_PS2=m | 94 | CONFIG_MOUSE_PS2=m |
88 | CONFIG_MOUSE_PS2_ELANTECH=y | 95 | CONFIG_MOUSE_PS2_ELANTECH=y |
96 | CONFIG_INPUT_MISC=y | ||
97 | CONFIG_INPUT_MMA8450=y | ||
89 | CONFIG_SERIO_SERPORT=m | 98 | CONFIG_SERIO_SERPORT=m |
90 | CONFIG_VT_HW_CONSOLE_BINDING=y | 99 | CONFIG_VT_HW_CONSOLE_BINDING=y |
100 | # CONFIG_LEGACY_PTYS is not set | ||
91 | # CONFIG_DEVKMEM is not set | 101 | # CONFIG_DEVKMEM is not set |
92 | CONFIG_SERIAL_IMX=y | 102 | CONFIG_SERIAL_IMX=y |
93 | CONFIG_SERIAL_IMX_CONSOLE=y | 103 | CONFIG_SERIAL_IMX_CONSOLE=y |
94 | # CONFIG_LEGACY_PTYS is not set | ||
95 | CONFIG_HW_RANDOM=y | 104 | CONFIG_HW_RANDOM=y |
96 | CONFIG_I2C=y | 105 | CONFIG_I2C=y |
97 | # CONFIG_I2C_COMPAT is not set | 106 | # CONFIG_I2C_COMPAT is not set |
98 | CONFIG_I2C_CHARDEV=m | 107 | CONFIG_I2C_CHARDEV=y |
99 | # CONFIG_I2C_HELPER_AUTO is not set | 108 | # CONFIG_I2C_HELPER_AUTO is not set |
100 | CONFIG_I2C_ALGOBIT=m | 109 | CONFIG_I2C_ALGOBIT=m |
101 | CONFIG_I2C_ALGOPCF=m | 110 | CONFIG_I2C_ALGOPCF=m |
102 | CONFIG_I2C_ALGOPCA=m | 111 | CONFIG_I2C_ALGOPCA=m |
112 | CONFIG_I2C_IMX=y | ||
113 | CONFIG_SPI=y | ||
114 | CONFIG_SPI_IMX=y | ||
103 | CONFIG_GPIO_SYSFS=y | 115 | CONFIG_GPIO_SYSFS=y |
104 | # CONFIG_HWMON is not set | 116 | # CONFIG_HWMON is not set |
105 | # CONFIG_HID_SUPPORT is not set | 117 | CONFIG_WATCHDOG=y |
118 | CONFIG_IMX2_WDT=y | ||
119 | CONFIG_MFD_MC13XXX=y | ||
120 | CONFIG_REGULATOR=y | ||
121 | CONFIG_REGULATOR_MC13892=y | ||
106 | CONFIG_USB=y | 122 | CONFIG_USB=y |
107 | CONFIG_USB_EHCI_HCD=y | 123 | CONFIG_USB_EHCI_HCD=y |
108 | CONFIG_USB_EHCI_MXC=y | 124 | CONFIG_USB_EHCI_MXC=y |
109 | CONFIG_USB_STORAGE=y | 125 | CONFIG_USB_STORAGE=y |
110 | CONFIG_MMC=y | 126 | CONFIG_MMC=y |
111 | CONFIG_MMC_BLOCK=m | 127 | CONFIG_MMC_BLOCK=m |
112 | CONFIG_MMC_SDHCI=m | 128 | CONFIG_MMC_SDHCI=y |
129 | CONFIG_MMC_SDHCI_PLTFM=y | ||
130 | CONFIG_MMC_SDHCI_ESDHC_IMX=y | ||
113 | CONFIG_NEW_LEDS=y | 131 | CONFIG_NEW_LEDS=y |
114 | CONFIG_LEDS_CLASS=y | 132 | CONFIG_LEDS_CLASS=y |
115 | CONFIG_RTC_CLASS=y | 133 | CONFIG_RTC_CLASS=y |
116 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y | 134 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y |
135 | CONFIG_RTC_MXC=y | ||
117 | CONFIG_EXT2_FS=y | 136 | CONFIG_EXT2_FS=y |
118 | CONFIG_EXT2_FS_XATTR=y | 137 | CONFIG_EXT2_FS_XATTR=y |
119 | CONFIG_EXT2_FS_POSIX_ACL=y | 138 | CONFIG_EXT2_FS_POSIX_ACL=y |
@@ -127,7 +146,6 @@ CONFIG_EXT4_FS_SECURITY=y | |||
127 | CONFIG_QUOTA=y | 146 | CONFIG_QUOTA=y |
128 | CONFIG_QUOTA_NETLINK_INTERFACE=y | 147 | CONFIG_QUOTA_NETLINK_INTERFACE=y |
129 | # CONFIG_PRINT_QUOTA_WARNING is not set | 148 | # CONFIG_PRINT_QUOTA_WARNING is not set |
130 | CONFIG_AUTOFS_FS=y | ||
131 | CONFIG_AUTOFS4_FS=y | 149 | CONFIG_AUTOFS4_FS=y |
132 | CONFIG_FUSE_FS=y | 150 | CONFIG_FUSE_FS=y |
133 | CONFIG_ISO9660_FS=m | 151 | CONFIG_ISO9660_FS=m |
@@ -151,17 +169,13 @@ CONFIG_NLS_ISO8859_15=m | |||
151 | CONFIG_NLS_UTF8=y | 169 | CONFIG_NLS_UTF8=y |
152 | CONFIG_MAGIC_SYSRQ=y | 170 | CONFIG_MAGIC_SYSRQ=y |
153 | CONFIG_DEBUG_FS=y | 171 | CONFIG_DEBUG_FS=y |
154 | CONFIG_DEBUG_KERNEL=y | ||
155 | # CONFIG_SCHED_DEBUG is not set | 172 | # CONFIG_SCHED_DEBUG is not set |
156 | # CONFIG_DEBUG_BUGVERBOSE is not set | 173 | # CONFIG_DEBUG_BUGVERBOSE is not set |
157 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
158 | # CONFIG_FTRACE is not set | 174 | # CONFIG_FTRACE is not set |
159 | # CONFIG_ARM_UNWIND is not set | 175 | # CONFIG_ARM_UNWIND is not set |
160 | CONFIG_DEBUG_LL=y | ||
161 | CONFIG_EARLY_PRINTK=y | ||
162 | CONFIG_SECURITYFS=y | 176 | CONFIG_SECURITYFS=y |
163 | CONFIG_CRYPTO_DEFLATE=y | 177 | CONFIG_CRYPTO_DEFLATE=m |
164 | CONFIG_CRYPTO_LZO=y | 178 | CONFIG_CRYPTO_LZO=m |
165 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 179 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
166 | # CONFIG_CRYPTO_HW is not set | 180 | # CONFIG_CRYPTO_HW is not set |
167 | CONFIG_CRC_CCITT=m | 181 | CONFIG_CRC_CCITT=m |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 0253e66ada49..4792fd55490b 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -5,6 +5,18 @@ config IMX_HAVE_DMA_V1 | |||
5 | # Some usages assume that having one of them implies not having (e.g.) ARCH_MX2. | 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 | 6 | # To easily distinguish good and reviewed from unreviewed usages new (and IMHO |
7 | # more sensible) names are used: SOC_IMX31 and SOC_IMX35 | 7 | # more sensible) names are used: SOC_IMX31 and SOC_IMX35 |
8 | config ARCH_MX1 | ||
9 | bool | ||
10 | |||
11 | config MACH_MX21 | ||
12 | bool | ||
13 | |||
14 | config ARCH_MX25 | ||
15 | bool | ||
16 | |||
17 | config MACH_MX27 | ||
18 | bool | ||
19 | |||
8 | config ARCH_MX31 | 20 | config ARCH_MX31 |
9 | bool | 21 | bool |
10 | 22 | ||
@@ -13,6 +25,7 @@ config ARCH_MX35 | |||
13 | 25 | ||
14 | config SOC_IMX1 | 26 | config SOC_IMX1 |
15 | bool | 27 | bool |
28 | select ARCH_MX1 | ||
16 | select CPU_ARM920T | 29 | select CPU_ARM920T |
17 | select IMX_HAVE_DMA_V1 | 30 | select IMX_HAVE_DMA_V1 |
18 | select IMX_HAVE_IOMUX_V1 | 31 | select IMX_HAVE_IOMUX_V1 |
@@ -20,6 +33,7 @@ config SOC_IMX1 | |||
20 | 33 | ||
21 | config SOC_IMX21 | 34 | config SOC_IMX21 |
22 | bool | 35 | bool |
36 | select MACH_MX21 | ||
23 | select CPU_ARM926T | 37 | select CPU_ARM926T |
24 | select ARCH_MXC_AUDMUX_V1 | 38 | select ARCH_MXC_AUDMUX_V1 |
25 | select IMX_HAVE_DMA_V1 | 39 | select IMX_HAVE_DMA_V1 |
@@ -28,6 +42,7 @@ config SOC_IMX21 | |||
28 | 42 | ||
29 | config SOC_IMX25 | 43 | config SOC_IMX25 |
30 | bool | 44 | bool |
45 | select ARCH_MX25 | ||
31 | select CPU_ARM926T | 46 | select CPU_ARM926T |
32 | select ARCH_MXC_AUDMUX_V2 | 47 | select ARCH_MXC_AUDMUX_V2 |
33 | select ARCH_MXC_IOMUX_V3 | 48 | select ARCH_MXC_IOMUX_V3 |
@@ -35,6 +50,7 @@ config SOC_IMX25 | |||
35 | 50 | ||
36 | config SOC_IMX27 | 51 | config SOC_IMX27 |
37 | bool | 52 | bool |
53 | select MACH_MX27 | ||
38 | select CPU_ARM926T | 54 | select CPU_ARM926T |
39 | select ARCH_MXC_AUDMUX_V1 | 55 | select ARCH_MXC_AUDMUX_V1 |
40 | select IMX_HAVE_DMA_V1 | 56 | select IMX_HAVE_DMA_V1 |
@@ -59,7 +75,7 @@ config SOC_IMX35 | |||
59 | select MXC_AVIC | 75 | select MXC_AVIC |
60 | 76 | ||
61 | 77 | ||
62 | if ARCH_MX1 | 78 | if ARCH_IMX_V4_V5 |
63 | 79 | ||
64 | comment "MX1 platforms:" | 80 | comment "MX1 platforms:" |
65 | config MACH_MXLADS | 81 | config MACH_MXLADS |
@@ -87,30 +103,6 @@ config MACH_APF9328 | |||
87 | help | 103 | help |
88 | Say Yes here if you are using the Armadeus APF9328 development board | 104 | Say Yes here if you are using the Armadeus APF9328 development board |
89 | 105 | ||
90 | endif | ||
91 | |||
92 | if ARCH_MX2 | ||
93 | |||
94 | choice | ||
95 | prompt "CPUs:" | ||
96 | default MACH_MX21 | ||
97 | |||
98 | config MACH_MX21 | ||
99 | bool "i.MX21 support" | ||
100 | help | ||
101 | This enables support for Freescale's MX2 based i.MX21 processor. | ||
102 | |||
103 | config MACH_MX27 | ||
104 | bool "i.MX27 support" | ||
105 | help | ||
106 | This enables support for Freescale's MX2 based i.MX27 processor. | ||
107 | |||
108 | endchoice | ||
109 | |||
110 | endif | ||
111 | |||
112 | if MACH_MX21 | ||
113 | |||
114 | comment "MX21 platforms:" | 106 | comment "MX21 platforms:" |
115 | 107 | ||
116 | config MACH_MX21ADS | 108 | config MACH_MX21ADS |
@@ -124,10 +116,6 @@ config MACH_MX21ADS | |||
124 | Include support for MX21ADS platform. This includes specific | 116 | Include support for MX21ADS platform. This includes specific |
125 | configurations for the board and its peripherals. | 117 | configurations for the board and its peripherals. |
126 | 118 | ||
127 | endif | ||
128 | |||
129 | if ARCH_MX25 | ||
130 | |||
131 | comment "MX25 platforms:" | 119 | comment "MX25 platforms:" |
132 | 120 | ||
133 | config MACH_MX25_3DS | 121 | config MACH_MX25_3DS |
@@ -175,10 +163,6 @@ config MACH_EUKREA_MBIMXSD25_BASEBOARD | |||
175 | 163 | ||
176 | endchoice | 164 | endchoice |
177 | 165 | ||
178 | endif | ||
179 | |||
180 | if MACH_MX27 | ||
181 | |||
182 | comment "MX27 platforms:" | 166 | comment "MX27 platforms:" |
183 | 167 | ||
184 | config MACH_MX27ADS | 168 | config MACH_MX27ADS |
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index e9eb36dad888..0a5332c694bd 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile | |||
@@ -3,7 +3,7 @@ obj-$(CONFIG_IMX_HAVE_DMA_V1) += dma-v1.o | |||
3 | obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o | 3 | obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o |
4 | obj-$(CONFIG_MACH_MX21) += clock-imx21.o mm-imx21.o | 4 | obj-$(CONFIG_MACH_MX21) += clock-imx21.o mm-imx21.o |
5 | 5 | ||
6 | obj-$(CONFIG_ARCH_MX25) += clock-imx25.o mm-imx25.o ehci-imx25.o | 6 | obj-$(CONFIG_ARCH_MX25) += clock-imx25.o mm-imx25.o ehci-imx25.o cpu-imx25.o |
7 | 7 | ||
8 | obj-$(CONFIG_MACH_MX27) += cpu-imx27.o pm-imx27.o | 8 | obj-$(CONFIG_MACH_MX27) += cpu-imx27.o pm-imx27.o |
9 | 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 |
diff --git a/arch/arm/mach-imx/clock-imx25.c b/arch/arm/mach-imx/clock-imx25.c index e63e23504fe5..b0fec74c8c91 100644 --- a/arch/arm/mach-imx/clock-imx25.c +++ b/arch/arm/mach-imx/clock-imx25.c | |||
@@ -263,6 +263,7 @@ DEFINE_CLOCK(audmux_clk, 0, CCM_CGCR1, 0, NULL, NULL, NULL); | |||
263 | DEFINE_CLOCK(csi_clk, 0, CCM_CGCR1, 4, get_rate_csi, NULL, &csi_per_clk); | 263 | DEFINE_CLOCK(csi_clk, 0, CCM_CGCR1, 4, get_rate_csi, NULL, &csi_per_clk); |
264 | DEFINE_CLOCK(can1_clk, 0, CCM_CGCR1, 2, get_rate_ipg, NULL, NULL); | 264 | DEFINE_CLOCK(can1_clk, 0, CCM_CGCR1, 2, get_rate_ipg, NULL, NULL); |
265 | DEFINE_CLOCK(can2_clk, 1, CCM_CGCR1, 3, get_rate_ipg, NULL, NULL); | 265 | DEFINE_CLOCK(can2_clk, 1, CCM_CGCR1, 3, get_rate_ipg, NULL, NULL); |
266 | DEFINE_CLOCK(iim_clk, 0, CCM_CGCR1, 26, NULL, NULL, NULL); | ||
266 | 267 | ||
267 | #define _REGISTER_CLOCK(d, n, c) \ | 268 | #define _REGISTER_CLOCK(d, n, c) \ |
268 | { \ | 269 | { \ |
@@ -310,6 +311,7 @@ static struct clk_lookup lookups[] = { | |||
310 | _REGISTER_CLOCK("flexcan.1", NULL, can2_clk) | 311 | _REGISTER_CLOCK("flexcan.1", NULL, can2_clk) |
311 | /* i.mx25 has the i.mx35 type sdma */ | 312 | /* i.mx25 has the i.mx35 type sdma */ |
312 | _REGISTER_CLOCK("imx35-sdma", NULL, sdma_clk) | 313 | _REGISTER_CLOCK("imx35-sdma", NULL, sdma_clk) |
314 | _REGISTER_CLOCK(NULL, "iim", iim_clk) | ||
313 | }; | 315 | }; |
314 | 316 | ||
315 | int __init mx25_clocks_init(void) | 317 | int __init mx25_clocks_init(void) |
@@ -334,6 +336,10 @@ int __init mx25_clocks_init(void) | |||
334 | /* Clock source for gpt is ahb_div */ | 336 | /* Clock source for gpt is ahb_div */ |
335 | __raw_writel(__raw_readl(CRM_BASE+0x64) & ~(1 << 5), CRM_BASE + 0x64); | 337 | __raw_writel(__raw_readl(CRM_BASE+0x64) & ~(1 << 5), CRM_BASE + 0x64); |
336 | 338 | ||
339 | clk_enable(&iim_clk); | ||
340 | imx_print_silicon_rev("i.MX25", mx25_revision()); | ||
341 | clk_disable(&iim_clk); | ||
342 | |||
337 | mxc_timer_init(&gpt_clk, MX25_IO_ADDRESS(MX25_GPT1_BASE_ADDR), 54); | 343 | mxc_timer_init(&gpt_clk, MX25_IO_ADDRESS(MX25_GPT1_BASE_ADDR), 54); |
338 | 344 | ||
339 | return 0; | 345 | return 0; |
diff --git a/arch/arm/mach-imx/clock-imx27.c b/arch/arm/mach-imx/clock-imx27.c index 6912b821b37b..88fe00a146e3 100644 --- a/arch/arm/mach-imx/clock-imx27.c +++ b/arch/arm/mach-imx/clock-imx27.c | |||
@@ -583,7 +583,7 @@ DEFINE_CLOCK(emi_clk, 0, PCCR1, 19, NULL, NULL, &ahb_clk); | |||
583 | DEFINE_CLOCK(dma_clk1, 0, PCCR1, 20, NULL, NULL, &ahb_clk); | 583 | DEFINE_CLOCK(dma_clk1, 0, PCCR1, 20, NULL, NULL, &ahb_clk); |
584 | DEFINE_CLOCK(csi_clk1, 0, PCCR1, 21, NULL, NULL, &ahb_clk); | 584 | DEFINE_CLOCK(csi_clk1, 0, PCCR1, 21, NULL, NULL, &ahb_clk); |
585 | DEFINE_CLOCK(brom_clk, 0, PCCR1, 22, NULL, NULL, &ahb_clk); | 585 | DEFINE_CLOCK(brom_clk, 0, PCCR1, 22, NULL, NULL, &ahb_clk); |
586 | DEFINE_CLOCK(ata_clk, 0, PCCR1, 23, NULL, NULL, &ahb_clk); | 586 | DEFINE_CLOCK(pata_clk, 0, PCCR1, 23, NULL, NULL, &ahb_clk); |
587 | DEFINE_CLOCK(wdog_clk, 0, PCCR1, 24, NULL, NULL, &ipg_clk); | 587 | DEFINE_CLOCK(wdog_clk, 0, PCCR1, 24, NULL, NULL, &ipg_clk); |
588 | DEFINE_CLOCK(usb_clk, 0, PCCR1, 25, get_rate_usb, &usb_clk1, &spll_clk); | 588 | DEFINE_CLOCK(usb_clk, 0, PCCR1, 25, get_rate_usb, &usb_clk1, &spll_clk); |
589 | DEFINE_CLOCK(uart6_clk1, 0, PCCR1, 26, NULL, NULL, &ipg_clk); | 589 | DEFINE_CLOCK(uart6_clk1, 0, PCCR1, 26, NULL, NULL, &ipg_clk); |
@@ -666,7 +666,7 @@ static struct clk_lookup lookups[] = { | |||
666 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) | 666 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) |
667 | _REGISTER_CLOCK(NULL, "emi", emi_clk) | 667 | _REGISTER_CLOCK(NULL, "emi", emi_clk) |
668 | _REGISTER_CLOCK(NULL, "sahara2", sahara2_clk) | 668 | _REGISTER_CLOCK(NULL, "sahara2", sahara2_clk) |
669 | _REGISTER_CLOCK(NULL, "ata", ata_clk) | 669 | _REGISTER_CLOCK("pata_imx", NULL, pata_clk) |
670 | _REGISTER_CLOCK(NULL, "mstick", mstick_clk) | 670 | _REGISTER_CLOCK(NULL, "mstick", mstick_clk) |
671 | _REGISTER_CLOCK("imx2-wdt.0", NULL, wdog_clk) | 671 | _REGISTER_CLOCK("imx2-wdt.0", NULL, wdog_clk) |
672 | _REGISTER_CLOCK(NULL, "gpio", gpio_clk) | 672 | _REGISTER_CLOCK(NULL, "gpio", gpio_clk) |
@@ -751,6 +751,8 @@ int __init mx27_clocks_init(unsigned long fref) | |||
751 | clk_enable(&gpio_clk); | 751 | clk_enable(&gpio_clk); |
752 | clk_enable(&emi_clk); | 752 | clk_enable(&emi_clk); |
753 | clk_enable(&iim_clk); | 753 | clk_enable(&iim_clk); |
754 | imx_print_silicon_rev("i.MX27", mx27_revision()); | ||
755 | clk_disable(&iim_clk); | ||
754 | 756 | ||
755 | #if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_ICEDCC) | 757 | #if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_ICEDCC) |
756 | clk_enable(&uart1_clk); | 758 | clk_enable(&uart1_clk); |
diff --git a/arch/arm/mach-imx/clock-imx31.c b/arch/arm/mach-imx/clock-imx31.c index d973770b1f96..988a28178d4c 100644 --- a/arch/arm/mach-imx/clock-imx31.c +++ b/arch/arm/mach-imx/clock-imx31.c | |||
@@ -476,7 +476,7 @@ DEFINE_CLOCK(gpt_clk, 0, MXC_CCM_CGR0, 4, NULL, NULL, &perclk_clk); | |||
476 | DEFINE_CLOCK(epit1_clk, 0, MXC_CCM_CGR0, 6, NULL, NULL, &perclk_clk); | 476 | DEFINE_CLOCK(epit1_clk, 0, MXC_CCM_CGR0, 6, NULL, NULL, &perclk_clk); |
477 | DEFINE_CLOCK(epit2_clk, 1, MXC_CCM_CGR0, 8, NULL, NULL, &perclk_clk); | 477 | DEFINE_CLOCK(epit2_clk, 1, MXC_CCM_CGR0, 8, NULL, NULL, &perclk_clk); |
478 | DEFINE_CLOCK(iim_clk, 0, MXC_CCM_CGR0, 10, NULL, NULL, &ipg_clk); | 478 | DEFINE_CLOCK(iim_clk, 0, MXC_CCM_CGR0, 10, NULL, NULL, &ipg_clk); |
479 | DEFINE_CLOCK(ata_clk, 0, MXC_CCM_CGR0, 12, NULL, NULL, &ipg_clk); | 479 | DEFINE_CLOCK(pata_clk, 0, MXC_CCM_CGR0, 12, NULL, NULL, &ipg_clk); |
480 | DEFINE_CLOCK(sdma_clk1, 0, MXC_CCM_CGR0, 14, NULL, NULL, &ahb_clk); | 480 | DEFINE_CLOCK(sdma_clk1, 0, MXC_CCM_CGR0, 14, NULL, NULL, &ahb_clk); |
481 | DEFINE_CLOCK(cspi3_clk, 2, MXC_CCM_CGR0, 16, NULL, NULL, &ipg_clk); | 481 | DEFINE_CLOCK(cspi3_clk, 2, MXC_CCM_CGR0, 16, NULL, NULL, &ipg_clk); |
482 | DEFINE_CLOCK(rng_clk, 0, MXC_CCM_CGR0, 18, NULL, NULL, &ipg_clk); | 482 | DEFINE_CLOCK(rng_clk, 0, MXC_CCM_CGR0, 18, NULL, NULL, &ipg_clk); |
@@ -562,7 +562,7 @@ static struct clk_lookup lookups[] = { | |||
562 | _REGISTER_CLOCK("imx-ssi.0", NULL, ssi1_clk) | 562 | _REGISTER_CLOCK("imx-ssi.0", NULL, ssi1_clk) |
563 | _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk) | 563 | _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk) |
564 | _REGISTER_CLOCK(NULL, "firi", firi_clk) | 564 | _REGISTER_CLOCK(NULL, "firi", firi_clk) |
565 | _REGISTER_CLOCK(NULL, "ata", ata_clk) | 565 | _REGISTER_CLOCK("pata_imx", NULL, pata_clk) |
566 | _REGISTER_CLOCK(NULL, "rtic", rtic_clk) | 566 | _REGISTER_CLOCK(NULL, "rtic", rtic_clk) |
567 | _REGISTER_CLOCK(NULL, "rng", rng_clk) | 567 | _REGISTER_CLOCK(NULL, "rng", rng_clk) |
568 | _REGISTER_CLOCK("imx31-sdma", NULL, sdma_clk1) | 568 | _REGISTER_CLOCK("imx31-sdma", NULL, sdma_clk1) |
@@ -611,11 +611,11 @@ int __init mx31_clocks_init(unsigned long fref) | |||
611 | clk_enable(&gpt_clk); | 611 | clk_enable(&gpt_clk); |
612 | clk_enable(&emi_clk); | 612 | clk_enable(&emi_clk); |
613 | clk_enable(&iim_clk); | 613 | clk_enable(&iim_clk); |
614 | mx31_revision(); | ||
615 | clk_disable(&iim_clk); | ||
614 | 616 | ||
615 | clk_enable(&serial_pll_clk); | 617 | clk_enable(&serial_pll_clk); |
616 | 618 | ||
617 | mx31_read_cpu_rev(); | ||
618 | |||
619 | if (mx31_revision() >= IMX_CHIP_REVISION_2_0) { | 619 | if (mx31_revision() >= IMX_CHIP_REVISION_2_0) { |
620 | reg = __raw_readl(MXC_CCM_PMCR1); | 620 | reg = __raw_readl(MXC_CCM_PMCR1); |
621 | /* No PLL restart on DVFS switch; enable auto EMI handshake */ | 621 | /* No PLL restart on DVFS switch; enable auto EMI handshake */ |
diff --git a/arch/arm/mach-imx/clock-imx35.c b/arch/arm/mach-imx/clock-imx35.c index 88b62a071aea..8116f119517d 100644 --- a/arch/arm/mach-imx/clock-imx35.c +++ b/arch/arm/mach-imx/clock-imx35.c | |||
@@ -354,7 +354,7 @@ static void clk_cgr_disable(struct clk *clk) | |||
354 | } | 354 | } |
355 | 355 | ||
356 | DEFINE_CLOCK(asrc_clk, 0, CCM_CGR0, 0, NULL, NULL); | 356 | DEFINE_CLOCK(asrc_clk, 0, CCM_CGR0, 0, NULL, NULL); |
357 | DEFINE_CLOCK(ata_clk, 0, CCM_CGR0, 2, get_rate_ipg, NULL); | 357 | DEFINE_CLOCK(pata_clk, 0, CCM_CGR0, 2, get_rate_ipg, NULL); |
358 | /* DEFINE_CLOCK(audmux_clk, 0, CCM_CGR0, 4, NULL, NULL); */ | 358 | /* DEFINE_CLOCK(audmux_clk, 0, CCM_CGR0, 4, NULL, NULL); */ |
359 | DEFINE_CLOCK(can1_clk, 0, CCM_CGR0, 6, get_rate_ipg, NULL); | 359 | DEFINE_CLOCK(can1_clk, 0, CCM_CGR0, 6, get_rate_ipg, NULL); |
360 | DEFINE_CLOCK(can2_clk, 1, CCM_CGR0, 8, get_rate_ipg, NULL); | 360 | DEFINE_CLOCK(can2_clk, 1, CCM_CGR0, 8, get_rate_ipg, NULL); |
@@ -447,7 +447,7 @@ static struct clk nfc_clk = { | |||
447 | 447 | ||
448 | static struct clk_lookup lookups[] = { | 448 | static struct clk_lookup lookups[] = { |
449 | _REGISTER_CLOCK(NULL, "asrc", asrc_clk) | 449 | _REGISTER_CLOCK(NULL, "asrc", asrc_clk) |
450 | _REGISTER_CLOCK(NULL, "ata", ata_clk) | 450 | _REGISTER_CLOCK("pata_imx", NULL, pata_clk) |
451 | _REGISTER_CLOCK("flexcan.0", NULL, can1_clk) | 451 | _REGISTER_CLOCK("flexcan.0", NULL, can1_clk) |
452 | _REGISTER_CLOCK("flexcan.1", NULL, can2_clk) | 452 | _REGISTER_CLOCK("flexcan.1", NULL, can2_clk) |
453 | _REGISTER_CLOCK("imx35-cspi.0", NULL, cspi1_clk) | 453 | _REGISTER_CLOCK("imx35-cspi.0", NULL, cspi1_clk) |
@@ -537,7 +537,8 @@ int __init mx35_clocks_init() | |||
537 | __raw_writel(cgr3, CCM_BASE + CCM_CGR3); | 537 | __raw_writel(cgr3, CCM_BASE + CCM_CGR3); |
538 | 538 | ||
539 | clk_enable(&iim_clk); | 539 | clk_enable(&iim_clk); |
540 | mx35_read_cpu_rev(); | 540 | imx_print_silicon_rev("i.MX35", mx35_revision()); |
541 | clk_disable(&iim_clk); | ||
541 | 542 | ||
542 | #ifdef CONFIG_MXC_USE_EPIT | 543 | #ifdef CONFIG_MXC_USE_EPIT |
543 | epit_timer_init(&epit1_clk, | 544 | epit_timer_init(&epit1_clk, |
diff --git a/arch/arm/mach-imx/cpu-imx25.c b/arch/arm/mach-imx/cpu-imx25.c new file mode 100644 index 000000000000..6914bcbf84e4 --- /dev/null +++ b/arch/arm/mach-imx/cpu-imx25.c | |||
@@ -0,0 +1,41 @@ | |||
1 | /* | ||
2 | * MX25 CPU type detection | ||
3 | * | ||
4 | * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de> | ||
5 | * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | #include <linux/module.h> | ||
13 | #include <linux/io.h> | ||
14 | #include <mach/hardware.h> | ||
15 | #include <mach/iim.h> | ||
16 | |||
17 | static int mx25_cpu_rev = -1; | ||
18 | |||
19 | static int mx25_read_cpu_rev(void) | ||
20 | { | ||
21 | u32 rev; | ||
22 | |||
23 | rev = __raw_readl(MX25_IO_ADDRESS(MX25_IIM_BASE_ADDR + MXC_IIMSREV)); | ||
24 | switch (rev) { | ||
25 | case 0x00: | ||
26 | return IMX_CHIP_REVISION_1_0; | ||
27 | case 0x01: | ||
28 | return IMX_CHIP_REVISION_1_1; | ||
29 | default: | ||
30 | return IMX_CHIP_REVISION_UNKNOWN; | ||
31 | } | ||
32 | } | ||
33 | |||
34 | int mx25_revision(void) | ||
35 | { | ||
36 | if (mx25_cpu_rev == -1) | ||
37 | mx25_cpu_rev = mx25_read_cpu_rev(); | ||
38 | |||
39 | return mx25_cpu_rev; | ||
40 | } | ||
41 | EXPORT_SYMBOL(mx25_revision); | ||
diff --git a/arch/arm/mach-imx/cpu-imx27.c b/arch/arm/mach-imx/cpu-imx27.c index 3b117be37bd2..ff38e1505f67 100644 --- a/arch/arm/mach-imx/cpu-imx27.c +++ b/arch/arm/mach-imx/cpu-imx27.c | |||
@@ -26,12 +26,12 @@ | |||
26 | 26 | ||
27 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
28 | 28 | ||
29 | static int cpu_silicon_rev = -1; | 29 | static int mx27_cpu_rev = -1; |
30 | static int cpu_partnumber; | 30 | static int mx27_cpu_partnumber; |
31 | 31 | ||
32 | #define SYS_CHIP_ID 0x00 /* The offset of CHIP ID register */ | 32 | #define SYS_CHIP_ID 0x00 /* The offset of CHIP ID register */ |
33 | 33 | ||
34 | static void query_silicon_parameter(void) | 34 | static int mx27_read_cpu_rev(void) |
35 | { | 35 | { |
36 | u32 val; | 36 | u32 val; |
37 | /* | 37 | /* |
@@ -42,20 +42,18 @@ static void query_silicon_parameter(void) | |||
42 | val = __raw_readl(MX27_IO_ADDRESS(MX27_SYSCTRL_BASE_ADDR | 42 | val = __raw_readl(MX27_IO_ADDRESS(MX27_SYSCTRL_BASE_ADDR |
43 | + SYS_CHIP_ID)); | 43 | + SYS_CHIP_ID)); |
44 | 44 | ||
45 | mx27_cpu_partnumber = (int)((val >> 12) & 0xFFFF); | ||
46 | |||
45 | switch (val >> 28) { | 47 | switch (val >> 28) { |
46 | case 0: | 48 | case 0: |
47 | cpu_silicon_rev = IMX_CHIP_REVISION_1_0; | 49 | return IMX_CHIP_REVISION_1_0; |
48 | break; | ||
49 | case 1: | 50 | case 1: |
50 | cpu_silicon_rev = IMX_CHIP_REVISION_2_0; | 51 | return IMX_CHIP_REVISION_2_0; |
51 | break; | ||
52 | case 2: | 52 | case 2: |
53 | cpu_silicon_rev = IMX_CHIP_REVISION_2_1; | 53 | return IMX_CHIP_REVISION_2_1; |
54 | break; | ||
55 | default: | 54 | default: |
56 | cpu_silicon_rev = IMX_CHIP_REVISION_UNKNOWN; | 55 | return IMX_CHIP_REVISION_UNKNOWN; |
57 | } | 56 | } |
58 | cpu_partnumber = (int)((val >> 12) & 0xFFFF); | ||
59 | } | 57 | } |
60 | 58 | ||
61 | /* | 59 | /* |
@@ -65,12 +63,12 @@ static void query_silicon_parameter(void) | |||
65 | */ | 63 | */ |
66 | int mx27_revision(void) | 64 | int mx27_revision(void) |
67 | { | 65 | { |
68 | if (cpu_silicon_rev == -1) | 66 | if (mx27_cpu_rev == -1) |
69 | query_silicon_parameter(); | 67 | mx27_cpu_rev = mx27_read_cpu_rev(); |
70 | 68 | ||
71 | if (cpu_partnumber != 0x8821) | 69 | if (mx27_cpu_partnumber != 0x8821) |
72 | return -EINVAL; | 70 | return -EINVAL; |
73 | 71 | ||
74 | return cpu_silicon_rev; | 72 | return mx27_cpu_rev; |
75 | } | 73 | } |
76 | EXPORT_SYMBOL(mx27_revision); | 74 | EXPORT_SYMBOL(mx27_revision); |
diff --git a/arch/arm/mach-imx/cpu-imx31.c b/arch/arm/mach-imx/cpu-imx31.c index a3780700a882..3f2345f0cdaf 100644 --- a/arch/arm/mach-imx/cpu-imx31.c +++ b/arch/arm/mach-imx/cpu-imx31.c | |||
@@ -13,45 +13,50 @@ | |||
13 | #include <linux/io.h> | 13 | #include <linux/io.h> |
14 | #include <mach/hardware.h> | 14 | #include <mach/hardware.h> |
15 | #include <mach/iim.h> | 15 | #include <mach/iim.h> |
16 | #include <mach/common.h> | ||
16 | 17 | ||
17 | unsigned int mx31_cpu_rev; | 18 | static int mx31_cpu_rev = -1; |
18 | EXPORT_SYMBOL(mx31_cpu_rev); | ||
19 | 19 | ||
20 | static struct { | 20 | static struct { |
21 | u8 srev; | 21 | u8 srev; |
22 | const char *name; | 22 | const char *name; |
23 | const char *v; | ||
24 | unsigned int rev; | 23 | unsigned int rev; |
25 | } mx31_cpu_type[] __initdata = { | 24 | } mx31_cpu_type[] = { |
26 | { .srev = 0x00, .name = "i.MX31(L)", .v = "1.0", .rev = IMX_CHIP_REVISION_1_0 }, | 25 | { .srev = 0x00, .name = "i.MX31(L)", .rev = IMX_CHIP_REVISION_1_0 }, |
27 | { .srev = 0x10, .name = "i.MX31", .v = "1.1", .rev = IMX_CHIP_REVISION_1_1 }, | 26 | { .srev = 0x10, .name = "i.MX31", .rev = IMX_CHIP_REVISION_1_1 }, |
28 | { .srev = 0x11, .name = "i.MX31L", .v = "1.1", .rev = IMX_CHIP_REVISION_1_1 }, | 27 | { .srev = 0x11, .name = "i.MX31L", .rev = IMX_CHIP_REVISION_1_1 }, |
29 | { .srev = 0x12, .name = "i.MX31", .v = "1.15", .rev = IMX_CHIP_REVISION_1_1 }, | 28 | { .srev = 0x12, .name = "i.MX31", .rev = IMX_CHIP_REVISION_1_1 }, |
30 | { .srev = 0x13, .name = "i.MX31L", .v = "1.15", .rev = IMX_CHIP_REVISION_1_1 }, | 29 | { .srev = 0x13, .name = "i.MX31L", .rev = IMX_CHIP_REVISION_1_1 }, |
31 | { .srev = 0x14, .name = "i.MX31", .v = "1.2", .rev = IMX_CHIP_REVISION_1_2 }, | 30 | { .srev = 0x14, .name = "i.MX31", .rev = IMX_CHIP_REVISION_1_2 }, |
32 | { .srev = 0x15, .name = "i.MX31L", .v = "1.2", .rev = IMX_CHIP_REVISION_1_2 }, | 31 | { .srev = 0x15, .name = "i.MX31L", .rev = IMX_CHIP_REVISION_1_2 }, |
33 | { .srev = 0x28, .name = "i.MX31", .v = "2.0", .rev = IMX_CHIP_REVISION_2_0 }, | 32 | { .srev = 0x28, .name = "i.MX31", .rev = IMX_CHIP_REVISION_2_0 }, |
34 | { .srev = 0x29, .name = "i.MX31L", .v = "2.0", .rev = IMX_CHIP_REVISION_2_0 }, | 33 | { .srev = 0x29, .name = "i.MX31L", .rev = IMX_CHIP_REVISION_2_0 }, |
35 | }; | 34 | }; |
36 | 35 | ||
37 | void __init mx31_read_cpu_rev(void) | 36 | static int mx31_read_cpu_rev(void) |
38 | { | 37 | { |
39 | u32 i, srev; | 38 | u32 i, srev; |
40 | 39 | ||
41 | /* read SREV register from IIM module */ | 40 | /* read SREV register from IIM module */ |
42 | srev = __raw_readl(MX31_IO_ADDRESS(MX31_IIM_BASE_ADDR + MXC_IIMSREV)); | 41 | srev = __raw_readl(MX31_IO_ADDRESS(MX31_IIM_BASE_ADDR + MXC_IIMSREV)); |
42 | srev &= 0xff; | ||
43 | 43 | ||
44 | for (i = 0; i < ARRAY_SIZE(mx31_cpu_type); i++) | 44 | for (i = 0; i < ARRAY_SIZE(mx31_cpu_type); i++) |
45 | if (srev == mx31_cpu_type[i].srev) { | 45 | if (srev == mx31_cpu_type[i].srev) { |
46 | printk(KERN_INFO | 46 | imx_print_silicon_rev(mx31_cpu_type[i].name, |
47 | "CPU identified as %s, silicon rev %s\n", | 47 | mx31_cpu_type[i].rev); |
48 | mx31_cpu_type[i].name, mx31_cpu_type[i].v); | 48 | return mx31_cpu_type[i].rev; |
49 | |||
50 | mx31_cpu_rev = mx31_cpu_type[i].rev; | ||
51 | return; | ||
52 | } | 49 | } |
53 | 50 | ||
54 | mx31_cpu_rev = IMX_CHIP_REVISION_UNKNOWN; | 51 | imx_print_silicon_rev("i.MX31", IMX_CHIP_REVISION_UNKNOWN); |
52 | return IMX_CHIP_REVISION_UNKNOWN; | ||
53 | } | ||
54 | |||
55 | int mx31_revision(void) | ||
56 | { | ||
57 | if (mx31_cpu_rev == -1) | ||
58 | mx31_cpu_rev = mx31_read_cpu_rev(); | ||
55 | 59 | ||
56 | printk(KERN_WARNING "Unknown CPU identifier. srev = %02x\n", srev); | 60 | return mx31_cpu_rev; |
57 | } | 61 | } |
62 | EXPORT_SYMBOL(mx31_revision); | ||
diff --git a/arch/arm/mach-imx/cpu-imx35.c b/arch/arm/mach-imx/cpu-imx35.c index 6637cd819ecb..846e46eb8cbf 100644 --- a/arch/arm/mach-imx/cpu-imx35.c +++ b/arch/arm/mach-imx/cpu-imx35.c | |||
@@ -13,32 +13,30 @@ | |||
13 | #include <mach/hardware.h> | 13 | #include <mach/hardware.h> |
14 | #include <mach/iim.h> | 14 | #include <mach/iim.h> |
15 | 15 | ||
16 | unsigned int mx35_cpu_rev; | 16 | static int mx35_cpu_rev = -1; |
17 | EXPORT_SYMBOL(mx35_cpu_rev); | ||
18 | 17 | ||
19 | void __init mx35_read_cpu_rev(void) | 18 | static int mx35_read_cpu_rev(void) |
20 | { | 19 | { |
21 | u32 rev; | 20 | u32 rev; |
22 | char *srev; | ||
23 | 21 | ||
24 | rev = __raw_readl(MX35_IO_ADDRESS(MX35_IIM_BASE_ADDR + MXC_IIMSREV)); | 22 | rev = __raw_readl(MX35_IO_ADDRESS(MX35_IIM_BASE_ADDR + MXC_IIMSREV)); |
25 | switch (rev) { | 23 | switch (rev) { |
26 | case 0x00: | 24 | case 0x00: |
27 | mx35_cpu_rev = IMX_CHIP_REVISION_1_0; | 25 | return IMX_CHIP_REVISION_1_0; |
28 | srev = "1.0"; | ||
29 | break; | ||
30 | case 0x10: | 26 | case 0x10: |
31 | mx35_cpu_rev = IMX_CHIP_REVISION_2_0; | 27 | return IMX_CHIP_REVISION_2_0; |
32 | srev = "2.0"; | ||
33 | break; | ||
34 | case 0x11: | 28 | case 0x11: |
35 | mx35_cpu_rev = IMX_CHIP_REVISION_2_1; | 29 | return IMX_CHIP_REVISION_2_1; |
36 | srev = "2.1"; | ||
37 | break; | ||
38 | default: | 30 | default: |
39 | mx35_cpu_rev = IMX_CHIP_REVISION_UNKNOWN; | 31 | return IMX_CHIP_REVISION_UNKNOWN; |
40 | srev = "unknown"; | ||
41 | } | 32 | } |
33 | } | ||
34 | |||
35 | int mx35_revision(void) | ||
36 | { | ||
37 | if (mx35_cpu_rev == -1) | ||
38 | mx35_cpu_rev = mx35_read_cpu_rev(); | ||
42 | 39 | ||
43 | printk(KERN_INFO "CPU identified as i.MX35, silicon rev %s\n", srev); | 40 | return mx35_cpu_rev; |
44 | } | 41 | } |
42 | EXPORT_SYMBOL(mx35_revision); | ||
diff --git a/arch/arm/mach-imx/devices-imx27.h b/arch/arm/mach-imx/devices-imx27.h index 7f97a3cdd41d..2f727d7c380c 100644 --- a/arch/arm/mach-imx/devices-imx27.h +++ b/arch/arm/mach-imx/devices-imx27.h | |||
@@ -76,3 +76,7 @@ extern const struct imx_spi_imx_data imx27_cspi_data[]; | |||
76 | #define imx27_add_spi_imx0(pdata) imx27_add_cspi(0, pdata) | 76 | #define imx27_add_spi_imx0(pdata) imx27_add_cspi(0, pdata) |
77 | #define imx27_add_spi_imx1(pdata) imx27_add_cspi(1, pdata) | 77 | #define imx27_add_spi_imx1(pdata) imx27_add_cspi(1, pdata) |
78 | #define imx27_add_spi_imx2(pdata) imx27_add_cspi(2, pdata) | 78 | #define imx27_add_spi_imx2(pdata) imx27_add_cspi(2, pdata) |
79 | |||
80 | extern const struct imx_pata_imx_data imx27_pata_imx_data; | ||
81 | #define imx27_add_pata_imx() \ | ||
82 | imx_add_pata_imx(&imx27_pata_imx_data) | ||
diff --git a/arch/arm/mach-imx/devices-imx31.h b/arch/arm/mach-imx/devices-imx31.h index dbe940d9c53a..488e241a6db6 100644 --- a/arch/arm/mach-imx/devices-imx31.h +++ b/arch/arm/mach-imx/devices-imx31.h | |||
@@ -78,3 +78,7 @@ extern const struct imx_spi_imx_data imx31_cspi_data[]; | |||
78 | #define imx31_add_spi_imx0(pdata) imx31_add_cspi(0, pdata) | 78 | #define imx31_add_spi_imx0(pdata) imx31_add_cspi(0, pdata) |
79 | #define imx31_add_spi_imx1(pdata) imx31_add_cspi(1, pdata) | 79 | #define imx31_add_spi_imx1(pdata) imx31_add_cspi(1, pdata) |
80 | #define imx31_add_spi_imx2(pdata) imx31_add_cspi(2, pdata) | 80 | #define imx31_add_spi_imx2(pdata) imx31_add_cspi(2, pdata) |
81 | |||
82 | extern const struct imx_pata_imx_data imx31_pata_imx_data; | ||
83 | #define imx31_add_pata_imx() \ | ||
84 | imx_add_pata_imx(&imx31_pata_imx_data) | ||
diff --git a/arch/arm/mach-imx/devices-imx35.h b/arch/arm/mach-imx/devices-imx35.h index 234cbd3c18af..7b99ef0bb501 100644 --- a/arch/arm/mach-imx/devices-imx35.h +++ b/arch/arm/mach-imx/devices-imx35.h | |||
@@ -81,3 +81,7 @@ extern const struct imx_spi_imx_data imx35_cspi_data[]; | |||
81 | imx_add_spi_imx(&imx35_cspi_data[id], pdata) | 81 | imx_add_spi_imx(&imx35_cspi_data[id], pdata) |
82 | #define imx35_add_spi_imx0(pdata) imx35_add_cspi(0, pdata) | 82 | #define imx35_add_spi_imx0(pdata) imx35_add_cspi(0, pdata) |
83 | #define imx35_add_spi_imx1(pdata) imx35_add_cspi(1, pdata) | 83 | #define imx35_add_spi_imx1(pdata) imx35_add_cspi(1, pdata) |
84 | |||
85 | extern const struct imx_pata_imx_data imx35_pata_imx_data; | ||
86 | #define imx35_add_pata_imx() \ | ||
87 | imx_add_pata_imx(&imx35_pata_imx_data) | ||
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig index b4e7c58bbb38..fb4c503bb052 100644 --- a/arch/arm/mach-mx5/Kconfig +++ b/arch/arm/mach-mx5/Kconfig | |||
@@ -1,8 +1,9 @@ | |||
1 | if ARCH_MX503 || ARCH_MX51 | 1 | if ARCH_MX5 |
2 | |||
2 | # ARCH_MX5/50/53 are left to mark places where prevent multi-soc in single | 3 | # ARCH_MX5/50/53 are left to mark places where prevent multi-soc in single |
3 | # image. So for most time, SOC_IMX50/51/53 should be used. | 4 | # image. So for most time, SOC_IMX50/51/53 should be used. |
4 | 5 | ||
5 | config ARCH_MX5 | 6 | config ARCH_MX51 |
6 | bool | 7 | bool |
7 | 8 | ||
8 | config ARCH_MX50 | 9 | config ARCH_MX50 |
@@ -19,7 +20,6 @@ config SOC_IMX50 | |||
19 | select ARCH_MXC_IOMUX_V3 | 20 | select ARCH_MXC_IOMUX_V3 |
20 | select ARCH_MXC_AUDMUX_V2 | 21 | select ARCH_MXC_AUDMUX_V2 |
21 | select ARCH_HAS_CPUFREQ | 22 | select ARCH_HAS_CPUFREQ |
22 | select ARCH_MX5 | ||
23 | select ARCH_MX50 | 23 | select ARCH_MX50 |
24 | 24 | ||
25 | config SOC_IMX51 | 25 | config SOC_IMX51 |
@@ -30,7 +30,7 @@ config SOC_IMX51 | |||
30 | select ARCH_MXC_IOMUX_V3 | 30 | select ARCH_MXC_IOMUX_V3 |
31 | select ARCH_MXC_AUDMUX_V2 | 31 | select ARCH_MXC_AUDMUX_V2 |
32 | select ARCH_HAS_CPUFREQ | 32 | select ARCH_HAS_CPUFREQ |
33 | select ARCH_MX5 | 33 | select ARCH_MX51 |
34 | 34 | ||
35 | config SOC_IMX53 | 35 | config SOC_IMX53 |
36 | bool | 36 | bool |
@@ -38,10 +38,8 @@ config SOC_IMX53 | |||
38 | select ARM_L1_CACHE_SHIFT_6 | 38 | select ARM_L1_CACHE_SHIFT_6 |
39 | select MXC_TZIC | 39 | select MXC_TZIC |
40 | select ARCH_MXC_IOMUX_V3 | 40 | select ARCH_MXC_IOMUX_V3 |
41 | select ARCH_MX5 | ||
42 | select ARCH_MX53 | 41 | select ARCH_MX53 |
43 | 42 | ||
44 | if ARCH_MX50_SUPPORTED | ||
45 | #comment "i.MX50 machines:" | 43 | #comment "i.MX50 machines:" |
46 | 44 | ||
47 | config MACH_MX50_RDP | 45 | config MACH_MX50_RDP |
@@ -57,9 +55,6 @@ config MACH_MX50_RDP | |||
57 | Include support for MX50 reference design platform (RDP) board. This | 55 | Include support for MX50 reference design platform (RDP) board. This |
58 | includes specific configurations for the board and its peripherals. | 56 | includes specific configurations for the board and its peripherals. |
59 | 57 | ||
60 | endif # ARCH_MX50_SUPPORTED | ||
61 | |||
62 | if ARCH_MX51 | ||
63 | comment "i.MX51 machines:" | 58 | comment "i.MX51 machines:" |
64 | 59 | ||
65 | config MACH_MX51_BABBAGE | 60 | config MACH_MX51_BABBAGE |
@@ -147,6 +142,7 @@ config MX51_EFIKA_COMMON | |||
147 | bool | 142 | bool |
148 | select SOC_IMX51 | 143 | select SOC_IMX51 |
149 | select IMX_HAVE_PLATFORM_IMX_UART | 144 | select IMX_HAVE_PLATFORM_IMX_UART |
145 | select IMX_HAVE_PLATFORM_PATA_IMX | ||
150 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX | 146 | select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX |
151 | select IMX_HAVE_PLATFORM_SPI_IMX | 147 | select IMX_HAVE_PLATFORM_SPI_IMX |
152 | select MXC_ULPI if USB_ULPI | 148 | select MXC_ULPI if USB_ULPI |
@@ -167,9 +163,6 @@ config MACH_MX51_EFIKASB | |||
167 | Include support for Genesi Efika Smartbook. This includes specific | 163 | Include support for Genesi Efika Smartbook. This includes specific |
168 | configurations for the board and its peripherals. | 164 | configurations for the board and its peripherals. |
169 | 165 | ||
170 | endif # ARCH_MX51 | ||
171 | |||
172 | if ARCH_MX53_SUPPORTED | ||
173 | comment "i.MX53 machines:" | 166 | comment "i.MX53 machines:" |
174 | 167 | ||
175 | config MACH_MX53_EVK | 168 | config MACH_MX53_EVK |
@@ -221,6 +214,4 @@ config MACH_MX53_ARD | |||
221 | Include support for MX53 ARD platform. This includes specific | 214 | Include support for MX53 ARD platform. This includes specific |
222 | configurations for the board and its peripherals. | 215 | configurations for the board and its peripherals. |
223 | 216 | ||
224 | endif # ARCH_MX53_SUPPORTED | ||
225 | |||
226 | endif | 217 | endif |
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c index f7bf996f463b..afecd78ce203 100644 --- a/arch/arm/mach-mx5/clock-mx51-mx53.c +++ b/arch/arm/mach-mx5/clock-mx51-mx53.c | |||
@@ -1418,6 +1418,10 @@ DEFINE_CLOCK(ipu_di0_clk, 0, MXC_CCM_CCGR6, MXC_CCM_CCGRx_CG5_OFFSET, | |||
1418 | DEFINE_CLOCK(ipu_di1_clk, 0, MXC_CCM_CCGR6, MXC_CCM_CCGRx_CG6_OFFSET, | 1418 | DEFINE_CLOCK(ipu_di1_clk, 0, MXC_CCM_CCGR6, MXC_CCM_CCGRx_CG6_OFFSET, |
1419 | NULL, NULL, &pll3_sw_clk, NULL); | 1419 | NULL, NULL, &pll3_sw_clk, NULL); |
1420 | 1420 | ||
1421 | /* PATA */ | ||
1422 | DEFINE_CLOCK(pata_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG0_OFFSET, | ||
1423 | NULL, NULL, &ipg_clk, &spba_clk); | ||
1424 | |||
1421 | #define _REGISTER_CLOCK(d, n, c) \ | 1425 | #define _REGISTER_CLOCK(d, n, c) \ |
1422 | { \ | 1426 | { \ |
1423 | .dev_id = d, \ | 1427 | .dev_id = d, \ |
@@ -1474,6 +1478,7 @@ static struct clk_lookup mx51_lookups[] = { | |||
1474 | _REGISTER_CLOCK("imx-ipuv3", "di0", ipu_di0_clk) | 1478 | _REGISTER_CLOCK("imx-ipuv3", "di0", ipu_di0_clk) |
1475 | _REGISTER_CLOCK("imx-ipuv3", "di1", ipu_di1_clk) | 1479 | _REGISTER_CLOCK("imx-ipuv3", "di1", ipu_di1_clk) |
1476 | _REGISTER_CLOCK(NULL, "gpc_dvfs", gpc_dvfs_clk) | 1480 | _REGISTER_CLOCK(NULL, "gpc_dvfs", gpc_dvfs_clk) |
1481 | _REGISTER_CLOCK("pata_imx", NULL, pata_clk) | ||
1477 | }; | 1482 | }; |
1478 | 1483 | ||
1479 | static struct clk_lookup mx53_lookups[] = { | 1484 | static struct clk_lookup mx53_lookups[] = { |
@@ -1507,6 +1512,7 @@ static struct clk_lookup mx53_lookups[] = { | |||
1507 | _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk) | 1512 | _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk) |
1508 | _REGISTER_CLOCK("imx-ssi.2", NULL, ssi3_clk) | 1513 | _REGISTER_CLOCK("imx-ssi.2", NULL, ssi3_clk) |
1509 | _REGISTER_CLOCK("imx-keypad", NULL, dummy_clk) | 1514 | _REGISTER_CLOCK("imx-keypad", NULL, dummy_clk) |
1515 | _REGISTER_CLOCK("pata_imx", NULL, pata_clk) | ||
1510 | }; | 1516 | }; |
1511 | 1517 | ||
1512 | static void clk_tree_init(void) | 1518 | static void clk_tree_init(void) |
@@ -1548,9 +1554,8 @@ int __init mx51_clocks_init(unsigned long ckil, unsigned long osc, | |||
1548 | clk_enable(&main_bus_clk); | 1554 | clk_enable(&main_bus_clk); |
1549 | 1555 | ||
1550 | clk_enable(&iim_clk); | 1556 | clk_enable(&iim_clk); |
1551 | mx51_revision(); | 1557 | imx_print_silicon_rev("i.MX51", mx51_revision()); |
1552 | clk_disable(&iim_clk); | 1558 | clk_disable(&iim_clk); |
1553 | mx51_display_revision(); | ||
1554 | 1559 | ||
1555 | /* move usb_phy_clk to 24MHz */ | 1560 | /* move usb_phy_clk to 24MHz */ |
1556 | clk_set_parent(&usb_phy1_clk, &osc_clk); | 1561 | clk_set_parent(&usb_phy1_clk, &osc_clk); |
@@ -1592,9 +1597,8 @@ int __init mx53_clocks_init(unsigned long ckil, unsigned long osc, | |||
1592 | clk_enable(&main_bus_clk); | 1597 | clk_enable(&main_bus_clk); |
1593 | 1598 | ||
1594 | clk_enable(&iim_clk); | 1599 | clk_enable(&iim_clk); |
1595 | mx53_revision(); | 1600 | imx_print_silicon_rev("i.MX53", mx53_revision()); |
1596 | clk_disable(&iim_clk); | 1601 | clk_disable(&iim_clk); |
1597 | mx53_display_revision(); | ||
1598 | 1602 | ||
1599 | /* Set SDHC parents to be PLL2 */ | 1603 | /* Set SDHC parents to be PLL2 */ |
1600 | clk_set_parent(&esdhc1_clk, &pll2_sw_clk); | 1604 | clk_set_parent(&esdhc1_clk, &pll2_sw_clk); |
diff --git a/arch/arm/mach-mx5/cpu.c b/arch/arm/mach-mx5/cpu.c index 86f87da59c64..5c5328257dca 100644 --- a/arch/arm/mach-mx5/cpu.c +++ b/arch/arm/mach-mx5/cpu.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <mach/hardware.h> | 18 | #include <mach/hardware.h> |
19 | #include <asm/io.h> | 19 | #include <asm/io.h> |
20 | 20 | ||
21 | static int cpu_silicon_rev = -1; | 21 | static int mx5_cpu_rev = -1; |
22 | 22 | ||
23 | #define IIM_SREV 0x24 | 23 | #define IIM_SREV 0x24 |
24 | #define MX50_HW_ADADIG_DIGPROG 0xB0 | 24 | #define MX50_HW_ADADIG_DIGPROG 0xB0 |
@@ -28,11 +28,14 @@ static int get_mx51_srev(void) | |||
28 | void __iomem *iim_base = MX51_IO_ADDRESS(MX51_IIM_BASE_ADDR); | 28 | void __iomem *iim_base = MX51_IO_ADDRESS(MX51_IIM_BASE_ADDR); |
29 | u32 rev = readl(iim_base + IIM_SREV) & 0xff; | 29 | u32 rev = readl(iim_base + IIM_SREV) & 0xff; |
30 | 30 | ||
31 | if (rev == 0x0) | 31 | switch (rev) { |
32 | case 0x0: | ||
32 | return IMX_CHIP_REVISION_2_0; | 33 | return IMX_CHIP_REVISION_2_0; |
33 | else if (rev == 0x10) | 34 | case 0x10: |
34 | return IMX_CHIP_REVISION_3_0; | 35 | return IMX_CHIP_REVISION_3_0; |
35 | return 0; | 36 | default: |
37 | return IMX_CHIP_REVISION_UNKNOWN; | ||
38 | } | ||
36 | } | 39 | } |
37 | 40 | ||
38 | /* | 41 | /* |
@@ -45,33 +48,13 @@ int mx51_revision(void) | |||
45 | if (!cpu_is_mx51()) | 48 | if (!cpu_is_mx51()) |
46 | return -EINVAL; | 49 | return -EINVAL; |
47 | 50 | ||
48 | if (cpu_silicon_rev == -1) | 51 | if (mx5_cpu_rev == -1) |
49 | cpu_silicon_rev = get_mx51_srev(); | 52 | mx5_cpu_rev = get_mx51_srev(); |
50 | 53 | ||
51 | return cpu_silicon_rev; | 54 | return mx5_cpu_rev; |
52 | } | 55 | } |
53 | EXPORT_SYMBOL(mx51_revision); | 56 | EXPORT_SYMBOL(mx51_revision); |
54 | 57 | ||
55 | void mx51_display_revision(void) | ||
56 | { | ||
57 | int rev; | ||
58 | char *srev; | ||
59 | rev = mx51_revision(); | ||
60 | |||
61 | switch (rev) { | ||
62 | case IMX_CHIP_REVISION_2_0: | ||
63 | srev = IMX_CHIP_REVISION_2_0_STRING; | ||
64 | break; | ||
65 | case IMX_CHIP_REVISION_3_0: | ||
66 | srev = IMX_CHIP_REVISION_3_0_STRING; | ||
67 | break; | ||
68 | default: | ||
69 | srev = IMX_CHIP_REVISION_UNKNOWN_STRING; | ||
70 | } | ||
71 | printk(KERN_INFO "CPU identified as i.MX51, silicon rev %s\n", srev); | ||
72 | } | ||
73 | EXPORT_SYMBOL(mx51_display_revision); | ||
74 | |||
75 | #ifdef CONFIG_NEON | 58 | #ifdef CONFIG_NEON |
76 | 59 | ||
77 | /* | 60 | /* |
@@ -121,10 +104,10 @@ int mx53_revision(void) | |||
121 | if (!cpu_is_mx53()) | 104 | if (!cpu_is_mx53()) |
122 | return -EINVAL; | 105 | return -EINVAL; |
123 | 106 | ||
124 | if (cpu_silicon_rev == -1) | 107 | if (mx5_cpu_rev == -1) |
125 | cpu_silicon_rev = get_mx53_srev(); | 108 | mx5_cpu_rev = get_mx53_srev(); |
126 | 109 | ||
127 | return cpu_silicon_rev; | 110 | return mx5_cpu_rev; |
128 | } | 111 | } |
129 | EXPORT_SYMBOL(mx53_revision); | 112 | EXPORT_SYMBOL(mx53_revision); |
130 | 113 | ||
@@ -134,7 +117,7 @@ static int get_mx50_srev(void) | |||
134 | u32 rev; | 117 | u32 rev; |
135 | 118 | ||
136 | if (!anatop) { | 119 | if (!anatop) { |
137 | cpu_silicon_rev = -EINVAL; | 120 | mx5_cpu_rev = -EINVAL; |
138 | return 0; | 121 | return 0; |
139 | } | 122 | } |
140 | 123 | ||
@@ -159,36 +142,13 @@ int mx50_revision(void) | |||
159 | if (!cpu_is_mx50()) | 142 | if (!cpu_is_mx50()) |
160 | return -EINVAL; | 143 | return -EINVAL; |
161 | 144 | ||
162 | if (cpu_silicon_rev == -1) | 145 | if (mx5_cpu_rev == -1) |
163 | cpu_silicon_rev = get_mx50_srev(); | 146 | mx5_cpu_rev = get_mx50_srev(); |
164 | 147 | ||
165 | return cpu_silicon_rev; | 148 | return mx5_cpu_rev; |
166 | } | 149 | } |
167 | EXPORT_SYMBOL(mx50_revision); | 150 | EXPORT_SYMBOL(mx50_revision); |
168 | 151 | ||
169 | void mx53_display_revision(void) | ||
170 | { | ||
171 | int rev; | ||
172 | char *srev; | ||
173 | rev = mx53_revision(); | ||
174 | |||
175 | switch (rev) { | ||
176 | case IMX_CHIP_REVISION_1_0: | ||
177 | srev = IMX_CHIP_REVISION_1_0_STRING; | ||
178 | break; | ||
179 | case IMX_CHIP_REVISION_2_0: | ||
180 | srev = IMX_CHIP_REVISION_2_0_STRING; | ||
181 | break; | ||
182 | case IMX_CHIP_REVISION_2_1: | ||
183 | srev = IMX_CHIP_REVISION_2_1_STRING; | ||
184 | break; | ||
185 | default: | ||
186 | srev = IMX_CHIP_REVISION_UNKNOWN_STRING; | ||
187 | } | ||
188 | printk(KERN_INFO "CPU identified as i.MX53, silicon rev %s\n", srev); | ||
189 | } | ||
190 | EXPORT_SYMBOL(mx53_display_revision); | ||
191 | |||
192 | static int __init post_cpu_init(void) | 152 | static int __init post_cpu_init(void) |
193 | { | 153 | { |
194 | unsigned int reg; | 154 | unsigned int reg; |
diff --git a/arch/arm/mach-mx5/devices-imx51.h b/arch/arm/mach-mx5/devices-imx51.h index e11bc0e0ec49..89fe77ffb4d4 100644 --- a/arch/arm/mach-mx5/devices-imx51.h +++ b/arch/arm/mach-mx5/devices-imx51.h | |||
@@ -52,3 +52,7 @@ extern const struct imx_mxc_pwm_data imx51_mxc_pwm_data[]; | |||
52 | extern const struct imx_imx_keypad_data imx51_imx_keypad_data; | 52 | extern const struct imx_imx_keypad_data imx51_imx_keypad_data; |
53 | #define imx51_add_imx_keypad(pdata) \ | 53 | #define imx51_add_imx_keypad(pdata) \ |
54 | imx_add_imx_keypad(&imx51_imx_keypad_data, pdata) | 54 | imx_add_imx_keypad(&imx51_imx_keypad_data, pdata) |
55 | |||
56 | extern const struct imx_pata_imx_data imx51_pata_imx_data; | ||
57 | #define imx51_add_pata_imx() \ | ||
58 | imx_add_pata_imx(&imx51_pata_imx_data) | ||
diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-mx5/devices-imx53.h index c27fe8bb4762..7ca5d0c76f8b 100644 --- a/arch/arm/mach-mx5/devices-imx53.h +++ b/arch/arm/mach-mx5/devices-imx53.h | |||
@@ -40,3 +40,7 @@ extern const struct imx_imx_ssi_data imx53_imx_ssi_data[]; | |||
40 | extern const struct imx_imx_keypad_data imx53_imx_keypad_data; | 40 | extern const struct imx_imx_keypad_data imx53_imx_keypad_data; |
41 | #define imx53_add_imx_keypad(pdata) \ | 41 | #define imx53_add_imx_keypad(pdata) \ |
42 | imx_add_imx_keypad(&imx53_imx_keypad_data, pdata) | 42 | imx_add_imx_keypad(&imx53_imx_keypad_data, pdata) |
43 | |||
44 | extern const struct imx_pata_imx_data imx53_pata_imx_data; | ||
45 | #define imx53_add_pata_imx() \ | ||
46 | imx_add_pata_imx(&imx53_pata_imx_data) | ||
diff --git a/arch/arm/mach-mx5/mx51_efika.c b/arch/arm/mach-mx5/mx51_efika.c index c9209454807a..0d738fdc8a94 100644 --- a/arch/arm/mach-mx5/mx51_efika.c +++ b/arch/arm/mach-mx5/mx51_efika.c | |||
@@ -627,6 +627,8 @@ void __init efika_board_common_init(void) | |||
627 | ARRAY_SIZE(mx51_efika_spi_board_info)); | 627 | ARRAY_SIZE(mx51_efika_spi_board_info)); |
628 | imx51_add_ecspi(0, &mx51_efika_spi_pdata); | 628 | imx51_add_ecspi(0, &mx51_efika_spi_pdata); |
629 | 629 | ||
630 | imx51_add_pata_imx(); | ||
631 | |||
630 | #if defined(CONFIG_CPU_FREQ_IMX) | 632 | #if defined(CONFIG_CPU_FREQ_IMX) |
631 | get_cpu_op = mx51_get_cpu_op; | 633 | get_cpu_op = mx51_get_cpu_op; |
632 | #endif | 634 | #endif |
diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig index 4cd0231ee539..fdf104f083b7 100644 --- a/arch/arm/mach-mxs/Kconfig +++ b/arch/arm/mach-mxs/Kconfig | |||
@@ -23,6 +23,7 @@ config MACH_STMP378X_DEVB | |||
23 | select MXS_HAVE_AMBA_DUART | 23 | select MXS_HAVE_AMBA_DUART |
24 | select MXS_HAVE_PLATFORM_AUART | 24 | select MXS_HAVE_PLATFORM_AUART |
25 | select MXS_HAVE_PLATFORM_MXS_MMC | 25 | select MXS_HAVE_PLATFORM_MXS_MMC |
26 | select MXS_HAVE_PLATFORM_RTC_STMP3XXX | ||
26 | help | 27 | help |
27 | Include support for STMP378x-devb platform. This includes specific | 28 | Include support for STMP378x-devb platform. This includes specific |
28 | configurations for the board and its peripherals. | 29 | configurations for the board and its peripherals. |
@@ -34,6 +35,7 @@ config MACH_MX23EVK | |||
34 | select MXS_HAVE_PLATFORM_AUART | 35 | select MXS_HAVE_PLATFORM_AUART |
35 | select MXS_HAVE_PLATFORM_MXS_MMC | 36 | select MXS_HAVE_PLATFORM_MXS_MMC |
36 | select MXS_HAVE_PLATFORM_MXSFB | 37 | select MXS_HAVE_PLATFORM_MXSFB |
38 | select MXS_HAVE_PLATFORM_RTC_STMP3XXX | ||
37 | help | 39 | help |
38 | Include support for MX23EVK platform. This includes specific | 40 | Include support for MX23EVK platform. This includes specific |
39 | configurations for the board and its peripherals. | 41 | configurations for the board and its peripherals. |
@@ -48,6 +50,9 @@ config MACH_MX28EVK | |||
48 | select MXS_HAVE_PLATFORM_FLEXCAN | 50 | select MXS_HAVE_PLATFORM_FLEXCAN |
49 | select MXS_HAVE_PLATFORM_MXS_MMC | 51 | select MXS_HAVE_PLATFORM_MXS_MMC |
50 | select MXS_HAVE_PLATFORM_MXSFB | 52 | select MXS_HAVE_PLATFORM_MXSFB |
53 | select MXS_HAVE_PLATFORM_MXS_SAIF | ||
54 | select MXS_HAVE_PLATFORM_MXS_I2C | ||
55 | select MXS_HAVE_PLATFORM_RTC_STMP3XXX | ||
51 | select MXS_OCOTP | 56 | select MXS_OCOTP |
52 | help | 57 | help |
53 | Include support for MX28EVK platform. This includes specific | 58 | Include support for MX28EVK platform. This includes specific |
@@ -63,6 +68,7 @@ config MODULE_TX28 | |||
63 | select MXS_HAVE_PLATFORM_MXS_I2C | 68 | select MXS_HAVE_PLATFORM_MXS_I2C |
64 | select MXS_HAVE_PLATFORM_MXS_MMC | 69 | select MXS_HAVE_PLATFORM_MXS_MMC |
65 | select MXS_HAVE_PLATFORM_MXS_PWM | 70 | select MXS_HAVE_PLATFORM_MXS_PWM |
71 | select MXS_HAVE_PLATFORM_RTC_STMP3XXX | ||
66 | 72 | ||
67 | config MACH_TX28 | 73 | config MACH_TX28 |
68 | bool "Ka-Ro TX28 module" | 74 | bool "Ka-Ro TX28 module" |
diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c index 5dcc59d5b9ec..7954013bd32f 100644 --- a/arch/arm/mach-mxs/clock-mx28.c +++ b/arch/arm/mach-mxs/clock-mx28.c | |||
@@ -640,6 +640,8 @@ static struct clk_lookup lookups[] = { | |||
640 | _REGISTER_CLOCK(NULL, "lradc", lradc_clk) | 640 | _REGISTER_CLOCK(NULL, "lradc", lradc_clk) |
641 | _REGISTER_CLOCK(NULL, "spdif", spdif_clk) | 641 | _REGISTER_CLOCK(NULL, "spdif", spdif_clk) |
642 | _REGISTER_CLOCK("imx28-fb", NULL, lcdif_clk) | 642 | _REGISTER_CLOCK("imx28-fb", NULL, lcdif_clk) |
643 | _REGISTER_CLOCK("mxs-saif.0", NULL, saif0_clk) | ||
644 | _REGISTER_CLOCK("mxs-saif.1", NULL, saif1_clk) | ||
643 | }; | 645 | }; |
644 | 646 | ||
645 | static int clk_misc_init(void) | 647 | static int clk_misc_init(void) |
@@ -708,11 +710,11 @@ static int clk_misc_init(void) | |||
708 | 710 | ||
709 | /* SAIF has to use frac div for functional operation */ | 711 | /* SAIF has to use frac div for functional operation */ |
710 | reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF0); | 712 | reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF0); |
711 | reg &= ~BM_CLKCTRL_SAIF0_DIV_FRAC_EN; | 713 | reg |= BM_CLKCTRL_SAIF0_DIV_FRAC_EN; |
712 | __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF0); | 714 | __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF0); |
713 | 715 | ||
714 | reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF1); | 716 | reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF1); |
715 | reg &= ~BM_CLKCTRL_SAIF1_DIV_FRAC_EN; | 717 | reg |= BM_CLKCTRL_SAIF1_DIV_FRAC_EN; |
716 | __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF1); | 718 | __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_SAIF1); |
717 | 719 | ||
718 | /* | 720 | /* |
@@ -774,6 +776,8 @@ int __init mx28_clocks_init(void) | |||
774 | clk_enable(&uart_clk); | 776 | clk_enable(&uart_clk); |
775 | 777 | ||
776 | clk_set_parent(&lcdif_clk, &ref_pix_clk); | 778 | clk_set_parent(&lcdif_clk, &ref_pix_clk); |
779 | clk_set_parent(&saif0_clk, &pll0_clk); | ||
780 | clk_set_parent(&saif1_clk, &pll0_clk); | ||
777 | 781 | ||
778 | clkdev_add_table(lookups, ARRAY_SIZE(lookups)); | 782 | clkdev_add_table(lookups, ARRAY_SIZE(lookups)); |
779 | 783 | ||
diff --git a/arch/arm/mach-mxs/devices-mx23.h b/arch/arm/mach-mxs/devices-mx23.h index c6f345febd39..3fa651d2c994 100644 --- a/arch/arm/mach-mxs/devices-mx23.h +++ b/arch/arm/mach-mxs/devices-mx23.h | |||
@@ -29,3 +29,5 @@ extern const struct mxs_mxs_mmc_data mx23_mxs_mmc_data[] __initconst; | |||
29 | 29 | ||
30 | struct platform_device *__init mx23_add_mxsfb( | 30 | struct platform_device *__init mx23_add_mxsfb( |
31 | const struct mxsfb_platform_data *pdata); | 31 | const struct mxsfb_platform_data *pdata); |
32 | |||
33 | struct platform_device *__init mx23_add_rtc_stmp3xxx(void); | ||
diff --git a/arch/arm/mach-mxs/devices-mx28.h b/arch/arm/mach-mxs/devices-mx28.h index 79b94523954a..c8887103f0e3 100644 --- a/arch/arm/mach-mxs/devices-mx28.h +++ b/arch/arm/mach-mxs/devices-mx28.h | |||
@@ -45,3 +45,8 @@ extern const struct mxs_mxs_mmc_data mx28_mxs_mmc_data[] __initconst; | |||
45 | 45 | ||
46 | struct platform_device *__init mx28_add_mxsfb( | 46 | struct platform_device *__init mx28_add_mxsfb( |
47 | const struct mxsfb_platform_data *pdata); | 47 | const struct mxsfb_platform_data *pdata); |
48 | |||
49 | extern const struct mxs_saif_data mx28_saif_data[] __initconst; | ||
50 | #define mx28_add_saif(id) mxs_add_saif(&mx28_saif_data[id]) | ||
51 | |||
52 | struct platform_device *__init mx28_add_rtc_stmp3xxx(void); | ||
diff --git a/arch/arm/mach-mxs/devices/Kconfig b/arch/arm/mach-mxs/devices/Kconfig index acf9eea124c0..18b6bf526a27 100644 --- a/arch/arm/mach-mxs/devices/Kconfig +++ b/arch/arm/mach-mxs/devices/Kconfig | |||
@@ -23,3 +23,9 @@ config MXS_HAVE_PLATFORM_MXS_PWM | |||
23 | 23 | ||
24 | config MXS_HAVE_PLATFORM_MXSFB | 24 | config MXS_HAVE_PLATFORM_MXSFB |
25 | bool | 25 | bool |
26 | |||
27 | config MXS_HAVE_PLATFORM_MXS_SAIF | ||
28 | bool | ||
29 | |||
30 | config MXS_HAVE_PLATFORM_RTC_STMP3XXX | ||
31 | bool | ||
diff --git a/arch/arm/mach-mxs/devices/Makefile b/arch/arm/mach-mxs/devices/Makefile index 351915c683ff..f52e3e53baec 100644 --- a/arch/arm/mach-mxs/devices/Makefile +++ b/arch/arm/mach-mxs/devices/Makefile | |||
@@ -8,3 +8,5 @@ obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_MMC) += platform-mxs-mmc.o | |||
8 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_PWM) += platform-mxs-pwm.o | 8 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_PWM) += platform-mxs-pwm.o |
9 | obj-y += platform-gpio-mxs.o | 9 | obj-y += platform-gpio-mxs.o |
10 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXSFB) += platform-mxsfb.o | 10 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXSFB) += platform-mxsfb.o |
11 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_SAIF) += platform-mxs-saif.o | ||
12 | obj-$(CONFIG_MXS_HAVE_PLATFORM_RTC_STMP3XXX) += platform-rtc-stmp3xxx.o | ||
diff --git a/arch/arm/mach-mxs/devices/platform-mxs-saif.c b/arch/arm/mach-mxs/devices/platform-mxs-saif.c new file mode 100644 index 000000000000..1ec965e9fe92 --- /dev/null +++ b/arch/arm/mach-mxs/devices/platform-mxs-saif.c | |||
@@ -0,0 +1,60 @@ | |||
1 | /* | ||
2 | * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it under | ||
5 | * the terms of the GNU General Public License version 2 as published by the | ||
6 | * Free Software Foundation. | ||
7 | */ | ||
8 | #include <linux/compiler.h> | ||
9 | #include <linux/err.h> | ||
10 | #include <linux/init.h> | ||
11 | |||
12 | #include <mach/mx23.h> | ||
13 | #include <mach/mx28.h> | ||
14 | #include <mach/devices-common.h> | ||
15 | |||
16 | #define mxs_saif_data_entry_single(soc, _id) \ | ||
17 | { \ | ||
18 | .id = _id, \ | ||
19 | .iobase = soc ## _SAIF ## _id ## _BASE_ADDR, \ | ||
20 | .irq = soc ## _INT_SAIF ## _id, \ | ||
21 | .dma = soc ## _DMA_SAIF ## _id, \ | ||
22 | .dmairq = soc ## _INT_SAIF ## _id ##_DMA, \ | ||
23 | } | ||
24 | |||
25 | #define mxs_saif_data_entry(soc, _id) \ | ||
26 | [_id] = mxs_saif_data_entry_single(soc, _id) | ||
27 | |||
28 | #ifdef CONFIG_SOC_IMX28 | ||
29 | const struct mxs_saif_data mx28_saif_data[] __initconst = { | ||
30 | mxs_saif_data_entry(MX28, 0), | ||
31 | mxs_saif_data_entry(MX28, 1), | ||
32 | }; | ||
33 | #endif | ||
34 | |||
35 | struct platform_device *__init mxs_add_saif(const struct mxs_saif_data *data) | ||
36 | { | ||
37 | struct resource res[] = { | ||
38 | { | ||
39 | .start = data->iobase, | ||
40 | .end = data->iobase + SZ_4K - 1, | ||
41 | .flags = IORESOURCE_MEM, | ||
42 | }, { | ||
43 | .start = data->irq, | ||
44 | .end = data->irq, | ||
45 | .flags = IORESOURCE_IRQ, | ||
46 | }, { | ||
47 | .start = data->dma, | ||
48 | .end = data->dma, | ||
49 | .flags = IORESOURCE_DMA, | ||
50 | }, { | ||
51 | .start = data->dmairq, | ||
52 | .end = data->dmairq, | ||
53 | .flags = IORESOURCE_IRQ, | ||
54 | }, | ||
55 | |||
56 | }; | ||
57 | |||
58 | return mxs_add_platform_device("mxs-saif", data->id, res, | ||
59 | ARRAY_SIZE(res), NULL, 0); | ||
60 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c b/arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c new file mode 100644 index 000000000000..639eaee15553 --- /dev/null +++ b/arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Pengutronix, Wolfram Sang <w.sang@pengutronix.de> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it under | ||
5 | * the terms of the GNU General Public License version 2 as published by the | ||
6 | * Free Software Foundation. | ||
7 | */ | ||
8 | #include <asm/sizes.h> | ||
9 | #include <mach/mx23.h> | ||
10 | #include <mach/mx28.h> | ||
11 | #include <mach/devices-common.h> | ||
12 | |||
13 | #ifdef CONFIG_SOC_IMX23 | ||
14 | struct platform_device *__init mx23_add_rtc_stmp3xxx(void) | ||
15 | { | ||
16 | struct resource res[] = { | ||
17 | { | ||
18 | .start = MX23_RTC_BASE_ADDR, | ||
19 | .end = MX23_RTC_BASE_ADDR + SZ_8K - 1, | ||
20 | .flags = IORESOURCE_MEM, | ||
21 | }, { | ||
22 | .start = MX23_INT_RTC_ALARM, | ||
23 | .end = MX23_INT_RTC_ALARM, | ||
24 | .flags = IORESOURCE_IRQ, | ||
25 | }, | ||
26 | }; | ||
27 | |||
28 | return mxs_add_platform_device("stmp3xxx-rtc", 0, res, ARRAY_SIZE(res), | ||
29 | NULL, 0); | ||
30 | } | ||
31 | #endif /* CONFIG_SOC_IMX23 */ | ||
32 | |||
33 | #ifdef CONFIG_SOC_IMX28 | ||
34 | struct platform_device *__init mx28_add_rtc_stmp3xxx(void) | ||
35 | { | ||
36 | struct resource res[] = { | ||
37 | { | ||
38 | .start = MX28_RTC_BASE_ADDR, | ||
39 | .end = MX28_RTC_BASE_ADDR + SZ_8K - 1, | ||
40 | .flags = IORESOURCE_MEM, | ||
41 | }, { | ||
42 | .start = MX28_INT_RTC_ALARM, | ||
43 | .end = MX28_INT_RTC_ALARM, | ||
44 | .flags = IORESOURCE_IRQ, | ||
45 | }, | ||
46 | }; | ||
47 | |||
48 | return mxs_add_platform_device("stmp3xxx-rtc", 0, res, ARRAY_SIZE(res), | ||
49 | NULL, 0); | ||
50 | } | ||
51 | #endif /* CONFIG_SOC_IMX28 */ | ||
diff --git a/arch/arm/mach-mxs/include/mach/devices-common.h b/arch/arm/mach-mxs/include/mach/devices-common.h index 812d7a813a78..a8080f44c03d 100644 --- a/arch/arm/mach-mxs/include/mach/devices-common.h +++ b/arch/arm/mach-mxs/include/mach/devices-common.h | |||
@@ -92,3 +92,15 @@ struct platform_device *__init mxs_add_mxs_mmc( | |||
92 | /* pwm */ | 92 | /* pwm */ |
93 | struct platform_device *__init mxs_add_mxs_pwm( | 93 | struct platform_device *__init mxs_add_mxs_pwm( |
94 | resource_size_t iobase, int id); | 94 | resource_size_t iobase, int id); |
95 | |||
96 | /* saif */ | ||
97 | struct mxs_saif_data { | ||
98 | int id; | ||
99 | resource_size_t iobase; | ||
100 | resource_size_t irq; | ||
101 | resource_size_t dma; | ||
102 | resource_size_t dmairq; | ||
103 | }; | ||
104 | |||
105 | struct platform_device *__init mxs_add_saif( | ||
106 | const struct mxs_saif_data *data); | ||
diff --git a/arch/arm/mach-mxs/mach-mx23evk.c b/arch/arm/mach-mxs/mach-mx23evk.c index 3c2de33803ab..2c8eb7c43f82 100644 --- a/arch/arm/mach-mxs/mach-mx23evk.c +++ b/arch/arm/mach-mxs/mach-mx23evk.c | |||
@@ -167,6 +167,7 @@ static void __init mx23evk_init(void) | |||
167 | gpio_set_value(MX23EVK_BL_ENABLE, 1); | 167 | gpio_set_value(MX23EVK_BL_ENABLE, 1); |
168 | 168 | ||
169 | mx23_add_mxsfb(&mx23evk_mxsfb_pdata); | 169 | mx23_add_mxsfb(&mx23evk_mxsfb_pdata); |
170 | mx23_add_rtc_stmp3xxx(); | ||
170 | } | 171 | } |
171 | 172 | ||
172 | static void __init mx23evk_timer_init(void) | 173 | static void __init mx23evk_timer_init(void) |
diff --git a/arch/arm/mach-mxs/mach-mx28evk.c b/arch/arm/mach-mxs/mach-mx28evk.c index eaaf6ff28990..4a3cca3725f2 100644 --- a/arch/arm/mach-mxs/mach-mx28evk.c +++ b/arch/arm/mach-mxs/mach-mx28evk.c | |||
@@ -18,6 +18,9 @@ | |||
18 | #include <linux/leds.h> | 18 | #include <linux/leds.h> |
19 | #include <linux/irq.h> | 19 | #include <linux/irq.h> |
20 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
21 | #include <linux/i2c.h> | ||
22 | #include <linux/regulator/machine.h> | ||
23 | #include <linux/regulator/fixed.h> | ||
21 | 24 | ||
22 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
23 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
@@ -183,6 +186,24 @@ static const iomux_cfg_t mx28evk_pads[] __initconst = { | |||
183 | 186 | ||
184 | /* led */ | 187 | /* led */ |
185 | MX28_PAD_AUART1_TX__GPIO_3_5 | MXS_PAD_CTRL, | 188 | MX28_PAD_AUART1_TX__GPIO_3_5 | MXS_PAD_CTRL, |
189 | |||
190 | /* I2C */ | ||
191 | MX28_PAD_I2C0_SCL__I2C0_SCL | | ||
192 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
193 | MX28_PAD_I2C0_SDA__I2C0_SDA | | ||
194 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
195 | |||
196 | /* saif0 & saif1 */ | ||
197 | MX28_PAD_SAIF0_MCLK__SAIF0_MCLK | | ||
198 | (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
199 | MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK | | ||
200 | (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
201 | MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK | | ||
202 | (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
203 | MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 | | ||
204 | (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
205 | MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0 | | ||
206 | (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
186 | }; | 207 | }; |
187 | 208 | ||
188 | /* led */ | 209 | /* led */ |
@@ -352,6 +373,50 @@ static struct mxs_mmc_platform_data mx28evk_mmc_pdata[] __initdata = { | |||
352 | }, | 373 | }, |
353 | }; | 374 | }; |
354 | 375 | ||
376 | static struct i2c_board_info mxs_i2c0_board_info[] __initdata = { | ||
377 | { | ||
378 | I2C_BOARD_INFO("sgtl5000", 0x0a), | ||
379 | }, | ||
380 | }; | ||
381 | |||
382 | #if defined(CONFIG_REGULATOR_FIXED_VOLTAGE) || defined(CONFIG_REGULATOR_FIXED_VOLTAGE_MODULE) | ||
383 | static struct regulator_consumer_supply mx28evk_audio_consumer_supplies[] = { | ||
384 | REGULATOR_SUPPLY("VDDA", "0-000a"), | ||
385 | REGULATOR_SUPPLY("VDDIO", "0-000a"), | ||
386 | }; | ||
387 | |||
388 | static struct regulator_init_data mx28evk_vdd_reg_init_data = { | ||
389 | .constraints = { | ||
390 | .name = "3V3", | ||
391 | .always_on = 1, | ||
392 | }, | ||
393 | .consumer_supplies = mx28evk_audio_consumer_supplies, | ||
394 | .num_consumer_supplies = ARRAY_SIZE(mx28evk_audio_consumer_supplies), | ||
395 | }; | ||
396 | |||
397 | static struct fixed_voltage_config mx28evk_vdd_pdata = { | ||
398 | .supply_name = "board-3V3", | ||
399 | .microvolts = 3300000, | ||
400 | .gpio = -EINVAL, | ||
401 | .enabled_at_boot = 1, | ||
402 | .init_data = &mx28evk_vdd_reg_init_data, | ||
403 | }; | ||
404 | static struct platform_device mx28evk_voltage_regulator = { | ||
405 | .name = "reg-fixed-voltage", | ||
406 | .id = -1, | ||
407 | .num_resources = 0, | ||
408 | .dev = { | ||
409 | .platform_data = &mx28evk_vdd_pdata, | ||
410 | }, | ||
411 | }; | ||
412 | static void __init mx28evk_add_regulators(void) | ||
413 | { | ||
414 | platform_device_register(&mx28evk_voltage_regulator); | ||
415 | } | ||
416 | #else | ||
417 | static void __init mx28evk_add_regulators(void) {} | ||
418 | #endif | ||
419 | |||
355 | static void __init mx28evk_init(void) | 420 | static void __init mx28evk_init(void) |
356 | { | 421 | { |
357 | int ret; | 422 | int ret; |
@@ -392,6 +457,18 @@ static void __init mx28evk_init(void) | |||
392 | 457 | ||
393 | mx28_add_mxsfb(&mx28evk_mxsfb_pdata); | 458 | mx28_add_mxsfb(&mx28evk_mxsfb_pdata); |
394 | 459 | ||
460 | mx28_add_saif(0); | ||
461 | mx28_add_saif(1); | ||
462 | |||
463 | mx28_add_mxs_i2c(0); | ||
464 | i2c_register_board_info(0, mxs_i2c0_board_info, | ||
465 | ARRAY_SIZE(mxs_i2c0_board_info)); | ||
466 | |||
467 | mx28evk_add_regulators(); | ||
468 | |||
469 | mxs_add_platform_device("mxs-sgtl5000", 0, NULL, 0, | ||
470 | NULL, 0); | ||
471 | |||
395 | /* power on mmc slot by writing 0 to the gpio */ | 472 | /* power on mmc slot by writing 0 to the gpio */ |
396 | ret = gpio_request_one(MX28EVK_MMC0_SLOT_POWER, GPIOF_OUT_INIT_LOW, | 473 | ret = gpio_request_one(MX28EVK_MMC0_SLOT_POWER, GPIOF_OUT_INIT_LOW, |
397 | "mmc0-slot-power"); | 474 | "mmc0-slot-power"); |
@@ -404,6 +481,7 @@ static void __init mx28evk_init(void) | |||
404 | if (ret) | 481 | if (ret) |
405 | pr_warn("failed to request gpio mmc1-slot-power: %d\n", ret); | 482 | pr_warn("failed to request gpio mmc1-slot-power: %d\n", ret); |
406 | mx28_add_mxs_mmc(1, &mx28evk_mmc_pdata[1]); | 483 | mx28_add_mxs_mmc(1, &mx28evk_mmc_pdata[1]); |
484 | mx28_add_rtc_stmp3xxx(); | ||
407 | 485 | ||
408 | gpio_led_register_device(0, &mx28evk_led_data); | 486 | gpio_led_register_device(0, &mx28evk_led_data); |
409 | } | 487 | } |
diff --git a/arch/arm/mach-mxs/mach-stmp378x_devb.c b/arch/arm/mach-mxs/mach-stmp378x_devb.c index 7f38d82b69af..afec337cb0c4 100644 --- a/arch/arm/mach-mxs/mach-stmp378x_devb.c +++ b/arch/arm/mach-mxs/mach-stmp378x_devb.c | |||
@@ -91,6 +91,7 @@ static void __init stmp378x_dvb_init(void) | |||
91 | 91 | ||
92 | mx23_add_duart(); | 92 | mx23_add_duart(); |
93 | mx23_add_auart0(); | 93 | mx23_add_auart0(); |
94 | mx23_add_rtc_stmp3xxx(); | ||
94 | 95 | ||
95 | /* power on mmc slot */ | 96 | /* power on mmc slot */ |
96 | ret = gpio_request_one(STMP378X_DEVB_MMC0_SLOT_POWER, | 97 | ret = gpio_request_one(STMP378X_DEVB_MMC0_SLOT_POWER, |
diff --git a/arch/arm/mach-mxs/mach-tx28.c b/arch/arm/mach-mxs/mach-tx28.c index 515a423f82cd..ce5d5632e62f 100644 --- a/arch/arm/mach-mxs/mach-tx28.c +++ b/arch/arm/mach-mxs/mach-tx28.c | |||
@@ -161,6 +161,7 @@ static void __init tx28_stk5v3_init(void) | |||
161 | i2c_register_board_info(0, tx28_stk5v3_i2c_boardinfo, | 161 | i2c_register_board_info(0, tx28_stk5v3_i2c_boardinfo, |
162 | ARRAY_SIZE(tx28_stk5v3_i2c_boardinfo)); | 162 | ARRAY_SIZE(tx28_stk5v3_i2c_boardinfo)); |
163 | mx28_add_mxs_mmc(0, &tx28_mmc0_pdata); | 163 | mx28_add_mxs_mmc(0, &tx28_mmc0_pdata); |
164 | mx28_add_rtc_stmp3xxx(); | ||
164 | } | 165 | } |
165 | 166 | ||
166 | static void __init tx28_timer_init(void) | 167 | static void __init tx28_timer_init(void) |
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig index a5353fc0793f..502e45f03178 100644 --- a/arch/arm/plat-mxc/Kconfig +++ b/arch/arm/plat-mxc/Kconfig | |||
@@ -4,50 +4,31 @@ source "arch/arm/plat-mxc/devices/Kconfig" | |||
4 | 4 | ||
5 | menu "Freescale MXC Implementations" | 5 | menu "Freescale MXC Implementations" |
6 | 6 | ||
7 | config ARCH_MX50_SUPPORTED | ||
8 | bool | ||
9 | |||
10 | config ARCH_MX53_SUPPORTED | ||
11 | bool | ||
12 | |||
13 | choice | 7 | choice |
14 | prompt "Freescale CPU family:" | 8 | prompt "Freescale CPU family:" |
15 | default ARCH_MX3 | 9 | default ARCH_MX3 |
16 | 10 | ||
17 | config ARCH_MX1 | 11 | config ARCH_IMX_V4_V5 |
18 | bool "MX1-based" | 12 | bool "i.MX1, i.MX21, i.MX25, i.MX27" |
19 | help | 13 | select AUTO_ZRELADDR |
20 | This enables support for systems based on the Freescale i.MX1 family | 14 | select ARM_PATCH_PHYS_VIRT |
21 | |||
22 | config ARCH_MX2 | ||
23 | bool "MX2-based" | ||
24 | help | ||
25 | This enables support for systems based on the Freescale i.MX2 family | ||
26 | |||
27 | config ARCH_MX25 | ||
28 | bool "MX25-based" | ||
29 | help | 15 | help |
30 | This enables support for systems based on the Freescale i.MX25 family | 16 | This enables support for systems based on the Freescale i.MX ARMv4 |
17 | and ARMv5 SoCs | ||
31 | 18 | ||
32 | config ARCH_MX3 | 19 | config ARCH_MX3 |
33 | bool "MX3-based" | 20 | bool "MX3-based" |
34 | help | 21 | help |
35 | This enables support for systems based on the Freescale i.MX3 family | 22 | This enables support for systems based on the Freescale i.MX3 family |
36 | 23 | ||
37 | config ARCH_MX503 | 24 | config ARCH_MX5 |
38 | bool "i.MX50 + i.MX53" | 25 | bool "i.MX50, i.MX51, i.MX53" |
39 | select ARCH_MX50_SUPPORTED | 26 | select AUTO_ZRELADDR |
40 | select ARCH_MX53_SUPPORTED | 27 | select ARM_PATCH_PHYS_VIRT |
41 | help | 28 | help |
42 | This enables support for machines using Freescale's i.MX50 and i.MX51 | 29 | This enables support for machines using Freescale's i.MX50 and i.MX51 |
43 | processors. | 30 | processors. |
44 | 31 | ||
45 | config ARCH_MX51 | ||
46 | bool "i.MX51" | ||
47 | select ARCH_MX51_SUPPORTED | ||
48 | help | ||
49 | This enables support for systems based on the Freescale i.MX51 family | ||
50 | |||
51 | endchoice | 32 | endchoice |
52 | 33 | ||
53 | source "arch/arm/mach-imx/Kconfig" | 34 | source "arch/arm/mach-imx/Kconfig" |
diff --git a/arch/arm/plat-mxc/cpu.c b/arch/arm/plat-mxc/cpu.c index 386e0d52cf58..f5b7e0fa237f 100644 --- a/arch/arm/plat-mxc/cpu.c +++ b/arch/arm/plat-mxc/cpu.c | |||
@@ -1,5 +1,6 @@ | |||
1 | 1 | ||
2 | #include <linux/module.h> | 2 | #include <linux/module.h> |
3 | #include <mach/hardware.h> | ||
3 | 4 | ||
4 | unsigned int __mxc_cpu_type; | 5 | unsigned int __mxc_cpu_type; |
5 | EXPORT_SYMBOL(__mxc_cpu_type); | 6 | EXPORT_SYMBOL(__mxc_cpu_type); |
@@ -9,3 +10,11 @@ void mxc_set_cpu_type(unsigned int type) | |||
9 | __mxc_cpu_type = type; | 10 | __mxc_cpu_type = type; |
10 | } | 11 | } |
11 | 12 | ||
13 | void imx_print_silicon_rev(const char *cpu, int srev) | ||
14 | { | ||
15 | if (srev == IMX_CHIP_REVISION_UNKNOWN) | ||
16 | pr_info("CPU identified as %s, unknown revision\n", cpu); | ||
17 | else | ||
18 | pr_info("CPU identified as %s, silicon rev %d.%d\n", | ||
19 | cpu, (srev >> 4) & 0xf, srev & 0xf); | ||
20 | } | ||
diff --git a/arch/arm/plat-mxc/devices/Kconfig b/arch/arm/plat-mxc/devices/Kconfig index bd294add932c..c55916ce3d2a 100644 --- a/arch/arm/plat-mxc/devices/Kconfig +++ b/arch/arm/plat-mxc/devices/Kconfig | |||
@@ -31,6 +31,9 @@ config IMX_HAVE_PLATFORM_IMX_I2C | |||
31 | config IMX_HAVE_PLATFORM_IMX_KEYPAD | 31 | config IMX_HAVE_PLATFORM_IMX_KEYPAD |
32 | bool | 32 | bool |
33 | 33 | ||
34 | config IMX_HAVE_PLATFORM_PATA_IMX | ||
35 | bool | ||
36 | |||
34 | config IMX_HAVE_PLATFORM_IMX_SSI | 37 | config IMX_HAVE_PLATFORM_IMX_SSI |
35 | bool | 38 | bool |
36 | 39 | ||
diff --git a/arch/arm/plat-mxc/devices/Makefile b/arch/arm/plat-mxc/devices/Makefile index b41bf972b54b..a093b454541d 100644 --- a/arch/arm/plat-mxc/devices/Makefile +++ b/arch/arm/plat-mxc/devices/Makefile | |||
@@ -10,6 +10,7 @@ obj-y += platform-imx-dma.o | |||
10 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_FB) += platform-imx-fb.o | 10 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_FB) += platform-imx-fb.o |
11 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C) += platform-imx-i2c.o | 11 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C) += platform-imx-i2c.o |
12 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o | 12 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o |
13 | obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o | ||
13 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o | 14 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o |
14 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o | 15 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o |
15 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o | 16 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o |
diff --git a/arch/arm/plat-mxc/devices/platform-pata_imx.c b/arch/arm/plat-mxc/devices/platform-pata_imx.c new file mode 100644 index 000000000000..de33048aad6a --- /dev/null +++ b/arch/arm/plat-mxc/devices/platform-pata_imx.c | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify it under | ||
3 | * the terms of the GNU General Public License version 2 as published by the | ||
4 | * Free Software Foundation. | ||
5 | */ | ||
6 | #include <mach/hardware.h> | ||
7 | #include <mach/devices-common.h> | ||
8 | |||
9 | #define imx_pata_imx_data_entry_single(soc, _size) \ | ||
10 | { \ | ||
11 | .iobase = soc ## _ATA_BASE_ADDR, \ | ||
12 | .iosize = _size, \ | ||
13 | .irq = soc ## _INT_ATA, \ | ||
14 | } | ||
15 | |||
16 | #ifdef CONFIG_SOC_IMX27 | ||
17 | const struct imx_pata_imx_data imx27_pata_imx_data __initconst = | ||
18 | imx_pata_imx_data_entry_single(MX27, SZ_4K); | ||
19 | #endif /* ifdef CONFIG_SOC_IMX27 */ | ||
20 | |||
21 | #ifdef CONFIG_SOC_IMX31 | ||
22 | const struct imx_pata_imx_data imx31_pata_imx_data __initconst = | ||
23 | imx_pata_imx_data_entry_single(MX31, SZ_16K); | ||
24 | #endif /* ifdef CONFIG_SOC_IMX31 */ | ||
25 | |||
26 | #ifdef CONFIG_SOC_IMX35 | ||
27 | const struct imx_pata_imx_data imx35_pata_imx_data __initconst = | ||
28 | imx_pata_imx_data_entry_single(MX35, SZ_16K); | ||
29 | #endif /* ifdef CONFIG_SOC_IMX35 */ | ||
30 | |||
31 | #ifdef CONFIG_SOC_IMX51 | ||
32 | const struct imx_pata_imx_data imx51_pata_imx_data __initconst = | ||
33 | imx_pata_imx_data_entry_single(MX51, SZ_16K); | ||
34 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
35 | |||
36 | #ifdef CONFIG_SOC_IMX53 | ||
37 | const struct imx_pata_imx_data imx53_pata_imx_data __initconst = | ||
38 | imx_pata_imx_data_entry_single(MX53, SZ_16K); | ||
39 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
40 | |||
41 | struct platform_device *__init imx_add_pata_imx( | ||
42 | const struct imx_pata_imx_data *data) | ||
43 | { | ||
44 | struct resource res[] = { | ||
45 | { | ||
46 | .start = data->iobase, | ||
47 | .end = data->iobase + data->iobase - 1, | ||
48 | .flags = IORESOURCE_MEM, | ||
49 | }, | ||
50 | { | ||
51 | .start = data->irq, | ||
52 | .end = data->irq, | ||
53 | .flags = IORESOURCE_IRQ, | ||
54 | }, | ||
55 | }; | ||
56 | return imx_add_platform_device("pata_imx", -1, | ||
57 | res, ARRAY_SIZE(res), NULL, 0); | ||
58 | } | ||
59 | |||
diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h index 4e3d97890d69..318e0da13a79 100644 --- a/arch/arm/plat-mxc/include/mach/common.h +++ b/arch/arm/plat-mxc/include/mach/common.h | |||
@@ -72,4 +72,5 @@ extern void mxc_arch_reset_init(void __iomem *); | |||
72 | extern void mx51_efikamx_reset(void); | 72 | extern void mx51_efikamx_reset(void); |
73 | extern int mx53_revision(void); | 73 | extern int mx53_revision(void); |
74 | extern int mx53_display_revision(void); | 74 | extern int mx53_display_revision(void); |
75 | extern void imx_print_silicon_rev(const char *cpu, int srev); | ||
75 | #endif | 76 | #endif |
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index 524538aabc4b..4cbad45edc15 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h | |||
@@ -251,6 +251,14 @@ struct platform_device *__init imx_add_mxc_nand( | |||
251 | const struct imx_mxc_nand_data *data, | 251 | const struct imx_mxc_nand_data *data, |
252 | const struct mxc_nand_platform_data *pdata); | 252 | const struct mxc_nand_platform_data *pdata); |
253 | 253 | ||
254 | struct imx_pata_imx_data { | ||
255 | resource_size_t iobase; | ||
256 | resource_size_t iosize; | ||
257 | resource_size_t irq; | ||
258 | }; | ||
259 | struct platform_device *__init imx_add_pata_imx( | ||
260 | const struct imx_pata_imx_data *data); | ||
261 | |||
254 | struct imx_mxc_pwm_data { | 262 | struct imx_mxc_pwm_data { |
255 | int id; | 263 | int id; |
256 | resource_size_t iobase; | 264 | resource_size_t iobase; |
diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h index 11be5cdbdd1a..35e6c7f4ffd1 100644 --- a/arch/arm/plat-mxc/include/mach/memory.h +++ b/arch/arm/plat-mxc/include/mach/memory.h | |||
@@ -21,22 +21,8 @@ | |||
21 | #define MX53_PHYS_OFFSET UL(0x70000000) | 21 | #define MX53_PHYS_OFFSET UL(0x70000000) |
22 | 22 | ||
23 | #if !defined(CONFIG_RUNTIME_PHYS_OFFSET) | 23 | #if !defined(CONFIG_RUNTIME_PHYS_OFFSET) |
24 | # if defined CONFIG_ARCH_MX1 | 24 | # if defined CONFIG_ARCH_MX3 |
25 | # define PLAT_PHYS_OFFSET MX1_PHYS_OFFSET | ||
26 | # elif defined CONFIG_MACH_MX21 | ||
27 | # define PLAT_PHYS_OFFSET MX21_PHYS_OFFSET | ||
28 | # elif defined CONFIG_ARCH_MX25 | ||
29 | # define PLAT_PHYS_OFFSET MX25_PHYS_OFFSET | ||
30 | # elif defined CONFIG_MACH_MX27 | ||
31 | # define PLAT_PHYS_OFFSET MX27_PHYS_OFFSET | ||
32 | # elif defined CONFIG_ARCH_MX3 | ||
33 | # define PLAT_PHYS_OFFSET MX3x_PHYS_OFFSET | 25 | # define PLAT_PHYS_OFFSET MX3x_PHYS_OFFSET |
34 | # elif defined CONFIG_ARCH_MX50 | ||
35 | # define PLAT_PHYS_OFFSET MX50_PHYS_OFFSET | ||
36 | # elif defined CONFIG_ARCH_MX51 | ||
37 | # define PLAT_PHYS_OFFSET MX51_PHYS_OFFSET | ||
38 | # elif defined CONFIG_ARCH_MX53 | ||
39 | # define PLAT_PHYS_OFFSET MX53_PHYS_OFFSET | ||
40 | # endif | 26 | # endif |
41 | #endif | 27 | #endif |
42 | 28 | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx25.h b/arch/arm/plat-mxc/include/mach/mx25.h index 087cd7ac8d52..8dcab80acff3 100644 --- a/arch/arm/plat-mxc/include/mach/mx25.h +++ b/arch/arm/plat-mxc/include/mach/mx25.h | |||
@@ -104,4 +104,8 @@ | |||
104 | #define MX25_DMA_REQ_SSI1_RX0 28 | 104 | #define MX25_DMA_REQ_SSI1_RX0 28 |
105 | #define MX25_DMA_REQ_SSI1_TX0 29 | 105 | #define MX25_DMA_REQ_SSI1_TX0 29 |
106 | 106 | ||
107 | #ifndef __ASSEMBLY__ | ||
108 | extern int mx25_revision(void); | ||
109 | #endif | ||
110 | |||
107 | #endif /* ifndef __MACH_MX25_H__ */ | 111 | #endif /* ifndef __MACH_MX25_H__ */ |
diff --git a/arch/arm/plat-mxc/include/mach/mx35.h b/arch/arm/plat-mxc/include/mach/mx35.h index d13dbfeef08a..80965a99aa55 100644 --- a/arch/arm/plat-mxc/include/mach/mx35.h +++ b/arch/arm/plat-mxc/include/mach/mx35.h | |||
@@ -36,7 +36,7 @@ | |||
36 | #define MX35_UART3_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x0c000) | 36 | #define MX35_UART3_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x0c000) |
37 | #define MX35_CSPI2_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x10000) | 37 | #define MX35_CSPI2_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x10000) |
38 | #define MX35_SSI2_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x14000) | 38 | #define MX35_SSI2_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x14000) |
39 | #define MX35_ATA_DMA_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x20000) | 39 | #define MX35_ATA_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x20000) |
40 | #define MX35_MSHC1_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x24000) | 40 | #define MX35_MSHC1_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x24000) |
41 | #define MX35_FEC_BASE_ADDR 0x50038000 | 41 | #define MX35_FEC_BASE_ADDR 0x50038000 |
42 | #define MX35_SPBA_CTRL_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x3c000) | 42 | #define MX35_SPBA_CTRL_BASE_ADDR (MX35_SPBA0_BASE_ADDR + 0x3c000) |
diff --git a/arch/arm/plat-mxc/include/mach/mx3x.h b/arch/arm/plat-mxc/include/mach/mx3x.h index 388a407d72d6..30dbf424583e 100644 --- a/arch/arm/plat-mxc/include/mach/mx3x.h +++ b/arch/arm/plat-mxc/include/mach/mx3x.h | |||
@@ -187,22 +187,8 @@ | |||
187 | /* Mandatory defines used globally */ | 187 | /* Mandatory defines used globally */ |
188 | 188 | ||
189 | #if !defined(__ASSEMBLY__) && !defined(__MXC_BOOT_UNCOMPRESS) | 189 | #if !defined(__ASSEMBLY__) && !defined(__MXC_BOOT_UNCOMPRESS) |
190 | 190 | extern int mx35_revision(void); | |
191 | extern unsigned int mx31_cpu_rev; | 191 | extern int mx31_revision(void); |
192 | extern void mx31_read_cpu_rev(void); | ||
193 | |||
194 | static inline int mx31_revision(void) | ||
195 | { | ||
196 | return mx31_cpu_rev; | ||
197 | } | ||
198 | |||
199 | extern unsigned int mx35_cpu_rev; | ||
200 | extern void mx35_read_cpu_rev(void); | ||
201 | |||
202 | static inline int mx35_revision(void) | ||
203 | { | ||
204 | return mx35_cpu_rev; | ||
205 | } | ||
206 | #endif | 192 | #endif |
207 | 193 | ||
208 | #endif /* ifndef __MACH_MX3x_H__ */ | 194 | #endif /* ifndef __MACH_MX3x_H__ */ |