diff options
-rw-r--r-- | Documentation/devicetree/bindings/arm/omap/mpu.txt | 3 | ||||
-rw-r--r-- | arch/arm/boot/dts/am33xx.dtsi | 5 | ||||
-rw-r--r-- | arch/arm/boot/dts/am4372.dtsi | 5 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap5.dtsi | 8 | ||||
-rw-r--r-- | arch/arm/configs/omap2plus_defconfig | 79 | ||||
-rw-r--r-- | arch/arm/mach-omap2/io.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap4-common.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-omap2/sram.c | 39 | ||||
-rw-r--r-- | arch/arm/mach-omap2/sram.h | 7 |
13 files changed, 119 insertions, 92 deletions
diff --git a/Documentation/devicetree/bindings/arm/omap/mpu.txt b/Documentation/devicetree/bindings/arm/omap/mpu.txt index 83f405bde138..763695db2bd9 100644 --- a/Documentation/devicetree/bindings/arm/omap/mpu.txt +++ b/Documentation/devicetree/bindings/arm/omap/mpu.txt | |||
@@ -10,6 +10,9 @@ Required properties: | |||
10 | Should be "ti,omap5-mpu" for OMAP5 | 10 | Should be "ti,omap5-mpu" for OMAP5 |
11 | - ti,hwmods: "mpu" | 11 | - ti,hwmods: "mpu" |
12 | 12 | ||
13 | Optional properties: | ||
14 | - sram: Phandle to the ocmcram node | ||
15 | |||
13 | Examples: | 16 | Examples: |
14 | 17 | ||
15 | - For an OMAP5 SMP system: | 18 | - For an OMAP5 SMP system: |
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 3a0a161342ba..c8238c467acf 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi | |||
@@ -726,9 +726,8 @@ | |||
726 | }; | 726 | }; |
727 | 727 | ||
728 | ocmcram: ocmcram@40300000 { | 728 | ocmcram: ocmcram@40300000 { |
729 | compatible = "ti,am3352-ocmcram"; | 729 | compatible = "mmio-sram"; |
730 | reg = <0x40300000 0x10000>; | 730 | reg = <0x40300000 0x10000>; /* 64k */ |
731 | ti,hwmods = "ocmcram"; | ||
732 | }; | 731 | }; |
733 | 732 | ||
734 | wkup_m3: wkup_m3@44d00000 { | 733 | wkup_m3: wkup_m3@44d00000 { |
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi index 9b3d2ba82f13..7b8e6521235b 100644 --- a/arch/arm/boot/dts/am4372.dtsi +++ b/arch/arm/boot/dts/am4372.dtsi | |||
@@ -885,6 +885,11 @@ | |||
885 | clock-names = "fck"; | 885 | clock-names = "fck"; |
886 | }; | 886 | }; |
887 | }; | 887 | }; |
888 | |||
889 | ocmcram: ocmcram@40300000 { | ||
890 | compatible = "mmio-sram"; | ||
891 | reg = <0x40300000 0x40000>; /* 256k */ | ||
892 | }; | ||
888 | }; | 893 | }; |
889 | }; | 894 | }; |
890 | 895 | ||
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index 7375d4482bff..8a944974d72e 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi | |||
@@ -81,6 +81,7 @@ | |||
81 | mpu { | 81 | mpu { |
82 | compatible = "ti,omap4-mpu"; | 82 | compatible = "ti,omap4-mpu"; |
83 | ti,hwmods = "mpu"; | 83 | ti,hwmods = "mpu"; |
84 | sram = <&ocmcram>; | ||
84 | }; | 85 | }; |
85 | 86 | ||
86 | dsp { | 87 | dsp { |
@@ -209,6 +210,11 @@ | |||
209 | }; | 210 | }; |
210 | }; | 211 | }; |
211 | 212 | ||
213 | ocmcram: ocmcram@40304000 { | ||
214 | compatible = "mmio-sram"; | ||
215 | reg = <0x40304000 0xa000>; /* 40k */ | ||
216 | }; | ||
217 | |||
212 | sdma: dma-controller@4a056000 { | 218 | sdma: dma-controller@4a056000 { |
213 | compatible = "ti,omap4430-sdma"; | 219 | compatible = "ti,omap4430-sdma"; |
214 | reg = <0x4a056000 0x1000>; | 220 | reg = <0x4a056000 0x1000>; |
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index df0a09b81ba2..4a6091d717b5 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi | |||
@@ -104,8 +104,9 @@ | |||
104 | soc { | 104 | soc { |
105 | compatible = "ti,omap-infra"; | 105 | compatible = "ti,omap-infra"; |
106 | mpu { | 106 | mpu { |
107 | compatible = "ti,omap5-mpu"; | 107 | compatible = "ti,omap4-mpu"; |
108 | ti,hwmods = "mpu"; | 108 | ti,hwmods = "mpu"; |
109 | sram = <&ocmcram>; | ||
109 | }; | 110 | }; |
110 | }; | 111 | }; |
111 | 112 | ||
@@ -220,6 +221,11 @@ | |||
220 | }; | 221 | }; |
221 | }; | 222 | }; |
222 | 223 | ||
224 | ocmcram: ocmcram@40300000 { | ||
225 | compatible = "mmio-sram"; | ||
226 | reg = <0x40300000 0x20000>; /* 128k */ | ||
227 | }; | ||
228 | |||
223 | sdma: dma-controller@4a056000 { | 229 | sdma: dma-controller@4a056000 { |
224 | compatible = "ti,omap4430-sdma"; | 230 | compatible = "ti,omap4430-sdma"; |
225 | reg = <0x4a056000 0x1000>; | 231 | reg = <0x4a056000 0x1000>; |
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index f650f00e8cee..69c7bed3c634 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig | |||
@@ -1,11 +1,28 @@ | |||
1 | CONFIG_SYSVIPC=y | 1 | CONFIG_SYSVIPC=y |
2 | CONFIG_POSIX_MQUEUE=y | 2 | CONFIG_POSIX_MQUEUE=y |
3 | CONFIG_FHANDLE=y | ||
4 | CONFIG_AUDIT=y | ||
3 | CONFIG_NO_HZ=y | 5 | CONFIG_NO_HZ=y |
4 | CONFIG_HIGH_RES_TIMERS=y | 6 | CONFIG_HIGH_RES_TIMERS=y |
5 | CONFIG_BSD_PROCESS_ACCT=y | 7 | CONFIG_BSD_PROCESS_ACCT=y |
6 | CONFIG_IKCONFIG=y | 8 | CONFIG_IKCONFIG=y |
7 | CONFIG_IKCONFIG_PROC=y | 9 | CONFIG_IKCONFIG_PROC=y |
8 | CONFIG_LOG_BUF_SHIFT=16 | 10 | CONFIG_LOG_BUF_SHIFT=16 |
11 | CONFIG_CGROUPS=y | ||
12 | CONFIG_CGROUP_FREEZER=y | ||
13 | CONFIG_CGROUP_DEVICE=y | ||
14 | CONFIG_CPUSETS=y | ||
15 | CONFIG_CGROUP_CPUACCT=y | ||
16 | CONFIG_RESOURCE_COUNTERS=y | ||
17 | CONFIG_MEMCG=y | ||
18 | CONFIG_MEMCG_SWAP=y | ||
19 | CONFIG_MEMCG_KMEM=y | ||
20 | CONFIG_CGROUP_PERF=y | ||
21 | CONFIG_CGROUP_SCHED=y | ||
22 | CONFIG_CFS_BANDWIDTH=y | ||
23 | CONFIG_RT_GROUP_SCHED=y | ||
24 | CONFIG_BLK_CGROUP=y | ||
25 | CONFIG_NAMESPACES=y | ||
9 | CONFIG_BLK_DEV_INITRD=y | 26 | CONFIG_BLK_DEV_INITRD=y |
10 | CONFIG_EXPERT=y | 27 | CONFIG_EXPERT=y |
11 | CONFIG_SLAB=y | 28 | CONFIG_SLAB=y |
@@ -32,19 +49,26 @@ CONFIG_SOC_OMAP5=y | |||
32 | CONFIG_SOC_AM33XX=y | 49 | CONFIG_SOC_AM33XX=y |
33 | CONFIG_SOC_AM43XX=y | 50 | CONFIG_SOC_AM43XX=y |
34 | CONFIG_SOC_DRA7XX=y | 51 | CONFIG_SOC_DRA7XX=y |
35 | CONFIG_CACHE_L2X0=y | ||
36 | CONFIG_ARM_THUMBEE=y | 52 | CONFIG_ARM_THUMBEE=y |
37 | CONFIG_ARM_ERRATA_411920=y | 53 | CONFIG_ARM_ERRATA_411920=y |
38 | CONFIG_SMP=y | 54 | CONFIG_SMP=y |
39 | CONFIG_NR_CPUS=2 | 55 | CONFIG_NR_CPUS=2 |
40 | CONFIG_CMA=y | 56 | CONFIG_CMA=y |
57 | CONFIG_SECCOMP=y | ||
41 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 58 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
42 | CONFIG_ZBOOT_ROM_BSS=0x0 | 59 | CONFIG_ZBOOT_ROM_BSS=0x0 |
43 | CONFIG_ARM_APPENDED_DTB=y | 60 | CONFIG_ARM_APPENDED_DTB=y |
44 | CONFIG_ARM_ATAG_DTB_COMPAT=y | 61 | CONFIG_ARM_ATAG_DTB_COMPAT=y |
45 | CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200" | 62 | CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200" |
46 | CONFIG_KEXEC=y | 63 | CONFIG_KEXEC=y |
47 | CONFIG_FPE_NWFPE=y | 64 | CONFIG_CPU_FREQ=y |
65 | CONFIG_CPU_FREQ_STAT_DETAILS=y | ||
66 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | ||
67 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y | ||
68 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
69 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y | ||
70 | CONFIG_GENERIC_CPUFREQ_CPU0=y | ||
71 | # CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set | ||
48 | CONFIG_CPU_IDLE=y | 72 | CONFIG_CPU_IDLE=y |
49 | CONFIG_BINFMT_MISC=y | 73 | CONFIG_BINFMT_MISC=y |
50 | CONFIG_PM_DEBUG=y | 74 | CONFIG_PM_DEBUG=y |
@@ -61,7 +85,7 @@ CONFIG_IP_PNP_DHCP=y | |||
61 | CONFIG_IP_PNP_BOOTP=y | 85 | CONFIG_IP_PNP_BOOTP=y |
62 | CONFIG_IP_PNP_RARP=y | 86 | CONFIG_IP_PNP_RARP=y |
63 | # CONFIG_INET_LRO is not set | 87 | # CONFIG_INET_LRO is not set |
64 | # CONFIG_IPV6 is not set | 88 | CONFIG_IPV6=y |
65 | CONFIG_NETFILTER=y | 89 | CONFIG_NETFILTER=y |
66 | CONFIG_CAN=m | 90 | CONFIG_CAN=m |
67 | CONFIG_CAN_C_CAN=m | 91 | CONFIG_CAN_C_CAN=m |
@@ -75,9 +99,6 @@ CONFIG_BT_HCIBCM203X=m | |||
75 | CONFIG_BT_HCIBPA10X=m | 99 | CONFIG_BT_HCIBPA10X=m |
76 | CONFIG_CFG80211=m | 100 | CONFIG_CFG80211=m |
77 | CONFIG_MAC80211=m | 101 | CONFIG_MAC80211=m |
78 | CONFIG_MAC80211_RC_PID=y | ||
79 | CONFIG_MAC80211_RC_DEFAULT_PID=y | ||
80 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
81 | CONFIG_DEVTMPFS=y | 102 | CONFIG_DEVTMPFS=y |
82 | CONFIG_DEVTMPFS_MOUNT=y | 103 | CONFIG_DEVTMPFS_MOUNT=y |
83 | CONFIG_DMA_CMA=y | 104 | CONFIG_DMA_CMA=y |
@@ -101,9 +122,9 @@ CONFIG_BLK_DEV_RAM_SIZE=16384 | |||
101 | CONFIG_SENSORS_TSL2550=m | 122 | CONFIG_SENSORS_TSL2550=m |
102 | CONFIG_BMP085_I2C=m | 123 | CONFIG_BMP085_I2C=m |
103 | CONFIG_SENSORS_LIS3_I2C=m | 124 | CONFIG_SENSORS_LIS3_I2C=m |
125 | CONFIG_SRAM=y | ||
104 | CONFIG_SCSI=y | 126 | CONFIG_SCSI=y |
105 | CONFIG_BLK_DEV_SD=y | 127 | CONFIG_BLK_DEV_SD=y |
106 | CONFIG_SCSI_MULTI_LUN=y | ||
107 | CONFIG_SCSI_SCAN_ASYNC=y | 128 | CONFIG_SCSI_SCAN_ASYNC=y |
108 | CONFIG_MD=y | 129 | CONFIG_MD=y |
109 | CONFIG_NETDEVICES=y | 130 | CONFIG_NETDEVICES=y |
@@ -138,7 +159,9 @@ CONFIG_KEYBOARD_GPIO=y | |||
138 | CONFIG_KEYBOARD_MATRIX=m | 159 | CONFIG_KEYBOARD_MATRIX=m |
139 | CONFIG_KEYBOARD_TWL4030=y | 160 | CONFIG_KEYBOARD_TWL4030=y |
140 | CONFIG_INPUT_TOUCHSCREEN=y | 161 | CONFIG_INPUT_TOUCHSCREEN=y |
141 | CONFIG_TOUCHSCREEN_ADS7846=y | 162 | CONFIG_TOUCHSCREEN_ADS7846=m |
163 | CONFIG_TOUCHSCREEN_TSC2005=m | ||
164 | CONFIG_TOUCHSCREEN_TSC2007=m | ||
142 | CONFIG_INPUT_MISC=y | 165 | CONFIG_INPUT_MISC=y |
143 | CONFIG_INPUT_TWL4030_PWRBUTTON=y | 166 | CONFIG_INPUT_TWL4030_PWRBUTTON=y |
144 | # CONFIG_LEGACY_PTYS is not set | 167 | # CONFIG_LEGACY_PTYS is not set |
@@ -162,7 +185,13 @@ CONFIG_DEBUG_GPIO=y | |||
162 | CONFIG_GPIO_SYSFS=y | 185 | CONFIG_GPIO_SYSFS=y |
163 | CONFIG_GPIO_TWL4030=y | 186 | CONFIG_GPIO_TWL4030=y |
164 | CONFIG_W1=y | 187 | CONFIG_W1=y |
165 | CONFIG_POWER_SUPPLY=y | 188 | CONFIG_BATTERY_BQ27x00=m |
189 | CONFIG_CHARGER_ISP1704=m | ||
190 | CONFIG_CHARGER_TWL4030=m | ||
191 | CONFIG_CHARGER_BQ2415X=m | ||
192 | CONFIG_CHARGER_BQ24190=m | ||
193 | CONFIG_CHARGER_BQ24735=m | ||
194 | CONFIG_POWER_RESET=y | ||
166 | CONFIG_POWER_AVS=y | 195 | CONFIG_POWER_AVS=y |
167 | CONFIG_SENSORS_LM75=m | 196 | CONFIG_SENSORS_LM75=m |
168 | CONFIG_THERMAL=y | 197 | CONFIG_THERMAL=y |
@@ -183,8 +212,8 @@ CONFIG_MFD_TPS65217=y | |||
183 | CONFIG_MFD_TPS65218=y | 212 | CONFIG_MFD_TPS65218=y |
184 | CONFIG_MFD_TPS65910=y | 213 | CONFIG_MFD_TPS65910=y |
185 | CONFIG_TWL6040_CORE=y | 214 | CONFIG_TWL6040_CORE=y |
186 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||
187 | CONFIG_REGULATOR_PALMAS=y | 215 | CONFIG_REGULATOR_PALMAS=y |
216 | CONFIG_REGULATOR_PBIAS=y | ||
188 | CONFIG_REGULATOR_TI_ABB=y | 217 | CONFIG_REGULATOR_TI_ABB=y |
189 | CONFIG_REGULATOR_TPS65023=y | 218 | CONFIG_REGULATOR_TPS65023=y |
190 | CONFIG_REGULATOR_TPS6507X=y | 219 | CONFIG_REGULATOR_TPS6507X=y |
@@ -192,12 +221,12 @@ CONFIG_REGULATOR_TPS65217=y | |||
192 | CONFIG_REGULATOR_TPS65218=y | 221 | CONFIG_REGULATOR_TPS65218=y |
193 | CONFIG_REGULATOR_TPS65910=y | 222 | CONFIG_REGULATOR_TPS65910=y |
194 | CONFIG_REGULATOR_TWL4030=y | 223 | CONFIG_REGULATOR_TWL4030=y |
195 | CONFIG_REGULATOR_PBIAS=y | ||
196 | CONFIG_FB=y | 224 | CONFIG_FB=y |
197 | CONFIG_FIRMWARE_EDID=y | 225 | CONFIG_FIRMWARE_EDID=y |
198 | CONFIG_FB_MODE_HELPERS=y | 226 | CONFIG_FB_MODE_HELPERS=y |
199 | CONFIG_FB_TILEBLITTING=y | 227 | CONFIG_FB_TILEBLITTING=y |
200 | CONFIG_OMAP2_DSS=m | 228 | CONFIG_OMAP2_DSS=m |
229 | CONFIG_OMAP5_DSS_HDMI=y | ||
201 | CONFIG_OMAP2_DSS_SDI=y | 230 | CONFIG_OMAP2_DSS_SDI=y |
202 | CONFIG_OMAP2_DSS_DSI=y | 231 | CONFIG_OMAP2_DSS_DSI=y |
203 | CONFIG_FB_OMAP2=m | 232 | CONFIG_FB_OMAP2=m |
@@ -205,11 +234,25 @@ CONFIG_DISPLAY_ENCODER_TFP410=m | |||
205 | CONFIG_DISPLAY_ENCODER_TPD12S015=m | 234 | CONFIG_DISPLAY_ENCODER_TPD12S015=m |
206 | CONFIG_DISPLAY_CONNECTOR_DVI=m | 235 | CONFIG_DISPLAY_CONNECTOR_DVI=m |
207 | CONFIG_DISPLAY_CONNECTOR_HDMI=m | 236 | CONFIG_DISPLAY_CONNECTOR_HDMI=m |
237 | CONFIG_DISPLAY_CONNECTOR_ANALOG_TV=m | ||
208 | CONFIG_DISPLAY_PANEL_DPI=m | 238 | CONFIG_DISPLAY_PANEL_DPI=m |
239 | CONFIG_DISPLAY_PANEL_DSI_CM=m | ||
240 | CONFIG_DISPLAY_PANEL_SONY_ACX565AKM=m | ||
241 | CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02=m | ||
242 | CONFIG_DISPLAY_PANEL_SHARP_LS037V7DW01=m | ||
243 | CONFIG_DISPLAY_PANEL_TPO_TD028TTEC1=m | ||
244 | CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1=m | ||
245 | CONFIG_DISPLAY_PANEL_NEC_NL8048HL11=m | ||
209 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 246 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
210 | CONFIG_LCD_CLASS_DEVICE=y | 247 | CONFIG_LCD_CLASS_DEVICE=y |
211 | CONFIG_LCD_PLATFORM=y | 248 | CONFIG_LCD_PLATFORM=y |
249 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
250 | CONFIG_BACKLIGHT_GENERIC=m | ||
251 | CONFIG_BACKLIGHT_PWM=m | ||
252 | CONFIG_BACKLIGHT_PANDORA=m | ||
253 | CONFIG_BACKLIGHT_GPIO=m | ||
212 | CONFIG_FRAMEBUFFER_CONSOLE=y | 254 | CONFIG_FRAMEBUFFER_CONSOLE=y |
255 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y | ||
213 | CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y | 256 | CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y |
214 | CONFIG_LOGO=y | 257 | CONFIG_LOGO=y |
215 | CONFIG_SOUND=m | 258 | CONFIG_SOUND=m |
@@ -221,8 +264,6 @@ CONFIG_SND_DEBUG=y | |||
221 | CONFIG_SND_USB_AUDIO=m | 264 | CONFIG_SND_USB_AUDIO=m |
222 | CONFIG_SND_SOC=m | 265 | CONFIG_SND_SOC=m |
223 | CONFIG_SND_OMAP_SOC=m | 266 | CONFIG_SND_OMAP_SOC=m |
224 | CONFIG_SND_AM33XX_SOC_EVM=m | ||
225 | CONFIG_SND_DAVINCI_SOC=m | ||
226 | CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m | 267 | CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m |
227 | CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m | 268 | CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m |
228 | CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m | 269 | CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m |
@@ -233,9 +274,6 @@ CONFIG_USB_WDM=y | |||
233 | CONFIG_USB_STORAGE=y | 274 | CONFIG_USB_STORAGE=y |
234 | CONFIG_USB_DWC3=m | 275 | CONFIG_USB_DWC3=m |
235 | CONFIG_USB_TEST=y | 276 | CONFIG_USB_TEST=y |
236 | CONFIG_NOP_USB_XCEIV=y | ||
237 | CONFIG_OMAP_USB2=y | ||
238 | CONFIG_TI_PIPE3=y | ||
239 | CONFIG_AM335X_PHY_USB=y | 277 | CONFIG_AM335X_PHY_USB=y |
240 | CONFIG_USB_GADGET=y | 278 | CONFIG_USB_GADGET=y |
241 | CONFIG_USB_GADGET_DEBUG=y | 279 | CONFIG_USB_GADGET_DEBUG=y |
@@ -243,7 +281,6 @@ CONFIG_USB_GADGET_DEBUG_FILES=y | |||
243 | CONFIG_USB_GADGET_DEBUG_FS=y | 281 | CONFIG_USB_GADGET_DEBUG_FS=y |
244 | CONFIG_USB_ZERO=m | 282 | CONFIG_USB_ZERO=m |
245 | CONFIG_MMC=y | 283 | CONFIG_MMC=y |
246 | CONFIG_MMC_UNSAFE_RESUME=y | ||
247 | CONFIG_SDIO_UART=y | 284 | CONFIG_SDIO_UART=y |
248 | CONFIG_MMC_OMAP=y | 285 | CONFIG_MMC_OMAP=y |
249 | CONFIG_MMC_OMAP_HS=y | 286 | CONFIG_MMC_OMAP_HS=y |
@@ -267,15 +304,23 @@ CONFIG_TI_EDMA=y | |||
267 | CONFIG_DMA_OMAP=y | 304 | CONFIG_DMA_OMAP=y |
268 | CONFIG_EXTCON=y | 305 | CONFIG_EXTCON=y |
269 | CONFIG_EXTCON_PALMAS=y | 306 | CONFIG_EXTCON_PALMAS=y |
307 | CONFIG_PWM=y | ||
308 | CONFIG_PWM_TWL=y | ||
309 | CONFIG_PWM_TWL_LED=y | ||
310 | CONFIG_OMAP_USB2=y | ||
311 | CONFIG_TI_PIPE3=y | ||
270 | CONFIG_EXT2_FS=y | 312 | CONFIG_EXT2_FS=y |
271 | CONFIG_EXT3_FS=y | 313 | CONFIG_EXT3_FS=y |
272 | # CONFIG_EXT3_FS_XATTR is not set | 314 | # CONFIG_EXT3_FS_XATTR is not set |
273 | CONFIG_EXT4_FS=y | 315 | CONFIG_EXT4_FS=y |
316 | CONFIG_FANOTIFY=y | ||
274 | CONFIG_QUOTA=y | 317 | CONFIG_QUOTA=y |
275 | CONFIG_QFMT_V2=y | 318 | CONFIG_QFMT_V2=y |
319 | CONFIG_AUTOFS4_FS=y | ||
276 | CONFIG_MSDOS_FS=y | 320 | CONFIG_MSDOS_FS=y |
277 | CONFIG_VFAT_FS=y | 321 | CONFIG_VFAT_FS=y |
278 | CONFIG_TMPFS=y | 322 | CONFIG_TMPFS=y |
323 | CONFIG_TMPFS_POSIX_ACL=y | ||
279 | CONFIG_JFFS2_FS=y | 324 | CONFIG_JFFS2_FS=y |
280 | CONFIG_JFFS2_SUMMARY=y | 325 | CONFIG_JFFS2_SUMMARY=y |
281 | CONFIG_JFFS2_FS_XATTR=y | 326 | CONFIG_JFFS2_FS_XATTR=y |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 831805e40529..b8ad045bcb8d 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -231,15 +231,6 @@ static struct map_desc omap44xx_io_desc[] __initdata = { | |||
231 | .length = L4_PER_44XX_SIZE, | 231 | .length = L4_PER_44XX_SIZE, |
232 | .type = MT_DEVICE, | 232 | .type = MT_DEVICE, |
233 | }, | 233 | }, |
234 | #ifdef CONFIG_OMAP4_ERRATA_I688 | ||
235 | { | ||
236 | .virtual = OMAP4_SRAM_VA, | ||
237 | .pfn = __phys_to_pfn(OMAP4_SRAM_PA), | ||
238 | .length = PAGE_SIZE, | ||
239 | .type = MT_MEMORY_RW_SO, | ||
240 | }, | ||
241 | #endif | ||
242 | |||
243 | }; | 234 | }; |
244 | #endif | 235 | #endif |
245 | 236 | ||
@@ -269,14 +260,6 @@ static struct map_desc omap54xx_io_desc[] __initdata = { | |||
269 | .length = L4_PER_54XX_SIZE, | 260 | .length = L4_PER_54XX_SIZE, |
270 | .type = MT_DEVICE, | 261 | .type = MT_DEVICE, |
271 | }, | 262 | }, |
272 | #ifdef CONFIG_OMAP4_ERRATA_I688 | ||
273 | { | ||
274 | .virtual = OMAP4_SRAM_VA, | ||
275 | .pfn = __phys_to_pfn(OMAP4_SRAM_PA), | ||
276 | .length = PAGE_SIZE, | ||
277 | .type = MT_MEMORY_RW_SO, | ||
278 | }, | ||
279 | #endif | ||
280 | }; | 263 | }; |
281 | #endif | 264 | #endif |
282 | 265 | ||
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index a0fe747634c1..16b20cedc38d 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/irqchip/irq-crossbar.h> | 25 | #include <linux/irqchip/irq-crossbar.h> |
26 | #include <linux/of_address.h> | 26 | #include <linux/of_address.h> |
27 | #include <linux/reboot.h> | 27 | #include <linux/reboot.h> |
28 | #include <linux/genalloc.h> | ||
28 | 29 | ||
29 | #include <asm/hardware/cache-l2x0.h> | 30 | #include <asm/hardware/cache-l2x0.h> |
30 | #include <asm/mach/map.h> | 31 | #include <asm/mach/map.h> |
@@ -71,6 +72,26 @@ void omap_bus_sync(void) | |||
71 | } | 72 | } |
72 | EXPORT_SYMBOL(omap_bus_sync); | 73 | EXPORT_SYMBOL(omap_bus_sync); |
73 | 74 | ||
75 | static int __init omap4_sram_init(void) | ||
76 | { | ||
77 | struct device_node *np; | ||
78 | struct gen_pool *sram_pool; | ||
79 | |||
80 | np = of_find_compatible_node(NULL, NULL, "ti,omap4-mpu"); | ||
81 | if (!np) | ||
82 | pr_warn("%s:Unable to allocate sram needed to handle errata I688\n", | ||
83 | __func__); | ||
84 | sram_pool = of_get_named_gen_pool(np, "sram", 0); | ||
85 | if (!sram_pool) | ||
86 | pr_warn("%s:Unable to get sram pool needed to handle errata I688\n", | ||
87 | __func__); | ||
88 | else | ||
89 | sram_sync = (void *)gen_pool_alloc(sram_pool, PAGE_SIZE); | ||
90 | |||
91 | return 0; | ||
92 | } | ||
93 | omap_arch_initcall(omap4_sram_init); | ||
94 | |||
74 | /* Steal one page physical memory for barrier implementation */ | 95 | /* Steal one page physical memory for barrier implementation */ |
75 | int __init omap_barrier_reserve_memblock(void) | 96 | int __init omap_barrier_reserve_memblock(void) |
76 | { | 97 | { |
@@ -91,7 +112,6 @@ void __init omap_barriers_init(void) | |||
91 | dram_io_desc[0].type = MT_MEMORY_RW_SO; | 112 | dram_io_desc[0].type = MT_MEMORY_RW_SO; |
92 | iotable_init(dram_io_desc, ARRAY_SIZE(dram_io_desc)); | 113 | iotable_init(dram_io_desc, ARRAY_SIZE(dram_io_desc)); |
93 | dram_sync = (void __iomem *) dram_io_desc[0].virtual; | 114 | dram_sync = (void __iomem *) dram_io_desc[0].virtual; |
94 | sram_sync = (void __iomem *) OMAP4_SRAM_VA; | ||
95 | 115 | ||
96 | pr_info("OMAP4: Map 0x%08llx to 0x%08lx for dram barrier\n", | 116 | pr_info("OMAP4: Map 0x%08llx to 0x%08lx for dram barrier\n", |
97 | (long long) paddr, dram_io_desc[0].virtual); | 117 | (long long) paddr, dram_io_desc[0].virtual); |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 8fd87a3055bf..e96808ef1adb 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -2185,7 +2185,7 @@ static int _enable(struct omap_hwmod *oh) | |||
2185 | oh->mux->pads_dynamic))) { | 2185 | oh->mux->pads_dynamic))) { |
2186 | omap_hwmod_mux(oh->mux, _HWMOD_STATE_ENABLED); | 2186 | omap_hwmod_mux(oh->mux, _HWMOD_STATE_ENABLED); |
2187 | _reconfigure_io_chain(); | 2187 | _reconfigure_io_chain(); |
2188 | } else if (oh->flags & HWMOD_FORCE_MSTANDBY) { | 2188 | } else if (oh->flags & HWMOD_RECONFIG_IO_CHAIN) { |
2189 | _reconfigure_io_chain(); | 2189 | _reconfigure_io_chain(); |
2190 | } | 2190 | } |
2191 | 2191 | ||
@@ -2293,7 +2293,7 @@ static int _idle(struct omap_hwmod *oh) | |||
2293 | if (oh->mux && oh->mux->pads_dynamic) { | 2293 | if (oh->mux && oh->mux->pads_dynamic) { |
2294 | omap_hwmod_mux(oh->mux, _HWMOD_STATE_IDLE); | 2294 | omap_hwmod_mux(oh->mux, _HWMOD_STATE_IDLE); |
2295 | _reconfigure_io_chain(); | 2295 | _reconfigure_io_chain(); |
2296 | } else if (oh->flags & HWMOD_FORCE_MSTANDBY) { | 2296 | } else if (oh->flags & HWMOD_RECONFIG_IO_CHAIN) { |
2297 | _reconfigure_io_chain(); | 2297 | _reconfigure_io_chain(); |
2298 | } | 2298 | } |
2299 | 2299 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h index 0f97d635ff90..512f809a3f4d 100644 --- a/arch/arm/mach-omap2/omap_hwmod.h +++ b/arch/arm/mach-omap2/omap_hwmod.h | |||
@@ -514,6 +514,9 @@ struct omap_hwmod_omap4_prcm { | |||
514 | * HWMOD_SWSUP_SIDLE_ACT: omap_hwmod code should manually bring the module | 514 | * HWMOD_SWSUP_SIDLE_ACT: omap_hwmod code should manually bring the module |
515 | * out of idle, but rely on smart-idle to the put it back in idle, | 515 | * out of idle, but rely on smart-idle to the put it back in idle, |
516 | * so the wakeups are still functional (Only known case for now is UART) | 516 | * so the wakeups are still functional (Only known case for now is UART) |
517 | * HWMOD_RECONFIG_IO_CHAIN: omap_hwmod code needs to reconfigure wake-up | ||
518 | * events by calling _reconfigure_io_chain() when a device is enabled | ||
519 | * or idled. | ||
517 | */ | 520 | */ |
518 | #define HWMOD_SWSUP_SIDLE (1 << 0) | 521 | #define HWMOD_SWSUP_SIDLE (1 << 0) |
519 | #define HWMOD_SWSUP_MSTANDBY (1 << 1) | 522 | #define HWMOD_SWSUP_MSTANDBY (1 << 1) |
@@ -528,6 +531,7 @@ struct omap_hwmod_omap4_prcm { | |||
528 | #define HWMOD_BLOCK_WFI (1 << 10) | 531 | #define HWMOD_BLOCK_WFI (1 << 10) |
529 | #define HWMOD_FORCE_MSTANDBY (1 << 11) | 532 | #define HWMOD_FORCE_MSTANDBY (1 << 11) |
530 | #define HWMOD_SWSUP_SIDLE_ACT (1 << 12) | 533 | #define HWMOD_SWSUP_SIDLE_ACT (1 << 12) |
534 | #define HWMOD_RECONFIG_IO_CHAIN (1 << 13) | ||
531 | 535 | ||
532 | /* | 536 | /* |
533 | * omap_hwmod._int_flags definitions | 537 | * omap_hwmod._int_flags definitions |
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index e9516b454e76..2a78b093c0ce 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | |||
@@ -490,7 +490,7 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = { | |||
490 | .mpu_irqs = omap2_uart1_mpu_irqs, | 490 | .mpu_irqs = omap2_uart1_mpu_irqs, |
491 | .sdma_reqs = omap2_uart1_sdma_reqs, | 491 | .sdma_reqs = omap2_uart1_sdma_reqs, |
492 | .main_clk = "uart1_fck", | 492 | .main_clk = "uart1_fck", |
493 | .flags = DEBUG_TI81XXUART1_FLAGS | HWMOD_SWSUP_SIDLE_ACT, | 493 | .flags = DEBUG_TI81XXUART1_FLAGS | HWMOD_SWSUP_SIDLE, |
494 | .prcm = { | 494 | .prcm = { |
495 | .omap2 = { | 495 | .omap2 = { |
496 | .module_offs = CORE_MOD, | 496 | .module_offs = CORE_MOD, |
@@ -509,7 +509,7 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = { | |||
509 | .mpu_irqs = omap2_uart2_mpu_irqs, | 509 | .mpu_irqs = omap2_uart2_mpu_irqs, |
510 | .sdma_reqs = omap2_uart2_sdma_reqs, | 510 | .sdma_reqs = omap2_uart2_sdma_reqs, |
511 | .main_clk = "uart2_fck", | 511 | .main_clk = "uart2_fck", |
512 | .flags = DEBUG_TI81XXUART2_FLAGS | HWMOD_SWSUP_SIDLE_ACT, | 512 | .flags = DEBUG_TI81XXUART2_FLAGS | HWMOD_SWSUP_SIDLE, |
513 | .prcm = { | 513 | .prcm = { |
514 | .omap2 = { | 514 | .omap2 = { |
515 | .module_offs = CORE_MOD, | 515 | .module_offs = CORE_MOD, |
@@ -529,7 +529,7 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = { | |||
529 | .sdma_reqs = omap2_uart3_sdma_reqs, | 529 | .sdma_reqs = omap2_uart3_sdma_reqs, |
530 | .main_clk = "uart3_fck", | 530 | .main_clk = "uart3_fck", |
531 | .flags = DEBUG_OMAP3UART3_FLAGS | DEBUG_TI81XXUART3_FLAGS | | 531 | .flags = DEBUG_OMAP3UART3_FLAGS | DEBUG_TI81XXUART3_FLAGS | |
532 | HWMOD_SWSUP_SIDLE_ACT, | 532 | HWMOD_SWSUP_SIDLE, |
533 | .prcm = { | 533 | .prcm = { |
534 | .omap2 = { | 534 | .omap2 = { |
535 | .module_offs = OMAP3430_PER_MOD, | 535 | .module_offs = OMAP3430_PER_MOD, |
@@ -559,7 +559,7 @@ static struct omap_hwmod omap36xx_uart4_hwmod = { | |||
559 | .mpu_irqs = uart4_mpu_irqs, | 559 | .mpu_irqs = uart4_mpu_irqs, |
560 | .sdma_reqs = uart4_sdma_reqs, | 560 | .sdma_reqs = uart4_sdma_reqs, |
561 | .main_clk = "uart4_fck", | 561 | .main_clk = "uart4_fck", |
562 | .flags = DEBUG_OMAP3UART4_FLAGS | HWMOD_SWSUP_SIDLE_ACT, | 562 | .flags = DEBUG_OMAP3UART4_FLAGS | HWMOD_SWSUP_SIDLE, |
563 | .prcm = { | 563 | .prcm = { |
564 | .omap2 = { | 564 | .omap2 = { |
565 | .module_offs = OMAP3430_PER_MOD, | 565 | .module_offs = OMAP3430_PER_MOD, |
@@ -1730,8 +1730,8 @@ static struct omap_hwmod omap3xxx_usbhsotg_hwmod = { | |||
1730 | * Note that musb has OTG_FORCESTDBY register that controls MSTANDBY | 1730 | * Note that musb has OTG_FORCESTDBY register that controls MSTANDBY |
1731 | * signal when MIDLEMODE is set to force-idle. | 1731 | * signal when MIDLEMODE is set to force-idle. |
1732 | */ | 1732 | */ |
1733 | .flags = HWMOD_NO_OCP_AUTOIDLE | HWMOD_SWSUP_SIDLE | 1733 | .flags = HWMOD_NO_OCP_AUTOIDLE | HWMOD_SWSUP_SIDLE | |
1734 | | HWMOD_FORCE_MSTANDBY, | 1734 | HWMOD_FORCE_MSTANDBY | HWMOD_RECONFIG_IO_CHAIN, |
1735 | }; | 1735 | }; |
1736 | 1736 | ||
1737 | /* usb_otg_hs */ | 1737 | /* usb_otg_hs */ |
diff --git a/arch/arm/mach-omap2/sram.c b/arch/arm/mach-omap2/sram.c index ddf1818af228..cd488b80ba36 100644 --- a/arch/arm/mach-omap2/sram.c +++ b/arch/arm/mach-omap2/sram.c | |||
@@ -32,12 +32,6 @@ | |||
32 | 32 | ||
33 | #define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800) | 33 | #define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800) |
34 | #define OMAP3_SRAM_PUB_PA (OMAP3_SRAM_PA + 0x8000) | 34 | #define OMAP3_SRAM_PUB_PA (OMAP3_SRAM_PA + 0x8000) |
35 | #ifdef CONFIG_OMAP4_ERRATA_I688 | ||
36 | #define OMAP4_SRAM_PUB_PA OMAP4_SRAM_PA | ||
37 | #else | ||
38 | #define OMAP4_SRAM_PUB_PA (OMAP4_SRAM_PA + 0x4000) | ||
39 | #endif | ||
40 | #define OMAP5_SRAM_PA 0x40300000 | ||
41 | 35 | ||
42 | #define SRAM_BOOTLOADER_SZ 0x00 | 36 | #define SRAM_BOOTLOADER_SZ 0x00 |
43 | 37 | ||
@@ -105,32 +99,14 @@ static void __init omap_detect_sram(void) | |||
105 | } else { | 99 | } else { |
106 | omap_sram_size = 0x8000; /* 32K */ | 100 | omap_sram_size = 0x8000; /* 32K */ |
107 | } | 101 | } |
108 | } else if (cpu_is_omap44xx()) { | ||
109 | omap_sram_start = OMAP4_SRAM_PUB_PA; | ||
110 | omap_sram_size = 0xa000; /* 40K */ | ||
111 | } else if (soc_is_omap54xx()) { | ||
112 | omap_sram_start = OMAP5_SRAM_PA; | ||
113 | omap_sram_size = SZ_128K; /* 128KB */ | ||
114 | } else { | 102 | } else { |
115 | omap_sram_start = OMAP2_SRAM_PUB_PA; | 103 | omap_sram_start = OMAP2_SRAM_PUB_PA; |
116 | omap_sram_size = 0x800; /* 2K */ | 104 | omap_sram_size = 0x800; /* 2K */ |
117 | } | 105 | } |
118 | } else { | 106 | } else { |
119 | if (soc_is_am33xx()) { | 107 | if (cpu_is_omap34xx()) { |
120 | omap_sram_start = AM33XX_SRAM_PA; | ||
121 | omap_sram_size = 0x10000; /* 64K */ | ||
122 | } else if (soc_is_am43xx()) { | ||
123 | omap_sram_start = AM33XX_SRAM_PA; | ||
124 | omap_sram_size = SZ_256K; | ||
125 | } else if (cpu_is_omap34xx()) { | ||
126 | omap_sram_start = OMAP3_SRAM_PA; | 108 | omap_sram_start = OMAP3_SRAM_PA; |
127 | omap_sram_size = 0x10000; /* 64K */ | 109 | omap_sram_size = 0x10000; /* 64K */ |
128 | } else if (cpu_is_omap44xx()) { | ||
129 | omap_sram_start = OMAP4_SRAM_PA; | ||
130 | omap_sram_size = 0xe000; /* 56K */ | ||
131 | } else if (soc_is_omap54xx()) { | ||
132 | omap_sram_start = OMAP5_SRAM_PA; | ||
133 | omap_sram_size = SZ_128K; /* 128KB */ | ||
134 | } else { | 110 | } else { |
135 | omap_sram_start = OMAP2_SRAM_PA; | 111 | omap_sram_start = OMAP2_SRAM_PA; |
136 | if (cpu_is_omap242x()) | 112 | if (cpu_is_omap242x()) |
@@ -148,12 +124,6 @@ static void __init omap2_map_sram(void) | |||
148 | { | 124 | { |
149 | int cached = 1; | 125 | int cached = 1; |
150 | 126 | ||
151 | #ifdef CONFIG_OMAP4_ERRATA_I688 | ||
152 | if (cpu_is_omap44xx()) { | ||
153 | omap_sram_start += PAGE_SIZE; | ||
154 | omap_sram_size -= SZ_16K; | ||
155 | } | ||
156 | #endif | ||
157 | if (cpu_is_omap34xx()) { | 127 | if (cpu_is_omap34xx()) { |
158 | /* | 128 | /* |
159 | * SRAM must be marked as non-cached on OMAP3 since the | 129 | * SRAM must be marked as non-cached on OMAP3 since the |
@@ -285,11 +255,6 @@ static inline int omap34xx_sram_init(void) | |||
285 | } | 255 | } |
286 | #endif /* CONFIG_ARCH_OMAP3 */ | 256 | #endif /* CONFIG_ARCH_OMAP3 */ |
287 | 257 | ||
288 | static inline int am33xx_sram_init(void) | ||
289 | { | ||
290 | return 0; | ||
291 | } | ||
292 | |||
293 | int __init omap_sram_init(void) | 258 | int __init omap_sram_init(void) |
294 | { | 259 | { |
295 | omap_detect_sram(); | 260 | omap_detect_sram(); |
@@ -299,8 +264,6 @@ int __init omap_sram_init(void) | |||
299 | omap242x_sram_init(); | 264 | omap242x_sram_init(); |
300 | else if (cpu_is_omap2430()) | 265 | else if (cpu_is_omap2430()) |
301 | omap243x_sram_init(); | 266 | omap243x_sram_init(); |
302 | else if (soc_is_am33xx()) | ||
303 | am33xx_sram_init(); | ||
304 | else if (cpu_is_omap34xx()) | 267 | else if (cpu_is_omap34xx()) |
305 | omap34xx_sram_init(); | 268 | omap34xx_sram_init(); |
306 | 269 | ||
diff --git a/arch/arm/mach-omap2/sram.h b/arch/arm/mach-omap2/sram.h index ca7277c2a9ee..948d3edefc38 100644 --- a/arch/arm/mach-omap2/sram.h +++ b/arch/arm/mach-omap2/sram.h | |||
@@ -74,10 +74,3 @@ static inline void omap_push_sram_idle(void) {} | |||
74 | */ | 74 | */ |
75 | #define OMAP2_SRAM_PA 0x40200000 | 75 | #define OMAP2_SRAM_PA 0x40200000 |
76 | #define OMAP3_SRAM_PA 0x40200000 | 76 | #define OMAP3_SRAM_PA 0x40200000 |
77 | #ifdef CONFIG_OMAP4_ERRATA_I688 | ||
78 | #define OMAP4_SRAM_PA 0x40304000 | ||
79 | #define OMAP4_SRAM_VA 0xfe404000 | ||
80 | #else | ||
81 | #define OMAP4_SRAM_PA 0x40300000 | ||
82 | #endif | ||
83 | #define AM33XX_SRAM_PA 0x40300000 | ||