summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--arch/arm/boards/freescale-mx53-loco/flash_header.c6
-rw-r--r--arch/arm/boards/omap/board-beagle.c1
-rw-r--r--arch/arm/boards/omap/board-omap3evm.c1
-rw-r--r--arch/arm/boards/omap/board-sdp343x.c1
-rw-r--r--arch/arm/boards/panda/board.c1
-rw-r--r--arch/arm/boards/pcm038/pll.h2
-rw-r--r--arch/arm/boards/pcm043/lowlevel.c15
-rw-r--r--arch/arm/boards/pcm049/board.c1
-rw-r--r--arch/arm/mach-imx/imx51.c2
-rw-r--r--arch/arm/mach-imx/include/mach/iomux-mx25.h2
-rw-r--r--arch/arm/mach-nomadik/8815.c1
-rw-r--r--commands/Kconfig1
-rw-r--r--commands/login.c6
-rw-r--r--drivers/mci/mxs.c2
-rw-r--r--drivers/usb/core/usb.c10
-rw-r--r--include/linux/list.h2
17 files changed, 44 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 5843db5ceb..5414e63136 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
VERSION = 2011
-PATCHLEVEL = 08
+PATCHLEVEL = 10
SUBLEVEL = 0
EXTRAVERSION =
NAME = Amissive Actinocutious Kiwi
diff --git a/arch/arm/boards/freescale-mx53-loco/flash_header.c b/arch/arm/boards/freescale-mx53-loco/flash_header.c
index d6ff898711..490e223f0e 100644
--- a/arch/arm/boards/freescale-mx53-loco/flash_header.c
+++ b/arch/arm/boards/freescale-mx53-loco/flash_header.c
@@ -63,14 +63,14 @@ struct imx_dcd_v2_entry __dcd_entry_section dcd_entry[] = {
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00008032), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00008033), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00028031), },
- { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x092080b0), },
+ { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x052080b0), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x04008040), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x0000803a), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x0000803b), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00028039), },
- { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x09208138), },
+ { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x05208138), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x04008048), },
- { .addr = cpu_to_be32(0x63fd9020), .val = cpu_to_be32(0x00001800), },
+ { .addr = cpu_to_be32(0x63fd9020), .val = cpu_to_be32(0x00005800), },
{ .addr = cpu_to_be32(0x63fd9040), .val = cpu_to_be32(0x04b80003), },
{ .addr = cpu_to_be32(0x63fd9058), .val = cpu_to_be32(0x00022227), },
{ .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00000000), },
diff --git a/arch/arm/boards/omap/board-beagle.c b/arch/arm/boards/omap/board-beagle.c
index e63d7b7240..bfb08f7042 100644
--- a/arch/arm/boards/omap/board-beagle.c
+++ b/arch/arm/boards/omap/board-beagle.c
@@ -237,6 +237,7 @@ void board_init(void)
static struct NS16550_plat serial_plat = {
.clock = 48000000, /* 48MHz (APLL96/2) */
+ .shift = 2,
};
/**
diff --git a/arch/arm/boards/omap/board-omap3evm.c b/arch/arm/boards/omap/board-omap3evm.c
index bbf0d8108b..d2f041ad71 100644
--- a/arch/arm/boards/omap/board-omap3evm.c
+++ b/arch/arm/boards/omap/board-omap3evm.c
@@ -213,6 +213,7 @@ void board_init(void)
static struct NS16550_plat serial_plat = {
.clock = 48000000, /* 48MHz (APLL96/2) */
+ .shift = 2,
};
/**
diff --git a/arch/arm/boards/omap/board-sdp343x.c b/arch/arm/boards/omap/board-sdp343x.c
index 5a8ef1681a..d486c20d74 100644
--- a/arch/arm/boards/omap/board-sdp343x.c
+++ b/arch/arm/boards/omap/board-sdp343x.c
@@ -605,6 +605,7 @@ static void mux_config(void)
static struct NS16550_plat serial_plat = {
.clock = 48000000, /* 48MHz (APLL96/2) */
+ .shift = 2,
};
/**
diff --git a/arch/arm/boards/panda/board.c b/arch/arm/boards/panda/board.c
index dfe774fd75..6a149aaeaa 100644
--- a/arch/arm/boards/panda/board.c
+++ b/arch/arm/boards/panda/board.c
@@ -32,6 +32,7 @@ static int board_revision;
static struct NS16550_plat serial_plat = {
.clock = 48000000, /* 48MHz (APLL96/2) */
+ .shift = 2,
};
static int panda_console_init(void)
diff --git a/arch/arm/boards/pcm038/pll.h b/arch/arm/boards/pcm038/pll.h
index 13a7989cb5..15b94cfe6a 100644
--- a/arch/arm/boards/pcm038/pll.h
+++ b/arch/arm/boards/pcm038/pll.h
@@ -36,6 +36,7 @@
CSCR_MCU_SEL | /* 26 MHz reference */ \
CSCR_ARM_DIV(0) | /* CPU runs at MPLL/3 clock */ \
CSCR_AHB_DIV(1) | /* AHB runs at MPLL/6 clock */ \
+ CSCR_FPM_EN | \
CSCR_SPEN | \
CSCR_MPEN)
@@ -51,6 +52,7 @@
CSCR_ARM_SRC_MPLL | /* use main MPLL clock */ \
CSCR_ARM_DIV(0) | /* CPU run at full MPLL clock */ \
CSCR_AHB_DIV(1) | /* AHB runs at MPLL/6 clock */ \
+ CSCR_FPM_EN | /* do not disable it! */ \
CSCR_SPEN | \
CSCR_MPEN)
diff --git a/arch/arm/boards/pcm043/lowlevel.c b/arch/arm/boards/pcm043/lowlevel.c
index 54cc66bc6f..40e3204425 100644
--- a/arch/arm/boards/pcm043/lowlevel.c
+++ b/arch/arm/boards/pcm043/lowlevel.c
@@ -37,6 +37,11 @@
#define MPCTL_PARAM_532 ((1 << 31) | IMX_PLL_PD(0) | IMX_PLL_MFD(11) | IMX_PLL_MFI(11) | IMX_PLL_MFN(1))
#define PPCTL_PARAM_300 (IMX_PLL_PD(0) | IMX_PLL_MFD(3) | IMX_PLL_MFI(6) | IMX_PLL_MFN(1))
+#define IMX35_CHIP_REVISION_2_1 0x11
+
+#define CCM_PDR0_399 0x00011000
+#define CCM_PDR0_532 0x00001000
+
#ifdef CONFIG_NAND_IMX_BOOT
static void __bare_init __naked insdram(void)
{
@@ -111,7 +116,13 @@ void __bare_init __naked board_init_lowlevel(void)
writel(MPCTL_PARAM_532, ccm_base + CCM_MPCTL);
writel(PPCTL_PARAM_300, ccm_base + CCM_PPCTL);
- writel(0x00001000, ccm_base + CCM_PDR0);
+
+ /* Check silicon revision and use 532MHz if >=2.1 */
+ r = readl(IMX_IIM_BASE + 0x24);
+ if (r >= IMX35_CHIP_REVISION_2_1)
+ writel(CCM_PDR0_532, ccm_base + CCM_PDR0);
+ else
+ writel(CCM_PDR0_399, ccm_base + CCM_PDR0);
r = readl(ccm_base + CCM_CGR0);
r |= 0x00300000;
@@ -146,7 +157,7 @@ void __bare_init __naked board_init_lowlevel(void)
writel(0x00000304, ESDMISC); /* was 0x00000004 */
/* set timing paramters */
- writel(0x00255417, ESDCFG0);
+ writel(0x0025541F, ESDCFG0);
/* select Precharge-All mode */
writel(0x92220000, ESDCTL0);
/* Precharge-All */
diff --git a/arch/arm/boards/pcm049/board.c b/arch/arm/boards/pcm049/board.c
index 58f09f6ec2..8de333f0d9 100644
--- a/arch/arm/boards/pcm049/board.c
+++ b/arch/arm/boards/pcm049/board.c
@@ -43,6 +43,7 @@
static struct NS16550_plat serial_plat = {
.clock = 48000000, /* 48MHz (APLL96/2) */
+ .shift = 2,
};
static int pcm049_console_init(void)
diff --git a/arch/arm/mach-imx/imx51.c b/arch/arm/mach-imx/imx51.c
index 0600a9d06b..2c1efed150 100644
--- a/arch/arm/mach-imx/imx51.c
+++ b/arch/arm/mach-imx/imx51.c
@@ -25,7 +25,7 @@
#include "gpio.h"
void *imx_gpio_base[] = {
- (void *)0x87f84000,
+ (void *)0x73f84000,
(void *)0x73f88000,
(void *)0x73f8c000,
(void *)0x73f90000,
diff --git a/arch/arm/mach-imx/include/mach/iomux-mx25.h b/arch/arm/mach-imx/include/mach/iomux-mx25.h
index e636c7f665..ae29323dae 100644
--- a/arch/arm/mach-imx/include/mach/iomux-mx25.h
+++ b/arch/arm/mach-imx/include/mach/iomux-mx25.h
@@ -425,7 +425,7 @@
#define MX25_PAD_FEC_MDC__AUD4_TXD IOMUX_PAD(0x3c0, 0x1c8, 0x02, 0x464, 1, NO_PAD_CTRL)
#define MX25_PAD_FEC_MDC__GPIO_3_5 IOMUX_PAD(0x3c0, 0x1c8, 0x05, 0, 0, NO_PAD_CTRL)
-#define MX25_PAD_FEC_MDIO__FEC_MDIO IOMUX_PAD(0x3c4, 0x1cc, 0x00, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP | PAD_CTL_PUE)
+#define MX25_PAD_FEC_MDIO__FEC_MDIO IOMUX_PAD(0x3c4, 0x1cc, 0x00, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP | PAD_CTL_PUE | PAD_CTL_PKE)
#define MX25_PAD_FEC_MDIO__AUD4_RXD IOMUX_PAD(0x3c4, 0x1cc, 0x02, 0x460, 1, NO_PAD_CTRL)
#define MX25_PAD_FEC_MDIO__GPIO_3_6 IOMUX_PAD(0x3c4, 0x1cc, 0x05, 0, 0, NO_PAD_CTRL)
diff --git a/arch/arm/mach-nomadik/8815.c b/arch/arm/mach-nomadik/8815.c
index 69aacd5766..e3855981fd 100644
--- a/arch/arm/mach-nomadik/8815.c
+++ b/arch/arm/mach-nomadik/8815.c
@@ -20,6 +20,7 @@
#include <common.h>
#include <init.h>
+#include <linux/clkdev.h>
#include <asm/hardware.h>
#include <mach/hardware.h>
#include <asm/armlinux.h>
diff --git a/commands/Kconfig b/commands/Kconfig
index 39bdb0f619..f2b61bd808 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -272,6 +272,7 @@ config CMD_FLASH
config CMD_UBI
tristate
default y if UBI
+ depends on UBI
prompt "ubimkvol, ubirmvol, ubiattach"
endmenu
diff --git a/commands/login.c b/commands/login.c
index 610fb9ed73..3f6d3082ef 100644
--- a/commands/login.c
+++ b/commands/login.c
@@ -71,9 +71,9 @@ static int do_login(struct command *cmdtp, int argc, char *argv[])
}
static const __maybe_unused char cmd_login_help[] =
-"Usage: login [[-t timeout] <command>]\n"
-"If a timeout is specified and expired the command will be executed\n"
-"by default boot\n"
+"Usage: login [-t timeout [<command>]]\n"
+"If a timeout is specified and expired the command will be executed;\n"
+"\"boot\" by default\n"
;
BAREBOX_CMD_START(login)
diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c
index d747ad1b17..4b8bd75b34 100644
--- a/drivers/mci/mxs.c
+++ b/drivers/mci/mxs.c
@@ -702,7 +702,7 @@ static int mxs_mci_probe(struct device_d *hw_dev)
host->send_cmd = mxs_mci_request;
host->set_ios = mxs_mci_set_ios;
host->init = mxs_mci_initialize;
- mxs_mci->regs = dev_request_mem_region(dev, 0);
+ mxs_mci->regs = dev_request_mem_region(hw_dev, 0);
/* feed forward the platform specific values */
host->voltages = pd->voltages;
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 67c20166d7..7039a2cb75 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -208,6 +208,16 @@ static int usb_parse_config(struct usb_device *dev, unsigned char *buffer, int c
&buffer[index])->bInterfaceNumber != curr_if_num) {
/* this is a new interface, copy new desc */
ifno = dev->config.no_of_if;
+ /* if ifno > USB_MAXINTERFACES, then
+ * next memcpy() will corrupt dev->config
+ */
+ if (ifno > USB_MAXINTERFACES) {
+ printf("ifno = %d > "
+ "USB_MAXINTERFACES = %d !\n",
+ ifno,
+ USB_MAXINTERFACES);
+ break;
+ }
dev->config.no_of_if++;
memcpy(&dev->config.if_desc[ifno],
&buffer[index], buffer[index]);
diff --git a/include/linux/list.h b/include/linux/list.h
index 8af1eeb3b2..1a4cbc49a2 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -1,6 +1,8 @@
#ifndef _LINUX_LIST_H
#define _LINUX_LIST_H
+#include <linux/stddef.h> /* for NULL */
+
/*
* Simple doubly linked list implementation.
*