Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
OpenBMC Firmware
talos-obmc-linux
Commits
be15cd72
Commit
be15cd72
authored
19 years ago
by
Linus Torvalds
Browse files
Options
Download
Plain Diff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
parents
e9d52234
37d07b72
Changes
37
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
114 additions
and
71 deletions
+114
-71
include/asm-arm/arch-ixp2000/memory.h
include/asm-arm/arch-ixp2000/memory.h
+1
-1
include/asm-arm/arch-ixp2000/platform.h
include/asm-arm/arch-ixp2000/platform.h
+25
-25
include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
+49
-26
include/asm-arm/arch-ixp4xx/memory.h
include/asm-arm/arch-ixp4xx/memory.h
+1
-1
include/asm-arm/arch-l7200/memory.h
include/asm-arm/arch-l7200/memory.h
+1
-1
include/asm-arm/arch-lh7a40x/memory.h
include/asm-arm/arch-lh7a40x/memory.h
+1
-1
include/asm-arm/arch-omap/memory.h
include/asm-arm/arch-omap/memory.h
+3
-3
include/asm-arm/arch-pxa/memory.h
include/asm-arm/arch-pxa/memory.h
+1
-1
include/asm-arm/arch-rpc/memory.h
include/asm-arm/arch-rpc/memory.h
+1
-1
include/asm-arm/arch-s3c2410/memory.h
include/asm-arm/arch-s3c2410/memory.h
+2
-2
include/asm-arm/arch-sa1100/memory.h
include/asm-arm/arch-sa1100/memory.h
+1
-1
include/asm-arm/arch-shark/memory.h
include/asm-arm/arch-shark/memory.h
+1
-1
include/asm-arm/arch-versatile/memory.h
include/asm-arm/arch-versatile/memory.h
+1
-1
include/asm-arm/mach/arch.h
include/asm-arm/mach/arch.h
+1
-0
include/asm-arm/mach/flash.h
include/asm-arm/mach/flash.h
+2
-0
include/asm-arm/mach/map.h
include/asm-arm/mach/map.h
+2
-2
include/asm-arm/memory.h
include/asm-arm/memory.h
+21
-4
No files found.
include/asm-arm/arch-ixp2000/memory.h
View file @
be15cd72
...
...
@@ -13,7 +13,7 @@
#ifndef __ASM_ARCH_MEMORY_H
#define __ASM_ARCH_MEMORY_H
#define PHYS_OFFSET (0x00000000
UL
)
#define PHYS_OFFSET
UL
(0x00000000)
/*
* Virtual view <-> DMA view memory address translations
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-ixp2000/platform.h
View file @
be15cd72
...
...
@@ -15,40 +15,40 @@
#ifndef __ASSEMBLY__
static
inline
unsigned
long
ixp2000_reg_read
(
volatile
void
*
reg
)
{
return
*
((
volatile
unsigned
long
*
)
reg
);
}
static
inline
void
ixp2000_reg_write
(
volatile
void
*
reg
,
unsigned
long
val
)
{
*
((
volatile
unsigned
long
*
)
reg
)
=
val
;
}
/*
* The IXP2400 B0 silicon contains an erratum (#66) that causes writes
* to on-chip I/O register to not complete fully. What this means is
* that if you have a write to on-chip I/O followed by a back-to-back
* read or write, the first write will happen twice. OR...if it's
* not a back-to-back transaction, the read or write will generate
* incorrect data.
*
* The official work around for this is to set the on-chip I/O regions
* as XCB=101 and then force a read-back from the register.
* On the IXP2400, we can't use XCB=000 due to chip bugs. We use
* XCB=101 instead, but that makes all I/O accesses bufferable. This
* is not a problem in general, but we do have to be slightly more
* careful because I/O writes are no longer automatically flushed out
* of the write buffer.
*
* In cases where we want to make sure that a write has been flushed
* out of the write buffer before we proceed, for example when masking
* a device interrupt before re-enabling IRQs in CPSR, we can use this
* function, ixp2000_reg_wrb, which performs a write, a readback, and
* issues a dummy instruction dependent on the value of the readback
* (mov rX, rX) to make sure that the readback has completed before we
* continue.
*/
#if defined(CONFIG_ARCH_ENP2611) || defined(CONFIG_ARCH_IXDP2400) || defined(CONFIG_ARCH_IXDP2401)
#include <asm/system.h>
/* Pickup local_irq_ functions */
static
inline
void
ixp2000_reg_write
(
volatile
void
*
reg
,
unsigned
long
val
)
static
inline
void
ixp2000_reg_wrb
(
volatile
void
*
reg
,
unsigned
long
val
)
{
unsigned
long
dummy
;
unsigned
long
flags
;
local_irq_save
(
flags
);
*
((
volatile
unsigned
long
*
)
reg
)
=
val
;
barrier
();
dummy
=
*
((
volatile
unsigned
long
*
)
reg
);
local_irq_restore
(
flags
);
}
#else
static
inline
void
ixp2000_reg_write
(
volatile
void
*
reg
,
unsigned
long
val
)
{
*
((
volatile
unsigned
long
*
)
reg
)
=
val
;
__asm__
__volatile__
(
"mov %0, %0"
:
"+r"
(
dummy
));
}
#endif
/* IXDP2400 || IXDP2401 */
#define ixp2000_reg_read(reg) (*((volatile unsigned long *)reg))
/*
* Boards may multiplex different devices on the 2nd channel of
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
View file @
be15cd72
...
...
@@ -36,11 +36,11 @@
*
* 0x6000000 0x00004000 ioremap'd QMgr
*
* 0xC0000000 0x00001000 0xffbf
e
000 PCI CFG
* 0xC0000000 0x00001000 0xffbf
f
000 PCI CFG
*
* 0xC4000000 0x00001000 0xffbf
d
000 EXP CFG
* 0xC4000000 0x00001000 0xffbf
e
000 EXP CFG
*
* 0xC8000000 0x000
0C
000 0xffb
f2
000 On-Chip Peripherals
* 0xC8000000 0x000
13
000 0xffb
eb
000 On-Chip Peripherals
*/
/*
...
...
@@ -52,22 +52,22 @@
* Expansion BUS Configuration registers
*/
#define IXP4XX_EXP_CFG_BASE_PHYS (0xC4000000)
#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBF
D
000)
#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBF
E
000)
#define IXP4XX_EXP_CFG_REGION_SIZE (0x00001000)
/*
* PCI Config registers
*/
#define IXP4XX_PCI_CFG_BASE_PHYS (0xC0000000)
#define IXP4XX_PCI_CFG_BASE_VIRT (0xFFBF
E
000)
#define IXP4XX_PCI_CFG_BASE_VIRT (0xFFBF
F
000)
#define IXP4XX_PCI_CFG_REGION_SIZE (0x00001000)
/*
* Peripheral space
*/
#define IXP4XX_PERIPHERAL_BASE_PHYS (0xC8000000)
#define IXP4XX_PERIPHERAL_BASE_VIRT (0xFFB
F2
000)
#define IXP4XX_PERIPHERAL_REGION_SIZE (0x000
0C
000)
#define IXP4XX_PERIPHERAL_BASE_VIRT (0xFFB
EB
000)
#define IXP4XX_PERIPHERAL_REGION_SIZE (0x000
13
000)
/*
* Debug UART
...
...
@@ -115,25 +115,48 @@
/*
* Peripheral Space Register Region Base Addresses
*/
#define IXP4XX_UART1_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x0000)
#define IXP4XX_UART2_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x1000)
#define IXP4XX_PMU_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x2000)
#define IXP4XX_INTC_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x3000)
#define IXP4XX_GPIO_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x4000)
#define IXP4XX_TIMER_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x5000)
#define IXP4XX_EthA_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x9000)
#define IXP4XX_EthB_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xA000)
#define IXP4XX_USB_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xB000)
#define IXP4XX_UART1_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x0000)
#define IXP4XX_UART2_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x1000)
#define IXP4XX_PMU_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x2000)
#define IXP4XX_INTC_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x3000)
#define IXP4XX_GPIO_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x4000)
#define IXP4XX_TIMER_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x5000)
#define IXP4XX_EthA_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x9000)
#define IXP4XX_EthB_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xA000)
#define IXP4XX_USB_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xB000)
#define IXP4XX_UART1_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x0000)
#define IXP4XX_UART2_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x1000)
#define IXP4XX_PMU_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x2000)
#define IXP4XX_INTC_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x3000)
#define IXP4XX_GPIO_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x4000)
#define IXP4XX_TIMER_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x5000)
#define IXP4XX_NPEA_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x6000)
#define IXP4XX_NPEB_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x7000)
#define IXP4XX_NPEC_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x8000)
#define IXP4XX_EthB_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x9000)
#define IXP4XX_EthC_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xA000)
#define IXP4XX_USB_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xB000)
/* ixp46X only */
#define IXP4XX_EthA_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xC000)
#define IXP4XX_EthB1_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xD000)
#define IXP4XX_EthB2_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xE000)
#define IXP4XX_EthB3_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0xF000)
#define IXP4XX_TIMESYNC_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x10000)
#define IXP4XX_I2C_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x11000)
#define IXP4XX_SSP_BASE_PHYS (IXP4XX_PERIPHERAL_BASE_PHYS + 0x12000)
#define IXP4XX_UART1_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x0000)
#define IXP4XX_UART2_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x1000)
#define IXP4XX_PMU_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x2000)
#define IXP4XX_INTC_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x3000)
#define IXP4XX_GPIO_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x4000)
#define IXP4XX_TIMER_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x5000)
#define IXP4XX_NPEA_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_PHYS + 0x6000)
#define IXP4XX_NPEB_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_PHYS + 0x7000)
#define IXP4XX_NPEC_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_PHYS + 0x8000)
#define IXP4XX_EthB_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x9000)
#define IXP4XX_EthC_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xA000)
#define IXP4XX_USB_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xB000)
/* ixp46X only */
#define IXP4XX_EthA_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xC000)
#define IXP4XX_EthB1_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xD000)
#define IXP4XX_EthB2_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xE000)
#define IXP4XX_EthB3_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0xF000)
#define IXP4XX_TIMESYNC_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x10000)
#define IXP4XX_I2C_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x11000)
#define IXP4XX_SSP_BASE_VIRT (IXP4XX_PERIPHERAL_BASE_VIRT + 0x12000)
/*
* Constants to make it easy to access Interrupt Controller registers
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-ixp4xx/memory.h
View file @
be15cd72
...
...
@@ -12,7 +12,7 @@
/*
* Physical DRAM offset.
*/
#define PHYS_OFFSET (0x00000000
UL
)
#define PHYS_OFFSET
UL
(0x00000000)
#ifndef __ASSEMBLY__
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-l7200/memory.h
View file @
be15cd72
...
...
@@ -15,7 +15,7 @@
/*
* Physical DRAM offset on the L7200 SDB.
*/
#define PHYS_OFFSET (0xf0000000
UL
)
#define PHYS_OFFSET
UL
(0xf0000000)
#define __virt_to_bus(x) __virt_to_phys(x)
#define __bus_to_virt(x) __phys_to_virt(x)
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-lh7a40x/memory.h
View file @
be15cd72
...
...
@@ -17,7 +17,7 @@
/*
* Physical DRAM offset.
*/
#define PHYS_OFFSET (0xc0000000
UL
)
#define PHYS_OFFSET
UL
(0xc0000000)
/*
* Virtual view <-> DMA view memory address translations
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-omap/memory.h
View file @
be15cd72
...
...
@@ -37,9 +37,9 @@
* Physical DRAM offset.
*/
#if defined(CONFIG_ARCH_OMAP1)
#define PHYS_OFFSET (0x10000000
UL
)
#define PHYS_OFFSET
UL
(0x10000000)
#elif defined(CONFIG_ARCH_OMAP2)
#define PHYS_OFFSET (0x80000000
UL
)
#define PHYS_OFFSET
UL
(0x80000000)
#endif
/*
...
...
@@ -66,7 +66,7 @@
/*
* OMAP-1510 Local Bus address offset
*/
#define OMAP1510_LB_OFFSET (0x30000000
UL
)
#define OMAP1510_LB_OFFSET
UL
(0x30000000)
#define virt_to_lbus(x) ((x) - PAGE_OFFSET + OMAP1510_LB_OFFSET)
#define lbus_to_virt(x) ((x) - OMAP1510_LB_OFFSET + PAGE_OFFSET)
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-pxa/memory.h
View file @
be15cd72
...
...
@@ -15,7 +15,7 @@
/*
* Physical DRAM offset.
*/
#define PHYS_OFFSET (0xa0000000
UL
)
#define PHYS_OFFSET
UL
(0xa0000000)
/*
* Virtual view <-> DMA view memory address translations
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-rpc/memory.h
View file @
be15cd72
...
...
@@ -21,7 +21,7 @@
/*
* Physical DRAM offset.
*/
#define PHYS_OFFSET (0x10000000
UL
)
#define PHYS_OFFSET
UL
(0x10000000)
/*
* These are exactly the same on the RiscPC as the
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-s3c2410/memory.h
View file @
be15cd72
...
...
@@ -28,9 +28,9 @@
* and at 0x0C000000 for S3C2400
*/
#ifdef CONFIG_CPU_S3C2400
#define PHYS_OFFSET (0x0C000000
UL
)
#define PHYS_OFFSET
UL
(0x0C000000)
#else
#define PHYS_OFFSET (0x30000000
UL
)
#define PHYS_OFFSET
UL
(0x30000000)
#endif
/*
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-sa1100/memory.h
View file @
be15cd72
...
...
@@ -13,7 +13,7 @@
/*
* Physical DRAM offset is 0xc0000000 on the SA1100
*/
#define PHYS_OFFSET (0xc0000000
UL
)
#define PHYS_OFFSET
UL
(0xc0000000)
#ifndef __ASSEMBLY__
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-shark/memory.h
View file @
be15cd72
...
...
@@ -15,7 +15,7 @@
/*
* Physical DRAM offset.
*/
#define PHYS_OFFSET (0x08000000
UL
)
#define PHYS_OFFSET
UL
(0x08000000)
#ifndef __ASSEMBLY__
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/arch-versatile/memory.h
View file @
be15cd72
...
...
@@ -23,7 +23,7 @@
/*
* Physical DRAM offset.
*/
#define PHYS_OFFSET (0x00000000
UL
)
#define PHYS_OFFSET
UL
(0x00000000)
/*
* Virtual view <-> DMA view memory address translations
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/mach/arch.h
View file @
be15cd72
...
...
@@ -50,6 +50,7 @@ struct machine_desc {
*/
#define MACHINE_START(_type,_name) \
static const struct machine_desc __mach_desc_##_type \
__attribute_used__ \
__attribute__((__section__(".arch.info.init"))) = { \
.nr = MACH_TYPE_##_type, \
.name = _name,
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/mach/flash.h
View file @
be15cd72
...
...
@@ -14,6 +14,7 @@ struct mtd_partition;
/*
* map_name: the map probe function name
* name: flash device name (eg, as used with mtdparts=)
* width: width of mapped device
* init: method called at driver/device initialisation
* exit: method called at driver/device removal
...
...
@@ -23,6 +24,7 @@ struct mtd_partition;
*/
struct
flash_platform_data
{
const
char
*
map_name
;
const
char
*
name
;
unsigned
int
width
;
int
(
*
init
)(
void
);
void
(
*
exit
)(
void
);
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/mach/map.h
View file @
be15cd72
...
...
@@ -27,8 +27,8 @@ struct meminfo;
#define MT_ROM 6
#define MT_IXP2000_DEVICE 7
#define __phys_to_pfn(paddr) (paddr >> PAGE_SHIFT)
#define __pfn_to_phys(pfn) (pfn << PAGE_SHIFT)
#define __phys_to_pfn(paddr)
(
(paddr
)
>> PAGE_SHIFT)
#define __pfn_to_phys(pfn)
(
(pfn
)
<< PAGE_SHIFT)
extern
void
create_memmap_holes
(
struct
meminfo
*
);
extern
void
memtable_init
(
struct
meminfo
*
);
...
...
This diff is collapsed.
Click to expand it.
include/asm-arm/memory.h
View file @
be15cd72
...
...
@@ -12,6 +12,16 @@
#ifndef __ASM_ARM_MEMORY_H
#define __ASM_ARM_MEMORY_H
/*
* Allow for constants defined here to be used from assembly code
* by prepending the UL suffix only with actual C code compilation.
*/
#ifndef __ASSEMBLY__
#define UL(x) (x##UL)
#else
#define UL(x) (x)
#endif
#include <linux/config.h>
#include <linux/compiler.h>
#include <asm/arch/memory.h>
...
...
@@ -21,20 +31,20 @@
* TASK_SIZE - the maximum size of a user space task.
* TASK_UNMAPPED_BASE - the lower boundary of the mmap VM area
*/
#define TASK_SIZE (0xbf000000
UL
)
#define TASK_UNMAPPED_BASE (0x40000000
UL
)
#define TASK_SIZE
UL
(0xbf000000)
#define TASK_UNMAPPED_BASE
UL
(0x40000000)
#endif
/*
* The maximum size of a 26-bit user space task.
*/
#define TASK_SIZE_26 (0x04000000
UL
)
#define TASK_SIZE_26
UL
(0x04000000)
/*
* Page offset: 3GB
*/
#ifndef PAGE_OFFSET
#define PAGE_OFFSET (0xc0000000
UL
)
#define PAGE_OFFSET
UL
(0xc0000000)
#endif
/*
...
...
@@ -58,6 +68,13 @@
#error Top of user space clashes with start of module space
#endif
/*
* The XIP kernel gets mapped at the bottom of the module vm area.
* Since we use sections to map it, this macro replaces the physical address
* with its virtual address while keeping offset from the base section.
*/
#define XIP_VIRT_ADDR(physaddr) (MODULE_START + ((physaddr) & 0x000fffff))
#ifndef __ASSEMBLY__
/*
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment