aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/tegra-harmony.dts1
-rw-r--r--arch/arm/boot/dts/tegra-seaboard.dts4
-rw-r--r--arch/arm/configs/at91sam9g45_defconfig214
-rw-r--r--arch/arm/mach-imx/Kconfig1
-rw-r--r--arch/arm/mach-imx/mach-mx31_3ds.c2
-rw-r--r--arch/arm/mach-mx5/pm-imx5.c15
-rw-r--r--arch/arm/mach-mxs/clock-mx28.c2
-rw-r--r--arch/arm/mach-omap2/board-2430sdp.c3
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c2
-rw-r--r--arch/arm/mach-omap2/hsmmc.c12
-rw-r--r--arch/arm/mach-omap2/irq.c4
-rw-r--r--arch/arm/mach-omap2/usb-musb.c3
-rw-r--r--arch/arm/mach-ux500/Kconfig1
-rw-r--r--arch/arm/mach-ux500/cpu.c25
-rw-r--r--arch/arm/plat-mxc/include/mach/iomux-v3.h10
-rw-r--r--drivers/misc/Kconfig2
16 files changed, 274 insertions, 27 deletions
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts
index e5818668d091..0e225b86b652 100644
--- a/arch/arm/boot/dts/tegra-harmony.dts
+++ b/arch/arm/boot/dts/tegra-harmony.dts
@@ -66,5 +66,6 @@
66 cd-gpios = <&gpio 58 0>; /* gpio PH2 */ 66 cd-gpios = <&gpio 58 0>; /* gpio PH2 */
67 wp-gpios = <&gpio 59 0>; /* gpio PH3 */ 67 wp-gpios = <&gpio 59 0>; /* gpio PH3 */
68 power-gpios = <&gpio 70 0>; /* gpio PI6 */ 68 power-gpios = <&gpio 70 0>; /* gpio PI6 */
69 support-8bit;
69 }; 70 };
70}; 71};
diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts
index 64cedca6fc79..a72299b8e668 100644
--- a/arch/arm/boot/dts/tegra-seaboard.dts
+++ b/arch/arm/boot/dts/tegra-seaboard.dts
@@ -25,4 +25,8 @@
25 wp-gpios = <&gpio 57 0>; /* gpio PH1 */ 25 wp-gpios = <&gpio 57 0>; /* gpio PH1 */
26 power-gpios = <&gpio 70 0>; /* gpio PI6 */ 26 power-gpios = <&gpio 70 0>; /* gpio PI6 */
27 }; 27 };
28
29 sdhci@c8000600 {
30 support-8bit;
31 };
28}; 32};
diff --git a/arch/arm/configs/at91sam9g45_defconfig b/arch/arm/configs/at91sam9g45_defconfig
new file mode 100644
index 000000000000..c5876d244f4b
--- /dev/null
+++ b/arch/arm/configs/at91sam9g45_defconfig
@@ -0,0 +1,214 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y
5CONFIG_LOG_BUF_SHIFT=14
6CONFIG_SYSFS_DEPRECATED=y
7CONFIG_SYSFS_DEPRECATED_V2=y
8CONFIG_BLK_DEV_INITRD=y
9CONFIG_CC_OPTIMIZE_FOR_SIZE=y
10CONFIG_EMBEDDED=y
11CONFIG_SLAB=y
12CONFIG_MODULES=y
13CONFIG_MODULE_UNLOAD=y
14# CONFIG_LBDAF is not set
15# CONFIG_BLK_DEV_BSG is not set
16# CONFIG_IOSCHED_DEADLINE is not set
17# CONFIG_IOSCHED_CFQ is not set
18CONFIG_ARCH_AT91=y
19CONFIG_ARCH_AT91SAM9G45=y
20CONFIG_MACH_AT91SAM9M10G45EK=y
21CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
22CONFIG_AT91_SLOW_CLOCK=y
23CONFIG_AEABI=y
24# CONFIG_OABI_COMPAT is not set
25CONFIG_LEDS=y
26CONFIG_LEDS_CPU=y
27CONFIG_UACCESS_WITH_MEMCPY=y
28CONFIG_ZBOOT_ROM_TEXT=0x0
29CONFIG_ZBOOT_ROM_BSS=0x0
30CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x71100000,25165824 root=/dev/ram0 rw"
31CONFIG_AUTO_ZRELADDR=y
32# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
33CONFIG_NET=y
34CONFIG_PACKET=y
35CONFIG_UNIX=y
36CONFIG_INET=y
37CONFIG_IP_MULTICAST=y
38# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
39# CONFIG_INET_XFRM_MODE_TUNNEL is not set
40# CONFIG_INET_XFRM_MODE_BEET is not set
41# CONFIG_INET_DIAG is not set
42CONFIG_IPV6=y
43# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
44# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
45# CONFIG_INET6_XFRM_MODE_BEET is not set
46CONFIG_IPV6_SIT_6RD=y
47CONFIG_CFG80211=y
48CONFIG_LIB80211=y
49CONFIG_MAC80211=y
50CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
51CONFIG_DEVTMPFS=y
52CONFIG_DEVTMPFS_MOUNT=y
53# CONFIG_STANDALONE is not set
54# CONFIG_PREVENT_FIRMWARE_BUILD is not set
55CONFIG_MTD=y
56CONFIG_MTD_CMDLINE_PARTS=y
57CONFIG_MTD_CHAR=y
58CONFIG_MTD_BLOCK=y
59CONFIG_MTD_DATAFLASH=y
60CONFIG_MTD_NAND=y
61CONFIG_MTD_NAND_ATMEL=y
62CONFIG_MTD_UBI=y
63CONFIG_BLK_DEV_LOOP=y
64CONFIG_BLK_DEV_RAM=y
65CONFIG_BLK_DEV_RAM_COUNT=4
66CONFIG_BLK_DEV_RAM_SIZE=8192
67CONFIG_MISC_DEVICES=y
68CONFIG_ATMEL_PWM=y
69CONFIG_ATMEL_TCLIB=y
70CONFIG_SCSI=y
71CONFIG_BLK_DEV_SD=y
72CONFIG_SCSI_MULTI_LUN=y
73# CONFIG_SCSI_LOWLEVEL is not set
74CONFIG_NETDEVICES=y
75CONFIG_MII=y
76CONFIG_DAVICOM_PHY=y
77CONFIG_NET_ETHERNET=y
78CONFIG_MACB=y
79# CONFIG_NETDEV_1000 is not set
80# CONFIG_NETDEV_10000 is not set
81CONFIG_LIBERTAS_THINFIRM=m
82CONFIG_LIBERTAS_THINFIRM_USB=m
83CONFIG_AT76C50X_USB=m
84CONFIG_USB_ZD1201=m
85CONFIG_RTL8187=m
86CONFIG_ATH_COMMON=m
87CONFIG_ATH9K=m
88CONFIG_CARL9170=m
89CONFIG_B43=m
90CONFIG_B43_PHY_N=y
91CONFIG_LIBERTAS=m
92CONFIG_LIBERTAS_USB=m
93CONFIG_LIBERTAS_SDIO=m
94CONFIG_LIBERTAS_SPI=m
95CONFIG_RT2X00=m
96CONFIG_RT2500USB=m
97CONFIG_RT73USB=m
98CONFIG_RT2800USB=m
99CONFIG_RT2800USB_RT53XX=y
100CONFIG_RT2800USB_UNKNOWN=y
101CONFIG_RTL8192CU=m
102CONFIG_WL1251=m
103CONFIG_WL1251_SDIO=m
104CONFIG_WL12XX_MENU=m
105CONFIG_WL12XX=m
106CONFIG_WL12XX_SDIO=m
107CONFIG_ZD1211RW=m
108CONFIG_MWIFIEX=m
109CONFIG_MWIFIEX_SDIO=m
110CONFIG_INPUT_POLLDEV=m
111# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
112CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
113CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
114CONFIG_INPUT_JOYDEV=y
115CONFIG_INPUT_EVDEV=y
116# CONFIG_KEYBOARD_ATKBD is not set
117CONFIG_KEYBOARD_QT1070=m
118CONFIG_KEYBOARD_QT2160=m
119CONFIG_KEYBOARD_GPIO=y
120# CONFIG_INPUT_MOUSE is not set
121CONFIG_INPUT_TOUCHSCREEN=y
122CONFIG_TOUCHSCREEN_ATMEL_MXT=m
123CONFIG_TOUCHSCREEN_ATMEL_TSADCC=y
124# CONFIG_SERIO is not set
125CONFIG_LEGACY_PTY_COUNT=4
126CONFIG_SERIAL_ATMEL=y
127CONFIG_SERIAL_ATMEL_CONSOLE=y
128CONFIG_HW_RANDOM=y
129CONFIG_I2C=y
130CONFIG_I2C_GPIO=y
131CONFIG_SPI=y
132CONFIG_SPI_ATMEL=y
133# CONFIG_HWMON is not set
134# CONFIG_MFD_SUPPORT is not set
135CONFIG_FB=y
136CONFIG_FB_ATMEL=y
137CONFIG_FB_UDL=m
138CONFIG_BACKLIGHT_LCD_SUPPORT=y
139# CONFIG_LCD_CLASS_DEVICE is not set
140CONFIG_BACKLIGHT_CLASS_DEVICE=y
141CONFIG_BACKLIGHT_ATMEL_LCDC=y
142# CONFIG_BACKLIGHT_GENERIC is not set
143CONFIG_SOUND=y
144CONFIG_SND=y
145CONFIG_SND_SEQUENCER=y
146CONFIG_SND_MIXER_OSS=y
147CONFIG_SND_PCM_OSS=y
148# CONFIG_SND_SUPPORT_OLD_API is not set
149# CONFIG_SND_VERBOSE_PROCFS is not set
150# CONFIG_SND_DRIVERS is not set
151# CONFIG_SND_ARM is not set
152CONFIG_SND_ATMEL_AC97C=y
153# CONFIG_SND_SPI is not set
154CONFIG_SND_USB_AUDIO=m
155# CONFIG_USB_HID is not set
156CONFIG_USB=y
157CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
158CONFIG_USB_DEVICEFS=y
159# CONFIG_USB_DEVICE_CLASS is not set
160CONFIG_USB_EHCI_HCD=y
161CONFIG_USB_OHCI_HCD=y
162CONFIG_USB_ACM=y
163CONFIG_USB_STORAGE=y
164CONFIG_USB_GADGET=y
165CONFIG_USB_ATMEL_USBA=m
166CONFIG_USB_ZERO=m
167CONFIG_USB_AUDIO=m
168CONFIG_USB_ETH=m
169CONFIG_USB_ETH_EEM=y
170CONFIG_USB_MASS_STORAGE=m
171CONFIG_USB_G_SERIAL=m
172CONFIG_USB_CDC_COMPOSITE=m
173CONFIG_USB_G_MULTI=m
174CONFIG_USB_G_MULTI_CDC=y
175CONFIG_MMC=y
176# CONFIG_MMC_BLOCK_BOUNCE is not set
177CONFIG_SDIO_UART=m
178CONFIG_MMC_ATMELMCI=y
179CONFIG_MMC_ATMELMCI_DMA=y
180CONFIG_LEDS_ATMEL_PWM=y
181CONFIG_LEDS_GPIO=y
182CONFIG_LEDS_TRIGGER_TIMER=y
183CONFIG_LEDS_TRIGGER_HEARTBEAT=y
184CONFIG_LEDS_TRIGGER_GPIO=y
185CONFIG_RTC_CLASS=y
186CONFIG_RTC_DRV_AT91RM9200=y
187CONFIG_DMADEVICES=y
188CONFIG_AT_HDMAC=y
189CONFIG_DMATEST=m
190# CONFIG_IOMMU_SUPPORT is not set
191CONFIG_EXT2_FS=y
192CONFIG_FANOTIFY=y
193CONFIG_VFAT_FS=y
194CONFIG_TMPFS=y
195CONFIG_JFFS2_FS=y
196CONFIG_JFFS2_SUMMARY=y
197CONFIG_CRAMFS=m
198CONFIG_SQUASHFS=m
199CONFIG_SQUASHFS_EMBEDDED=y
200CONFIG_NFS_FS=y
201CONFIG_NFS_V3=y
202CONFIG_NLS_CODEPAGE_437=y
203CONFIG_NLS_CODEPAGE_850=y
204CONFIG_NLS_ISO8859_1=y
205CONFIG_STRIP_ASM_SYMS=y
206# CONFIG_SCHED_DEBUG is not set
207CONFIG_DEBUG_MEMORY_INIT=y
208# CONFIG_FTRACE is not set
209CONFIG_DEBUG_USER=y
210CONFIG_CRYPTO_ECB=y
211# CONFIG_CRYPTO_ANSI_CPRNG is not set
212CONFIG_CRYPTO_USER_API_HASH=m
213CONFIG_CRYPTO_USER_API_SKCIPHER=m
214# CONFIG_CRYPTO_HW is not set
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 0519dd7f034b..e9c2968005dc 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -449,6 +449,7 @@ config MACH_MX31_3DS
449 select IMX_HAVE_PLATFORM_IMX_UART 449 select IMX_HAVE_PLATFORM_IMX_UART
450 select IMX_HAVE_PLATFORM_IPU_CORE 450 select IMX_HAVE_PLATFORM_IPU_CORE
451 select IMX_HAVE_PLATFORM_MXC_EHCI 451 select IMX_HAVE_PLATFORM_MXC_EHCI
452 select IMX_HAVE_PLATFORM_MXC_MMC
452 select IMX_HAVE_PLATFORM_MXC_NAND 453 select IMX_HAVE_PLATFORM_MXC_NAND
453 select IMX_HAVE_PLATFORM_SPI_IMX 454 select IMX_HAVE_PLATFORM_SPI_IMX
454 select MXC_ULPI if USB_ULPI 455 select MXC_ULPI if USB_ULPI
diff --git a/arch/arm/mach-imx/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c
index c20be7530927..5750ca55c1f7 100644
--- a/arch/arm/mach-imx/mach-mx31_3ds.c
+++ b/arch/arm/mach-imx/mach-mx31_3ds.c
@@ -542,7 +542,7 @@ static const struct mxc_nand_platform_data
542mx31_3ds_nand_board_info __initconst = { 542mx31_3ds_nand_board_info __initconst = {
543 .width = 1, 543 .width = 1,
544 .hw_ecc = 1, 544 .hw_ecc = 1,
545#ifdef MACH_MX31_3DS_MXC_NAND_USE_BBT 545#ifdef CONFIG_MACH_MX31_3DS_MXC_NAND_USE_BBT
546 .flash_bbt = 1, 546 .flash_bbt = 1,
547#endif 547#endif
548}; 548};
diff --git a/arch/arm/mach-mx5/pm-imx5.c b/arch/arm/mach-mx5/pm-imx5.c
index e4529af0da72..be19e9ce839a 100644
--- a/arch/arm/mach-mx5/pm-imx5.c
+++ b/arch/arm/mach-mx5/pm-imx5.c
@@ -19,9 +19,13 @@
19 19
20static struct clk *gpc_dvfs_clk; 20static struct clk *gpc_dvfs_clk;
21 21
22static int mx5_suspend_prepare(void)
23{
24 return clk_enable(gpc_dvfs_clk);
25}
26
22static int mx5_suspend_enter(suspend_state_t state) 27static int mx5_suspend_enter(suspend_state_t state)
23{ 28{
24 clk_enable(gpc_dvfs_clk);
25 switch (state) { 29 switch (state) {
26 case PM_SUSPEND_MEM: 30 case PM_SUSPEND_MEM:
27 mx5_cpu_lp_set(STOP_POWER_OFF); 31 mx5_cpu_lp_set(STOP_POWER_OFF);
@@ -42,11 +46,14 @@ static int mx5_suspend_enter(suspend_state_t state)
42 __raw_writel(0, MXC_SRPG_EMPGC1_SRPGCR); 46 __raw_writel(0, MXC_SRPG_EMPGC1_SRPGCR);
43 } 47 }
44 cpu_do_idle(); 48 cpu_do_idle();
45 clk_disable(gpc_dvfs_clk);
46
47 return 0; 49 return 0;
48} 50}
49 51
52static void mx5_suspend_finish(void)
53{
54 clk_disable(gpc_dvfs_clk);
55}
56
50static int mx5_pm_valid(suspend_state_t state) 57static int mx5_pm_valid(suspend_state_t state)
51{ 58{
52 return (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX); 59 return (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX);
@@ -54,7 +61,9 @@ static int mx5_pm_valid(suspend_state_t state)
54 61
55static const struct platform_suspend_ops mx5_suspend_ops = { 62static const struct platform_suspend_ops mx5_suspend_ops = {
56 .valid = mx5_pm_valid, 63 .valid = mx5_pm_valid,
64 .prepare = mx5_suspend_prepare,
57 .enter = mx5_suspend_enter, 65 .enter = mx5_suspend_enter,
66 .finish = mx5_suspend_finish,
58}; 67};
59 68
60static int __init mx5_pm_init(void) 69static int __init mx5_pm_init(void)
diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c
index 5dcc59d5b9ec..ba532279d1a1 100644
--- a/arch/arm/mach-mxs/clock-mx28.c
+++ b/arch/arm/mach-mxs/clock-mx28.c
@@ -349,7 +349,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \
349 \ 349 \
350 reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \ 350 reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \
351 reg &= ~BM_CLKCTRL_##fr##_##fs##FRAC; \ 351 reg &= ~BM_CLKCTRL_##fr##_##fs##FRAC; \
352 reg |= frac; \ 352 reg |= frac << BP_CLKCTRL_##fr##_##fs##FRAC; \
353 __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \ 353 __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \
354 } \ 354 } \
355 \ 355 \
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index 2028464cf5b9..f79b7d2a8ed4 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -193,7 +193,8 @@ static int __init omap2430_i2c_init(void)
193{ 193{
194 omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo, 194 omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo,
195 ARRAY_SIZE(sdp2430_i2c1_boardinfo)); 195 ARRAY_SIZE(sdp2430_i2c1_boardinfo));
196 omap2_pmic_init("twl4030", &sdp2430_twldata); 196 omap_pmic_init(2, 100, "twl4030", INT_24XX_SYS_NIRQ,
197 &sdp2430_twldata);
197 return 0; 198 return 0;
198} 199}
199 200
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index c7cef44c75d4..9e423ac74997 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -129,7 +129,7 @@ static const int sdp4430_keymap[] = {
129 KEY(7, 6, KEY_OK), 129 KEY(7, 6, KEY_OK),
130 KEY(7, 7, KEY_DOWN), 130 KEY(7, 7, KEY_DOWN),
131}; 131};
132static struct omap_device_pad keypad_pads[] __initdata = { 132static struct omap_device_pad keypad_pads[] = {
133 { .name = "kpd_col1.kpd_col1", 133 { .name = "kpd_col1.kpd_col1",
134 .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, 134 .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1,
135 }, 135 },
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
index a9b45c76e1d3..097a42d81e59 100644
--- a/arch/arm/mach-omap2/hsmmc.c
+++ b/arch/arm/mach-omap2/hsmmc.c
@@ -137,8 +137,7 @@ static void omap4_hsmmc1_before_set_reg(struct device *dev, int slot,
137 */ 137 */
138 reg = omap4_ctrl_pad_readl(control_pbias_offset); 138 reg = omap4_ctrl_pad_readl(control_pbias_offset);
139 reg &= ~(OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK | 139 reg &= ~(OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
140 OMAP4_MMC1_PWRDNZ_MASK | 140 OMAP4_MMC1_PWRDNZ_MASK);
141 OMAP4_USBC1_ICUSB_PWRDNZ_MASK);
142 omap4_ctrl_pad_writel(reg, control_pbias_offset); 141 omap4_ctrl_pad_writel(reg, control_pbias_offset);
143} 142}
144 143
@@ -156,8 +155,7 @@ static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot,
156 else 155 else
157 reg |= OMAP4_MMC1_PBIASLITE_VMODE_MASK; 156 reg |= OMAP4_MMC1_PBIASLITE_VMODE_MASK;
158 reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK | 157 reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
159 OMAP4_MMC1_PWRDNZ_MASK | 158 OMAP4_MMC1_PWRDNZ_MASK);
160 OMAP4_USBC1_ICUSB_PWRDNZ_MASK);
161 omap4_ctrl_pad_writel(reg, control_pbias_offset); 159 omap4_ctrl_pad_writel(reg, control_pbias_offset);
162 160
163 timeout = jiffies + msecs_to_jiffies(5); 161 timeout = jiffies + msecs_to_jiffies(5);
@@ -171,16 +169,14 @@ static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot,
171 if (reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK) { 169 if (reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK) {
172 pr_err("Pbias Voltage is not same as LDO\n"); 170 pr_err("Pbias Voltage is not same as LDO\n");
173 /* Caution : On VMODE_ERROR Power Down MMC IO */ 171 /* Caution : On VMODE_ERROR Power Down MMC IO */
174 reg &= ~(OMAP4_MMC1_PWRDNZ_MASK | 172 reg &= ~(OMAP4_MMC1_PWRDNZ_MASK);
175 OMAP4_USBC1_ICUSB_PWRDNZ_MASK);
176 omap4_ctrl_pad_writel(reg, control_pbias_offset); 173 omap4_ctrl_pad_writel(reg, control_pbias_offset);
177 } 174 }
178 } else { 175 } else {
179 reg = omap4_ctrl_pad_readl(control_pbias_offset); 176 reg = omap4_ctrl_pad_readl(control_pbias_offset);
180 reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK | 177 reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
181 OMAP4_MMC1_PWRDNZ_MASK | 178 OMAP4_MMC1_PWRDNZ_MASK |
182 OMAP4_MMC1_PBIASLITE_VMODE_MASK | 179 OMAP4_MMC1_PBIASLITE_VMODE_MASK);
183 OMAP4_USBC1_ICUSB_PWRDNZ_MASK);
184 omap4_ctrl_pad_writel(reg, control_pbias_offset); 180 omap4_ctrl_pad_writel(reg, control_pbias_offset);
185 } 181 }
186} 182}
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 3a12f7586a4c..65f1be6a182c 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -165,8 +165,8 @@ static void __init omap_init_irq(u32 base, int nr_irqs)
165 165
166 omap_irq_bank_init_one(bank); 166 omap_irq_bank_init_one(bank);
167 167
168 for (i = 0, j = 0; i < bank->nr_irqs; i += 32, j += 0x20) 168 for (j = 0; j < bank->nr_irqs; j += 32)
169 omap_alloc_gc(bank->base_reg + j, i, 32); 169 omap_alloc_gc(bank->base_reg + j, j, 32);
170 170
171 nr_of_irqs += bank->nr_irqs; 171 nr_of_irqs += bank->nr_irqs;
172 nr_banks++; 172 nr_banks++;
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c
index a65145b02a55..19e4dac62a8c 100644
--- a/arch/arm/mach-omap2/usb-musb.c
+++ b/arch/arm/mach-omap2/usb-musb.c
@@ -137,9 +137,6 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data)
137 musb_plat.mode = board_data->mode; 137 musb_plat.mode = board_data->mode;
138 musb_plat.extvbus = board_data->extvbus; 138 musb_plat.extvbus = board_data->extvbus;
139 139
140 if (cpu_is_omap44xx())
141 omap4430_phy_init(dev);
142
143 if (cpu_is_omap3517() || cpu_is_omap3505()) { 140 if (cpu_is_omap3517() || cpu_is_omap3505()) {
144 oh_name = "am35x_otg_hs"; 141 oh_name = "am35x_otg_hs";
145 name = "musb-am35x"; 142 name = "musb-am35x";
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
index 4210cb434dbc..a3e0c8692f0d 100644
--- a/arch/arm/mach-ux500/Kconfig
+++ b/arch/arm/mach-ux500/Kconfig
@@ -6,6 +6,7 @@ config UX500_SOC_COMMON
6 select ARM_GIC 6 select ARM_GIC
7 select HAS_MTU 7 select HAS_MTU
8 select ARM_ERRATA_753970 8 select ARM_ERRATA_753970
9 select ARM_ERRATA_754322
9 10
10menu "Ux500 SoC" 11menu "Ux500 SoC"
11 12
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c
index 1da23bb87c16..8aa104a4711a 100644
--- a/arch/arm/mach-ux500/cpu.c
+++ b/arch/arm/mach-ux500/cpu.c
@@ -99,7 +99,27 @@ static void ux500_l2x0_inv_all(void)
99 ux500_cache_sync(); 99 ux500_cache_sync();
100} 100}
101 101
102static int ux500_l2x0_init(void) 102static int __init ux500_l2x0_unlock(void)
103{
104 int i;
105
106 /*
107 * Unlock Data and Instruction Lock if locked. Ux500 U-Boot versions
108 * apparently locks both caches before jumping to the kernel. The
109 * l2x0 core will not touch the unlock registers if the l2x0 is
110 * already enabled, so we do it right here instead. The PL310 has
111 * 8 sets of registers, one per possible CPU.
112 */
113 for (i = 0; i < 8; i++) {
114 writel_relaxed(0x0, l2x0_base + L2X0_LOCKDOWN_WAY_D_BASE +
115 i * L2X0_LOCKDOWN_STRIDE);
116 writel_relaxed(0x0, l2x0_base + L2X0_LOCKDOWN_WAY_I_BASE +
117 i * L2X0_LOCKDOWN_STRIDE);
118 }
119 return 0;
120}
121
122static int __init ux500_l2x0_init(void)
103{ 123{
104 if (cpu_is_u5500()) 124 if (cpu_is_u5500())
105 l2x0_base = __io_address(U5500_L2CC_BASE); 125 l2x0_base = __io_address(U5500_L2CC_BASE);
@@ -108,6 +128,9 @@ static int ux500_l2x0_init(void)
108 else 128 else
109 ux500_unknown_soc(); 129 ux500_unknown_soc();
110 130
131 /* Unlock before init */
132 ux500_l2x0_unlock();
133
111 /* 64KB way size, 8 way associativity, force WA */ 134 /* 64KB way size, 8 way associativity, force WA */
112 l2x0_init(l2x0_base, 0x3e060000, 0xc0000fff); 135 l2x0_init(l2x0_base, 0x3e060000, 0xc0000fff);
113 136
diff --git a/arch/arm/plat-mxc/include/mach/iomux-v3.h b/arch/arm/plat-mxc/include/mach/iomux-v3.h
index ebbce33097a7..45099566fecc 100644
--- a/arch/arm/plat-mxc/include/mach/iomux-v3.h
+++ b/arch/arm/plat-mxc/include/mach/iomux-v3.h
@@ -89,11 +89,11 @@ typedef u64 iomux_v3_cfg_t;
89#define PAD_CTL_HYS (1 << 8) 89#define PAD_CTL_HYS (1 << 8)
90 90
91#define PAD_CTL_PKE (1 << 7) 91#define PAD_CTL_PKE (1 << 7)
92#define PAD_CTL_PUE (1 << 6) 92#define PAD_CTL_PUE (1 << 6 | PAD_CTL_PKE)
93#define PAD_CTL_PUS_100K_DOWN (0 << 4) 93#define PAD_CTL_PUS_100K_DOWN (0 << 4 | PAD_CTL_PUE)
94#define PAD_CTL_PUS_47K_UP (1 << 4) 94#define PAD_CTL_PUS_47K_UP (1 << 4 | PAD_CTL_PUE)
95#define PAD_CTL_PUS_100K_UP (2 << 4) 95#define PAD_CTL_PUS_100K_UP (2 << 4 | PAD_CTL_PUE)
96#define PAD_CTL_PUS_22K_UP (3 << 4) 96#define PAD_CTL_PUS_22K_UP (3 << 4 | PAD_CTL_PUE)
97 97
98#define PAD_CTL_ODE (1 << 3) 98#define PAD_CTL_ODE (1 << 3)
99 99
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 2d6423c2d193..166d149d931e 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -63,7 +63,7 @@ config AD525X_DPOT_SPI
63 63
64config ATMEL_PWM 64config ATMEL_PWM
65 tristate "Atmel AT32/AT91 PWM support" 65 tristate "Atmel AT32/AT91 PWM support"
66 depends on AVR32 || ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || ARCH_AT91CAP9 66 depends on HAVE_CLK
67 help 67 help
68 This option enables device driver support for the PWM channels 68 This option enables device driver support for the PWM channels
69 on certain Atmel processors. Pulse Width Modulation is used for 69 on certain Atmel processors. Pulse Width Modulation is used for