Commit 1f8b7665 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "A handful of fixes for 3.11 are still trickling in.  These are:
   - A couple of fixes for older OMAP platforms
   - Another few fixes for at91 (lateish due to European summer
     vacations)
   - A late-found problem with USB on Tegra, fix is to keep VBUS
     regulator on at all times
   - One fix for Exynos 5440 dealing with CPU detection
   - One MAINTAINERS update"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: tegra: always enable USB VBUS regulators
  ARM: davinci: nand: specify ecc strength
  ARM: OMAP: rx51: change musb mode to OTG
  ARM: OMAP2: fix musb usage for n8x0
  MAINTAINERS: Update email address for Benoit Cousson
  ARM: at91/DT: fix at91sam9n12ek memory node
  ARM: at91: add missing uart clocks DT entries
  ARM: SAMSUNG: fix to support for missing cpu specific map_io
  ARM: at91/DT: at91sam9x5ek: fix USB host property to enable port C
parents 8351fcfe 30ca2226
...@@ -5884,7 +5884,7 @@ F: drivers/i2c/busses/i2c-omap.c ...@@ -5884,7 +5884,7 @@ F: drivers/i2c/busses/i2c-omap.c
F: include/linux/i2c-omap.h F: include/linux/i2c-omap.h
OMAP DEVICE TREE SUPPORT OMAP DEVICE TREE SUPPORT
M: Benoît Cousson <b-cousson@ti.com> M: Benoît Cousson <bcousson@baylibre.com>
M: Tony Lindgren <tony@atomide.com> M: Tony Lindgren <tony@atomide.com>
L: linux-omap@vger.kernel.org L: linux-omap@vger.kernel.org
L: devicetree@vger.kernel.org L: devicetree@vger.kernel.org
...@@ -5964,14 +5964,14 @@ S: Maintained ...@@ -5964,14 +5964,14 @@ S: Maintained
F: drivers/char/hw_random/omap-rng.c F: drivers/char/hw_random/omap-rng.c
OMAP HWMOD SUPPORT OMAP HWMOD SUPPORT
M: Benoît Cousson <b-cousson@ti.com> M: Benoît Cousson <bcousson@baylibre.com>
M: Paul Walmsley <paul@pwsan.com> M: Paul Walmsley <paul@pwsan.com>
L: linux-omap@vger.kernel.org L: linux-omap@vger.kernel.org
S: Maintained S: Maintained
F: arch/arm/mach-omap2/omap_hwmod.* F: arch/arm/mach-omap2/omap_hwmod.*
OMAP HWMOD DATA FOR OMAP4-BASED DEVICES OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
M: Benoît Cousson <b-cousson@ti.com> M: Benoît Cousson <bcousson@baylibre.com>
L: linux-omap@vger.kernel.org L: linux-omap@vger.kernel.org
S: Maintained S: Maintained
F: arch/arm/mach-omap2/omap_hwmod_44xx_data.c F: arch/arm/mach-omap2/omap_hwmod_44xx_data.c
......
...@@ -14,11 +14,11 @@ / { ...@@ -14,11 +14,11 @@ / {
compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9"; compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9";
chosen { chosen {
bootargs = "mem=128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"; bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
}; };
memory { memory {
reg = <0x20000000 0x10000000>; reg = <0x20000000 0x8000000>;
}; };
clocks { clocks {
......
...@@ -94,8 +94,9 @@ watchdog@fffffe40 { ...@@ -94,8 +94,9 @@ watchdog@fffffe40 {
usb0: ohci@00600000 { usb0: ohci@00600000 {
status = "okay"; status = "okay";
num-ports = <2>; num-ports = <3>;
atmel,vbus-gpio = <&pioD 19 GPIO_ACTIVE_LOW atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
&pioD 19 GPIO_ACTIVE_LOW
&pioD 20 GPIO_ACTIVE_LOW &pioD 20 GPIO_ACTIVE_LOW
>; >;
}; };
......
...@@ -830,6 +830,8 @@ vbus_reg: regulator@3 { ...@@ -830,6 +830,8 @@ vbus_reg: regulator@3 {
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
gpio = <&gpio 24 0>; /* PD0 */ gpio = <&gpio 24 0>; /* PD0 */
regulator-always-on;
regulator-boot-on;
}; };
}; };
......
...@@ -412,6 +412,8 @@ vbus_reg: regulator@2 { ...@@ -412,6 +412,8 @@ vbus_reg: regulator@2 {
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
gpio = <&gpio 170 0>; /* PV2 */ gpio = <&gpio 170 0>; /* PV2 */
regulator-always-on;
regulator-boot-on;
}; };
}; };
......
...@@ -588,6 +588,8 @@ vbus1_reg: regulator@2 { ...@@ -588,6 +588,8 @@ vbus1_reg: regulator@2 {
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
gpio = <&tca6416 0 0>; /* GPIO_PMU0 */ gpio = <&tca6416 0 0>; /* GPIO_PMU0 */
regulator-always-on;
regulator-boot-on;
}; };
vbus3_reg: regulator@3 { vbus3_reg: regulator@3 {
...@@ -598,6 +600,8 @@ vbus3_reg: regulator@3 { ...@@ -598,6 +600,8 @@ vbus3_reg: regulator@3 {
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
gpio = <&tca6416 1 0>; /* GPIO_PMU1 */ gpio = <&tca6416 1 0>; /* GPIO_PMU1 */
regulator-always-on;
regulator-boot-on;
}; };
}; };
......
...@@ -227,6 +227,8 @@ static struct clk_lookup periph_clocks_lookups[] = { ...@@ -227,6 +227,8 @@ static struct clk_lookup periph_clocks_lookups[] = {
CLKDEV_CON_DEV_ID("usart", "f8020000.serial", &usart1_clk), CLKDEV_CON_DEV_ID("usart", "f8020000.serial", &usart1_clk),
CLKDEV_CON_DEV_ID("usart", "f8024000.serial", &usart2_clk), CLKDEV_CON_DEV_ID("usart", "f8024000.serial", &usart2_clk),
CLKDEV_CON_DEV_ID("usart", "f8028000.serial", &usart3_clk), CLKDEV_CON_DEV_ID("usart", "f8028000.serial", &usart3_clk),
CLKDEV_CON_DEV_ID("usart", "f8040000.serial", &uart0_clk),
CLKDEV_CON_DEV_ID("usart", "f8044000.serial", &uart1_clk),
CLKDEV_CON_DEV_ID("t0_clk", "f8008000.timer", &tcb0_clk), CLKDEV_CON_DEV_ID("t0_clk", "f8008000.timer", &tcb0_clk),
CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb0_clk), CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb0_clk),
CLKDEV_CON_DEV_ID("mci_clk", "f0008000.mmc", &mmc0_clk), CLKDEV_CON_DEV_ID("mci_clk", "f0008000.mmc", &mmc0_clk),
......
...@@ -75,6 +75,7 @@ static struct davinci_nand_pdata davinci_nand_data = { ...@@ -75,6 +75,7 @@ static struct davinci_nand_pdata davinci_nand_data = {
.parts = davinci_nand_partitions, .parts = davinci_nand_partitions,
.nr_parts = ARRAY_SIZE(davinci_nand_partitions), .nr_parts = ARRAY_SIZE(davinci_nand_partitions),
.ecc_mode = NAND_ECC_HW_SYNDROME, .ecc_mode = NAND_ECC_HW_SYNDROME,
.ecc_bits = 4,
.bbt_options = NAND_BBT_USE_FLASH, .bbt_options = NAND_BBT_USE_FLASH,
}; };
......
...@@ -153,6 +153,7 @@ static struct davinci_nand_pdata davinci_evm_nandflash_data = { ...@@ -153,6 +153,7 @@ static struct davinci_nand_pdata davinci_evm_nandflash_data = {
.parts = davinci_evm_nandflash_partition, .parts = davinci_evm_nandflash_partition,
.nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition), .nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition),
.ecc_mode = NAND_ECC_HW, .ecc_mode = NAND_ECC_HW,
.ecc_bits = 1,
.bbt_options = NAND_BBT_USE_FLASH, .bbt_options = NAND_BBT_USE_FLASH,
.timing = &davinci_evm_nandflash_timing, .timing = &davinci_evm_nandflash_timing,
}; };
......
...@@ -90,6 +90,7 @@ static struct davinci_nand_pdata davinci_nand_data = { ...@@ -90,6 +90,7 @@ static struct davinci_nand_pdata davinci_nand_data = {
.parts = davinci_nand_partitions, .parts = davinci_nand_partitions,
.nr_parts = ARRAY_SIZE(davinci_nand_partitions), .nr_parts = ARRAY_SIZE(davinci_nand_partitions),
.ecc_mode = NAND_ECC_HW, .ecc_mode = NAND_ECC_HW,
.ecc_bits = 1,
.options = 0, .options = 0,
}; };
......
...@@ -88,6 +88,7 @@ static struct davinci_nand_pdata davinci_ntosd2_nandflash_data = { ...@@ -88,6 +88,7 @@ static struct davinci_nand_pdata davinci_ntosd2_nandflash_data = {
.parts = davinci_ntosd2_nandflash_partition, .parts = davinci_ntosd2_nandflash_partition,
.nr_parts = ARRAY_SIZE(davinci_ntosd2_nandflash_partition), .nr_parts = ARRAY_SIZE(davinci_ntosd2_nandflash_partition),
.ecc_mode = NAND_ECC_HW, .ecc_mode = NAND_ECC_HW,
.ecc_bits = 1,
.bbt_options = NAND_BBT_USE_FLASH, .bbt_options = NAND_BBT_USE_FLASH,
}; };
......
...@@ -122,11 +122,7 @@ static struct musb_hdrc_config musb_config = { ...@@ -122,11 +122,7 @@ static struct musb_hdrc_config musb_config = {
}; };
static struct musb_hdrc_platform_data tusb_data = { static struct musb_hdrc_platform_data tusb_data = {
#ifdef CONFIG_USB_GADGET_MUSB_HDRC
.mode = MUSB_OTG, .mode = MUSB_OTG,
#else
.mode = MUSB_HOST,
#endif
.set_power = tusb_set_power, .set_power = tusb_set_power,
.min_power = 25, /* x2 = 50 mA drawn from VBUS as peripheral */ .min_power = 25, /* x2 = 50 mA drawn from VBUS as peripheral */
.power = 100, /* Max 100 mA VBUS for host mode */ .power = 100, /* Max 100 mA VBUS for host mode */
......
...@@ -85,7 +85,7 @@ static struct omap_board_mux board_mux[] __initdata = { ...@@ -85,7 +85,7 @@ static struct omap_board_mux board_mux[] __initdata = {
static struct omap_musb_board_data musb_board_data = { static struct omap_musb_board_data musb_board_data = {
.interface_type = MUSB_INTERFACE_ULPI, .interface_type = MUSB_INTERFACE_ULPI,
.mode = MUSB_PERIPHERAL, .mode = MUSB_OTG,
.power = 0, .power = 0,
}; };
......
...@@ -38,11 +38,8 @@ static struct musb_hdrc_config musb_config = { ...@@ -38,11 +38,8 @@ static struct musb_hdrc_config musb_config = {
}; };
static struct musb_hdrc_platform_data musb_plat = { static struct musb_hdrc_platform_data musb_plat = {
#ifdef CONFIG_USB_GADGET_MUSB_HDRC
.mode = MUSB_OTG, .mode = MUSB_OTG,
#else
.mode = MUSB_HOST,
#endif
/* .clock is set dynamically */ /* .clock is set dynamically */
.config = &musb_config, .config = &musb_config,
......
...@@ -55,11 +55,12 @@ void __init s3c_init_cpu(unsigned long idcode, ...@@ -55,11 +55,12 @@ void __init s3c_init_cpu(unsigned long idcode,
printk("CPU %s (id 0x%08lx)\n", cpu->name, idcode); printk("CPU %s (id 0x%08lx)\n", cpu->name, idcode);
if (cpu->map_io == NULL || cpu->init == NULL) { if (cpu->init == NULL) {
printk(KERN_ERR "CPU %s support not enabled\n", cpu->name); printk(KERN_ERR "CPU %s support not enabled\n", cpu->name);
panic("Unsupported Samsung CPU"); panic("Unsupported Samsung CPU");
} }
if (cpu->map_io)
cpu->map_io(); cpu->map_io();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment