mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5543/1: arm: serial amba: add missing declaration in serial.h [ARM] pxa: fix pxa27x_udc default pullup GPIO [ARM] pxa/imote2: fix UCAM sensor board ADC model number mx[23]: don't put clock lookups in __initdata fix oops when using console=ttymxcN with N > 0 [ARM] ARMv7 errata: only apply fixes when running on applicable CPU [ARM] 5534/1: kmalloc must return a cache line aligned buffer
This commit is contained in:
commit
6025974bab
11 changed files with 53 additions and 24 deletions
|
@ -7,4 +7,20 @@
|
||||||
#define L1_CACHE_SHIFT 5
|
#define L1_CACHE_SHIFT 5
|
||||||
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
|
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Memory returned by kmalloc() may be used for DMA, so we must make
|
||||||
|
* sure that all such allocations are cache aligned. Otherwise,
|
||||||
|
* unrelated code may cause parts of the buffer to be read into the
|
||||||
|
* cache before the transfer is done, causing old data to be seen by
|
||||||
|
* the CPU.
|
||||||
|
*/
|
||||||
|
#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES
|
||||||
|
|
||||||
|
/*
|
||||||
|
* With EABI on ARMv5 and above we must have 64-bit aligned slab pointers.
|
||||||
|
*/
|
||||||
|
#if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5)
|
||||||
|
#define ARCH_SLAB_MINALIGN 8
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -202,13 +202,6 @@ typedef struct page *pgtable_t;
|
||||||
(((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
|
(((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
|
||||||
VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
|
VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
|
||||||
|
|
||||||
/*
|
|
||||||
* With EABI on ARMv5 and above we must have 64-bit aligned slab pointers.
|
|
||||||
*/
|
|
||||||
#if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5)
|
|
||||||
#define ARCH_SLAB_MINALIGN 8
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <asm-generic/page.h>
|
#include <asm-generic/page.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -890,7 +890,7 @@ static struct clk clko_clk = {
|
||||||
.con_id = n, \
|
.con_id = n, \
|
||||||
.clk = &c, \
|
.clk = &c, \
|
||||||
},
|
},
|
||||||
static struct clk_lookup lookups[] __initdata = {
|
static struct clk_lookup lookups[] = {
|
||||||
/* It's unlikely that any driver wants one of them directly:
|
/* It's unlikely that any driver wants one of them directly:
|
||||||
_REGISTER_CLOCK(NULL, "ckih", ckih_clk)
|
_REGISTER_CLOCK(NULL, "ckih", ckih_clk)
|
||||||
_REGISTER_CLOCK(NULL, "ckil", ckil_clk)
|
_REGISTER_CLOCK(NULL, "ckil", ckil_clk)
|
||||||
|
|
|
@ -621,7 +621,7 @@ DEFINE_CLOCK1(csi_clk, 0, 0, 0, parent, &csi_clk1, &per4_clk);
|
||||||
.clk = &c, \
|
.clk = &c, \
|
||||||
},
|
},
|
||||||
|
|
||||||
static struct clk_lookup lookups[] __initdata = {
|
static struct clk_lookup lookups[] = {
|
||||||
_REGISTER_CLOCK("imx-uart.0", NULL, uart1_clk)
|
_REGISTER_CLOCK("imx-uart.0", NULL, uart1_clk)
|
||||||
_REGISTER_CLOCK("imx-uart.1", NULL, uart2_clk)
|
_REGISTER_CLOCK("imx-uart.1", NULL, uart2_clk)
|
||||||
_REGISTER_CLOCK("imx-uart.2", NULL, uart3_clk)
|
_REGISTER_CLOCK("imx-uart.2", NULL, uart3_clk)
|
||||||
|
|
|
@ -404,7 +404,7 @@ DEFINE_CLOCK(gpu2d_clk, 0, CCM_CGR3, 4, NULL, NULL);
|
||||||
.clk = &c, \
|
.clk = &c, \
|
||||||
},
|
},
|
||||||
|
|
||||||
static struct clk_lookup lookups[] __initdata = {
|
static struct clk_lookup lookups[] = {
|
||||||
_REGISTER_CLOCK(NULL, "asrc", asrc_clk)
|
_REGISTER_CLOCK(NULL, "asrc", asrc_clk)
|
||||||
_REGISTER_CLOCK(NULL, "ata", ata_clk)
|
_REGISTER_CLOCK(NULL, "ata", ata_clk)
|
||||||
_REGISTER_CLOCK(NULL, "audmux", audmux_clk)
|
_REGISTER_CLOCK(NULL, "audmux", audmux_clk)
|
||||||
|
|
|
@ -516,7 +516,7 @@ DEFINE_CLOCK(ipg_clk, 0, NULL, 0, ipg_get_rate, NULL, &ahb_clk);
|
||||||
.clk = &c, \
|
.clk = &c, \
|
||||||
},
|
},
|
||||||
|
|
||||||
static struct clk_lookup lookups[] __initdata = {
|
static struct clk_lookup lookups[] = {
|
||||||
_REGISTER_CLOCK(NULL, "emi", emi_clk)
|
_REGISTER_CLOCK(NULL, "emi", emi_clk)
|
||||||
_REGISTER_CLOCK(NULL, "cspi", cspi1_clk)
|
_REGISTER_CLOCK(NULL, "cspi", cspi1_clk)
|
||||||
_REGISTER_CLOCK(NULL, "cspi", cspi2_clk)
|
_REGISTER_CLOCK(NULL, "cspi", cspi2_clk)
|
||||||
|
|
|
@ -72,7 +72,10 @@ void __init pxa_set_mci_info(struct pxamci_platform_data *info)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct pxa2xx_udc_mach_info pxa_udc_info;
|
static struct pxa2xx_udc_mach_info pxa_udc_info = {
|
||||||
|
.gpio_pullup = -1,
|
||||||
|
.gpio_vbus = -1,
|
||||||
|
};
|
||||||
|
|
||||||
void __init pxa_set_udc_info(struct pxa2xx_udc_mach_info *info)
|
void __init pxa_set_udc_info(struct pxa2xx_udc_mach_info *info)
|
||||||
{
|
{
|
||||||
|
|
|
@ -412,7 +412,7 @@ static struct platform_device imote2_flash_device = {
|
||||||
*/
|
*/
|
||||||
static struct i2c_board_info __initdata imote2_i2c_board_info[] = {
|
static struct i2c_board_info __initdata imote2_i2c_board_info[] = {
|
||||||
{ /* UCAM sensor board */
|
{ /* UCAM sensor board */
|
||||||
.type = "max1238",
|
.type = "max1239",
|
||||||
.addr = 0x35,
|
.addr = 0x35,
|
||||||
}, { /* ITS400 Sensor board only */
|
}, { /* ITS400 Sensor board only */
|
||||||
.type = "max1363",
|
.type = "max1363",
|
||||||
|
|
|
@ -184,23 +184,37 @@ __v7_setup:
|
||||||
stmia r12, {r0-r5, r7, r9, r11, lr}
|
stmia r12, {r0-r5, r7, r9, r11, lr}
|
||||||
bl v7_flush_dcache_all
|
bl v7_flush_dcache_all
|
||||||
ldmia r12, {r0-r5, r7, r9, r11, lr}
|
ldmia r12, {r0-r5, r7, r9, r11, lr}
|
||||||
|
|
||||||
|
mrc p15, 0, r0, c0, c0, 0 @ read main ID register
|
||||||
|
and r10, r0, #0xff000000 @ ARM?
|
||||||
|
teq r10, #0x41000000
|
||||||
|
bne 2f
|
||||||
|
and r5, r0, #0x00f00000 @ variant
|
||||||
|
and r6, r0, #0x0000000f @ revision
|
||||||
|
orr r0, r6, r5, lsr #20-4 @ combine variant and revision
|
||||||
|
|
||||||
#ifdef CONFIG_ARM_ERRATA_430973
|
#ifdef CONFIG_ARM_ERRATA_430973
|
||||||
mrc p15, 0, r10, c1, c0, 1 @ read aux control register
|
teq r5, #0x00100000 @ only present in r1p*
|
||||||
orr r10, r10, #(1 << 6) @ set IBE to 1
|
mrceq p15, 0, r10, c1, c0, 1 @ read aux control register
|
||||||
mcr p15, 0, r10, c1, c0, 1 @ write aux control register
|
orreq r10, r10, #(1 << 6) @ set IBE to 1
|
||||||
|
mcreq p15, 0, r10, c1, c0, 1 @ write aux control register
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARM_ERRATA_458693
|
#ifdef CONFIG_ARM_ERRATA_458693
|
||||||
mrc p15, 0, r10, c1, c0, 1 @ read aux control register
|
teq r0, #0x20 @ only present in r2p0
|
||||||
orr r10, r10, #(1 << 5) @ set L1NEON to 1
|
mrceq p15, 0, r10, c1, c0, 1 @ read aux control register
|
||||||
orr r10, r10, #(1 << 9) @ set PLDNOP to 1
|
orreq r10, r10, #(1 << 5) @ set L1NEON to 1
|
||||||
mcr p15, 0, r10, c1, c0, 1 @ write aux control register
|
orreq r10, r10, #(1 << 9) @ set PLDNOP to 1
|
||||||
|
mcreq p15, 0, r10, c1, c0, 1 @ write aux control register
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARM_ERRATA_460075
|
#ifdef CONFIG_ARM_ERRATA_460075
|
||||||
mrc p15, 1, r10, c9, c0, 2 @ read L2 cache aux ctrl register
|
teq r0, #0x20 @ only present in r2p0
|
||||||
orr r10, r10, #(1 << 22) @ set the Write Allocate disable bit
|
mrceq p15, 1, r10, c9, c0, 2 @ read L2 cache aux ctrl register
|
||||||
mcr p15, 1, r10, c9, c0, 2 @ write the L2 cache aux ctrl register
|
tsteq r10, #1 << 22
|
||||||
|
orreq r10, r10, #(1 << 22) @ set the Write Allocate disable bit
|
||||||
|
mcreq p15, 1, r10, c9, c0, 2 @ write the L2 cache aux ctrl register
|
||||||
#endif
|
#endif
|
||||||
mov r10, #0
|
|
||||||
|
2: mov r10, #0
|
||||||
#ifdef HARVARD_CACHE
|
#ifdef HARVARD_CACHE
|
||||||
mcr p15, 0, r10, c7, c5, 0 @ I+BTB cache invalidate
|
mcr p15, 0, r10, c7, c5, 0 @ I+BTB cache invalidate
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1031,6 +1031,8 @@ imx_console_setup(struct console *co, char *options)
|
||||||
if (co->index == -1 || co->index >= ARRAY_SIZE(imx_ports))
|
if (co->index == -1 || co->index >= ARRAY_SIZE(imx_ports))
|
||||||
co->index = 0;
|
co->index = 0;
|
||||||
sport = imx_ports[co->index];
|
sport = imx_ports[co->index];
|
||||||
|
if(sport == NULL)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
if (options)
|
if (options)
|
||||||
uart_parse_options(options, &baud, &parity, &bits, &flow);
|
uart_parse_options(options, &baud, &parity, &bits, &flow);
|
||||||
|
|
|
@ -159,6 +159,7 @@
|
||||||
#define UART01x_FR_MODEM_ANY (UART01x_FR_DCD|UART01x_FR_DSR|UART01x_FR_CTS)
|
#define UART01x_FR_MODEM_ANY (UART01x_FR_DCD|UART01x_FR_DSR|UART01x_FR_CTS)
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
struct amba_device; /* in uncompress this is included but amba/bus.h is not */
|
||||||
struct amba_pl010_data {
|
struct amba_pl010_data {
|
||||||
void (*set_mctrl)(struct amba_device *dev, void __iomem *base, unsigned int mctrl);
|
void (*set_mctrl)(struct amba_device *dev, void __iomem *base, unsigned int mctrl);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue