Merge branch 'highbank/soc' into next/soc
Conflicts: arch/arm/mach-mxs/include/mach/gpio.h arch/arm/mach-omap2/board-generic.c arch/arm/plat-mxc/include/mach/gpio.h
This commit is contained in:
commit
884897e6a1
303 changed files with 3024 additions and 2085 deletions
|
@ -161,7 +161,6 @@ struct expansion_card {
|
|||
|
||||
/* Private internal data */
|
||||
const char *card_desc; /* Card description */
|
||||
CONST unsigned int podaddr; /* Base Linux address for card */
|
||||
CONST loader_t loader; /* loader program */
|
||||
u64 dma_mask;
|
||||
};
|
||||
|
|
|
@ -4,4 +4,23 @@
|
|||
/* not all ARM platforms necessarily support this API ... */
|
||||
#include <mach/gpio.h>
|
||||
|
||||
#ifndef __ARM_GPIOLIB_COMPLEX
|
||||
/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */
|
||||
#include <asm-generic/gpio.h>
|
||||
|
||||
/* The trivial gpiolib dispatchers */
|
||||
#define gpio_get_value __gpio_get_value
|
||||
#define gpio_set_value __gpio_set_value
|
||||
#define gpio_cansleep __gpio_cansleep
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Provide a default gpio_to_irq() which should satisfy every case.
|
||||
* However, some platforms want to do this differently, so allow them
|
||||
* to override it.
|
||||
*/
|
||||
#ifndef gpio_to_irq
|
||||
#define gpio_to_irq __gpio_to_irq
|
||||
#endif
|
||||
|
||||
#endif /* _ARCH_ARM_GPIO_H */
|
||||
|
|
|
@ -52,6 +52,8 @@
|
|||
#define L2X0_LOCKDOWN_WAY_D_BASE 0x900
|
||||
#define L2X0_LOCKDOWN_WAY_I_BASE 0x904
|
||||
#define L2X0_LOCKDOWN_STRIDE 0x08
|
||||
#define L2X0_ADDR_FILTER_START 0xC00
|
||||
#define L2X0_ADDR_FILTER_END 0xC04
|
||||
#define L2X0_TEST_OPERATION 0xF00
|
||||
#define L2X0_LINE_DATA 0xF10
|
||||
#define L2X0_LINE_TAG 0xF30
|
||||
|
@ -65,8 +67,23 @@
|
|||
#define L2X0_CACHE_ID_PART_MASK (0xf << 6)
|
||||
#define L2X0_CACHE_ID_PART_L210 (1 << 6)
|
||||
#define L2X0_CACHE_ID_PART_L310 (3 << 6)
|
||||
#define L2X0_CACHE_ID_RTL_MASK 0x3f
|
||||
#define L2X0_CACHE_ID_RTL_R0P0 0x0
|
||||
#define L2X0_CACHE_ID_RTL_R1P0 0x2
|
||||
#define L2X0_CACHE_ID_RTL_R2P0 0x4
|
||||
#define L2X0_CACHE_ID_RTL_R3P0 0x5
|
||||
#define L2X0_CACHE_ID_RTL_R3P1 0x6
|
||||
#define L2X0_CACHE_ID_RTL_R3P2 0x8
|
||||
|
||||
#define L2X0_AUX_CTRL_MASK 0xc0000fff
|
||||
#define L2X0_AUX_CTRL_DATA_RD_LATENCY_SHIFT 0
|
||||
#define L2X0_AUX_CTRL_DATA_RD_LATENCY_MASK 0x7
|
||||
#define L2X0_AUX_CTRL_DATA_WR_LATENCY_SHIFT 3
|
||||
#define L2X0_AUX_CTRL_DATA_WR_LATENCY_MASK (0x7 << 3)
|
||||
#define L2X0_AUX_CTRL_TAG_LATENCY_SHIFT 6
|
||||
#define L2X0_AUX_CTRL_TAG_LATENCY_MASK (0x7 << 6)
|
||||
#define L2X0_AUX_CTRL_DIRTY_LATENCY_SHIFT 9
|
||||
#define L2X0_AUX_CTRL_DIRTY_LATENCY_MASK (0x7 << 9)
|
||||
#define L2X0_AUX_CTRL_ASSOCIATIVITY_SHIFT 16
|
||||
#define L2X0_AUX_CTRL_WAY_SIZE_SHIFT 17
|
||||
#define L2X0_AUX_CTRL_WAY_SIZE_MASK (0x7 << 17)
|
||||
|
@ -77,8 +94,40 @@
|
|||
#define L2X0_AUX_CTRL_INSTR_PREFETCH_SHIFT 29
|
||||
#define L2X0_AUX_CTRL_EARLY_BRESP_SHIFT 30
|
||||
|
||||
#define L2X0_LATENCY_CTRL_SETUP_SHIFT 0
|
||||
#define L2X0_LATENCY_CTRL_RD_SHIFT 4
|
||||
#define L2X0_LATENCY_CTRL_WR_SHIFT 8
|
||||
|
||||
#define L2X0_ADDR_FILTER_EN 1
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask);
|
||||
#if defined(CONFIG_CACHE_L2X0) && defined(CONFIG_OF)
|
||||
extern int l2x0_of_init(__u32 aux_val, __u32 aux_mask);
|
||||
#else
|
||||
static inline int l2x0_of_init(__u32 aux_val, __u32 aux_mask)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct l2x0_regs {
|
||||
unsigned long phy_base;
|
||||
unsigned long aux_ctrl;
|
||||
/*
|
||||
* Whether the following registers need to be saved/restored
|
||||
* depends on platform
|
||||
*/
|
||||
unsigned long tag_latency;
|
||||
unsigned long data_latency;
|
||||
unsigned long filter_start;
|
||||
unsigned long filter_end;
|
||||
unsigned long prefetch_ctrl;
|
||||
unsigned long pwr_ctrl;
|
||||
};
|
||||
|
||||
extern struct l2x0_regs l2x0_saved_regs;
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#include <mach/hardware.h>
|
||||
#include <asm-generic/gpio.h>
|
||||
|
||||
#define __ARM_GPIOLIB_COMPLEX
|
||||
|
||||
#define IOP3XX_N_GPIOS 8
|
||||
|
||||
static inline int gpio_get_value(unsigned gpio)
|
||||
|
|
|
@ -109,6 +109,27 @@ static inline void __iomem *__typesafe_io(unsigned long addr)
|
|||
*/
|
||||
#include <mach/io.h>
|
||||
|
||||
/*
|
||||
* This is the limit of PC card/PCI/ISA IO space, which is by default
|
||||
* 64K if we have PC card, PCI or ISA support. Otherwise, default to
|
||||
* zero to prevent ISA/PCI drivers claiming IO space (and potentially
|
||||
* oopsing.)
|
||||
*
|
||||
* Only set this larger if you really need inb() et.al. to operate over
|
||||
* a larger address space. Note that SOC_COMMON ioremaps each sockets
|
||||
* IO space area, and so inb() et.al. must be defined to operate as per
|
||||
* readb() et.al. on such platforms.
|
||||
*/
|
||||
#ifndef IO_SPACE_LIMIT
|
||||
#if defined(CONFIG_PCMCIA_SOC_COMMON) || defined(CONFIG_PCMCIA_SOC_COMMON_MODULE)
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0xffffffff)
|
||||
#elif defined(CONFIG_PCI) || defined(CONFIG_ISA) || defined(CONFIG_PCCARD)
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0xffff)
|
||||
#else
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IO port access primitives
|
||||
* -------------------------
|
||||
|
|
|
@ -34,6 +34,7 @@ struct outer_cache_fns {
|
|||
void (*sync)(void);
|
||||
#endif
|
||||
void (*set_debug)(unsigned long);
|
||||
void (*resume)(void);
|
||||
};
|
||||
|
||||
#ifdef CONFIG_OUTER_CACHE
|
||||
|
@ -74,6 +75,12 @@ static inline void outer_disable(void)
|
|||
outer_cache.disable();
|
||||
}
|
||||
|
||||
static inline void outer_resume(void)
|
||||
{
|
||||
if (outer_cache.resume)
|
||||
outer_cache.resume();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static inline void outer_inv_range(phys_addr_t start, phys_addr_t end)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue