diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boards/freescale-mx53-loco/flash_header.c | 6 | ||||
-rw-r--r-- | arch/arm/boards/omap/board-beagle.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/omap/board-omap3evm.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/omap/board-sdp343x.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/panda/board.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/pcm038/pll.h | 2 | ||||
-rw-r--r-- | arch/arm/boards/pcm043/lowlevel.c | 15 | ||||
-rw-r--r-- | arch/arm/boards/pcm049/board.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx51.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/iomux-mx25.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-nomadik/8815.c | 1 | ||||
-rw-r--r-- | commands/Kconfig | 1 | ||||
-rw-r--r-- | commands/login.c | 6 | ||||
-rw-r--r-- | drivers/mci/mxs.c | 2 | ||||
-rw-r--r-- | drivers/usb/core/usb.c | 10 | ||||
-rw-r--r-- | include/linux/list.h | 2 |
17 files changed, 44 insertions, 12 deletions
@@ -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. * |