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
6fbfddcb
Commit
6fbfddcb
authored
19 years ago
by
Greg KH
Committed by
Greg Kroah-Hartman
19 years ago
Browse files
Options
Download
Plain Diff
Merge ../bleed-2.6
parents
1a222bca
27d1097d
Changes
591
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
651 additions
and
81 deletions
+651
-81
arch/arm/mach-clps711x/Makefile
arch/arm/mach-clps711x/Makefile
+1
-0
arch/arm/mach-clps711x/autcpu12.c
arch/arm/mach-clps711x/autcpu12.c
+8
-4
arch/arm/mach-clps711x/cdb89712.c
arch/arm/mach-clps711x/cdb89712.c
+6
-1
arch/arm/mach-clps711x/ceiva.c
arch/arm/mach-clps711x/ceiva.c
+7
-5
arch/arm/mach-clps711x/edb7211-mm.c
arch/arm/mach-clps711x/edb7211-mm.c
+21
-9
arch/arm/mach-clps711x/mm.c
arch/arm/mach-clps711x/mm.c
+7
-1
arch/arm/mach-clps711x/mp1000-mach.c
arch/arm/mach-clps711x/mp1000-mach.c
+49
-0
arch/arm/mach-clps711x/mp1000-mm.c
arch/arm/mach-clps711x/mp1000-mm.c
+47
-0
arch/arm/mach-clps711x/mp1000-seprom.c
arch/arm/mach-clps711x/mp1000-seprom.c
+195
-0
arch/arm/mach-clps711x/p720t.c
arch/arm/mach-clps711x/p720t.c
+12
-2
arch/arm/mach-clps7500/core.c
arch/arm/mach-clps7500/core.c
+21
-4
arch/arm/mach-ebsa110/core.c
arch/arm/mach-ebsa110/core.c
+32
-6
arch/arm/mach-ebsa110/io.c
arch/arm/mach-ebsa110/io.c
+1
-0
arch/arm/mach-epxa10db/mm.c
arch/arm/mach-epxa10db/mm.c
+31
-6
arch/arm/mach-footbridge/common.c
arch/arm/mach-footbridge/common.c
+48
-9
arch/arm/mach-h720x/common.c
arch/arm/mach-h720x/common.c
+6
-1
arch/arm/mach-imx/generic.c
arch/arm/mach-imx/generic.c
+6
-2
arch/arm/mach-imx/mx1ads.c
arch/arm/mach-imx/mx1ads.c
+31
-7
arch/arm/mach-integrator/integrator_ap.c
arch/arm/mach-integrator/integrator_ap.c
+66
-13
arch/arm/mach-integrator/integrator_cp.c
arch/arm/mach-integrator/integrator_cp.c
+56
-11
No files found.
arch/arm/mach-clps711x/Makefile
View file @
6fbfddcb
...
@@ -15,6 +15,7 @@ obj-$(CONFIG_ARCH_CDB89712) += cdb89712.o
...
@@ -15,6 +15,7 @@ obj-$(CONFIG_ARCH_CDB89712) += cdb89712.o
obj-$(CONFIG_ARCH_CLEP7312)
+=
clep7312.o
obj-$(CONFIG_ARCH_CLEP7312)
+=
clep7312.o
obj-$(CONFIG_ARCH_EDB7211)
+=
edb7211-arch.o edb7211-mm.o
obj-$(CONFIG_ARCH_EDB7211)
+=
edb7211-arch.o edb7211-mm.o
obj-$(CONFIG_ARCH_FORTUNET)
+=
fortunet.o
obj-$(CONFIG_ARCH_FORTUNET)
+=
fortunet.o
obj-$(CONFIG_MACH_MP1000)
+=
mp1000-mach.o mp1000-mm.o mp1000-seprom.o
obj-$(CONFIG_ARCH_P720T)
+=
p720t.o
obj-$(CONFIG_ARCH_P720T)
+=
p720t.o
leds-$(CONFIG_ARCH_P720T)
+=
p720t-leds.o
leds-$(CONFIG_ARCH_P720T)
+=
p720t-leds.o
obj-$(CONFIG_LEDS)
+=
$
(
leds-y
)
obj-$(CONFIG_LEDS)
+=
$
(
leds-y
)
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/autcpu12.c
View file @
6fbfddcb
...
@@ -46,10 +46,14 @@
...
@@ -46,10 +46,14 @@
*/
*/
static
struct
map_desc
autcpu12_io_desc
[]
__initdata
=
{
static
struct
map_desc
autcpu12_io_desc
[]
__initdata
=
{
/* virtual, physical, length, type */
/* memory-mapped extra io and CS8900A Ethernet chip */
/* memory-mapped extra io and CS8900A Ethernet chip */
/* ethernet chip */
/* ethernet chip */
{
{
AUTCPU12_VIRT_CS8900A
,
AUTCPU12_PHYS_CS8900A
,
SZ_1M
,
MT_DEVICE
}
.
virtual
=
AUTCPU12_VIRT_CS8900A
,
.
pfn
=
__phys_to_pfn
(
AUTCPU12_PHYS_CS8900A
),
.
length
=
SZ_1M
,
.
type
=
MT_DEVICE
}
};
};
void
__init
autcpu12_map_io
(
void
)
void
__init
autcpu12_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/cdb89712.c
View file @
6fbfddcb
...
@@ -39,7 +39,12 @@
...
@@ -39,7 +39,12 @@
* ethernet driver, perhaps.
* ethernet driver, perhaps.
*/
*/
static
struct
map_desc
cdb89712_io_desc
[]
__initdata
=
{
static
struct
map_desc
cdb89712_io_desc
[]
__initdata
=
{
{
ETHER_BASE
,
ETHER_START
,
ETHER_SIZE
,
MT_DEVICE
}
{
.
virtual
=
ETHER_BASE
,
.
pfn
=
__phys_to_pfn
(
ETHER_START
),
.
length
=
ETHER_SIZE
,
.
type
=
MT_DEVICE
}
};
};
static
void
__init
cdb89712_map_io
(
void
)
static
void
__init
cdb89712_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/ceiva.c
View file @
6fbfddcb
...
@@ -37,11 +37,13 @@
...
@@ -37,11 +37,13 @@
#include "common.h"
#include "common.h"
static
struct
map_desc
ceiva_io_desc
[]
__initdata
=
{
static
struct
map_desc
ceiva_io_desc
[]
__initdata
=
{
/* virtual, physical, length, type */
/* SED1355 controlled video RAM & registers */
{
/* SED1355 controlled video RAM & registers */
.
virtual
=
CEIVA_VIRT_SED1355
,
{
CEIVA_VIRT_SED1355
,
CEIVA_PHYS_SED1355
,
SZ_2M
,
MT_DEVICE
}
.
pfn
=
__phys_to_pfn
(
CEIVA_PHYS_SED1355
),
.
length
=
SZ_2M
,
.
type
=
MT_DEVICE
}
};
};
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/edb7211-mm.c
View file @
6fbfddcb
...
@@ -51,15 +51,27 @@ extern void clps711x_map_io(void);
...
@@ -51,15 +51,27 @@ extern void clps711x_map_io(void);
* happens).
* happens).
*/
*/
static
struct
map_desc
edb7211_io_desc
[]
__initdata
=
{
static
struct
map_desc
edb7211_io_desc
[]
__initdata
=
{
/* virtual, physical, length, type */
{
/* memory-mapped extra keyboard row */
.
virtual
=
EP7211_VIRT_EXTKBD
,
/* memory-mapped extra keyboard row and CS8900A Ethernet chip */
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_EXTKBD
),
{
EP7211_VIRT_EXTKBD
,
EP7211_PHYS_EXTKBD
,
SZ_1M
,
MT_DEVICE
},
.
length
=
SZ_1M
,
{
EP7211_VIRT_CS8900A
,
EP7211_PHYS_CS8900A
,
SZ_1M
,
MT_DEVICE
},
.
type
-
MT_DEVICE
},
{
/* and CS8900A Ethernet chip */
/* flash banks */
.
virtual
=
EP7211_VIRT_CS8900A
,
{
EP7211_VIRT_FLASH1
,
EP7211_PHYS_FLASH1
,
SZ_8M
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_CS8900A
),
{
EP7211_VIRT_FLASH2
,
EP7211_PHYS_FLASH2
,
SZ_8M
,
MT_DEVICE
}
.
length
=
SZ_1M
,
.
type
=
MT_DEVICE
},
{
/* flash banks */
.
virtual
=
EP7211_VIRT_FLASH1
,
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_FLASH1
),
.
length
=
SZ_8M
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
EP7211_VIRT_FLASH2
,
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_FLASH2
),
.
length
=
SZ_8M
,
.
type
=
MT_DEVICE
}
};
};
void
__init
edb7211_map_io
(
void
)
void
__init
edb7211_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/mm.c
View file @
6fbfddcb
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/bootmem.h>
#include <linux/bootmem.h>
#include <asm/sizes.h>
#include <asm/hardware.h>
#include <asm/hardware.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/page.h>
#include <asm/page.h>
...
@@ -34,7 +35,12 @@
...
@@ -34,7 +35,12 @@
* This maps the generic CLPS711x registers
* This maps the generic CLPS711x registers
*/
*/
static
struct
map_desc
clps711x_io_desc
[]
__initdata
=
{
static
struct
map_desc
clps711x_io_desc
[]
__initdata
=
{
{
CLPS7111_VIRT_BASE
,
CLPS7111_PHYS_BASE
,
1048576
,
MT_DEVICE
}
{
.
virtual
=
CLPS7111_VIRT_BASE
,
.
pfn
=
__phys_to_pfn
(
CLPS7111_PHYS_BASE
),
.
length
=
SZ_1M
,
.
type
=
MT_DEVICE
}
};
};
void
__init
clps711x_map_io
(
void
)
void
__init
clps711x_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/mp1000-mach.c
0 → 100644
View file @
6fbfddcb
/*
* linux/arch/arm/mach-mp1000/mp1000.c
*
* Copyright (C) 2005 Comdial Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/init.h>
#include <linux/types.h>
#include <linux/string.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/arch/mp1000-seprom.h>
#include "common.h"
extern
void
mp1000_map_io
(
void
);
static
void
__init
mp1000_init
(
void
)
{
seprom_init
();
}
MACHINE_START
(
MP1000
,
"Comdial MP1000"
)
/* Maintainer: Jon Ringle */
.
phys_ram
=
0xc0000000
,
.
phys_io
=
0x80000000
,
.
io_pg_offst
=
((
0xff000000
)
>>
18
)
&
0xfffc
,
.
boot_params
=
0xc0015100
,
.
map_io
=
mp1000_map_io
,
.
init_irq
=
clps711x_init_irq
,
.
init_machine
=
mp1000_init
,
.
timer
=
&
clps711x_timer
,
MACHINE_END
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/mp1000-mm.c
0 → 100644
View file @
6fbfddcb
/*
* linux/arch/arm/mach-mp1000/mm.c
*
* Extra MM routines for the MP1000
*
* Copyright (C) 2005 Comdial Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/sizes.h>
#include <asm/mach/map.h>
extern
void
clps711x_map_io
(
void
);
static
struct
map_desc
mp1000_io_desc
[]
__initdata
=
{
{
MP1000_EIO_BASE
,
MP1000_EIO_START
,
MP1000_EIO_SIZE
,
MT_DEVICE
},
{
MP1000_FIO_BASE
,
MP1000_FIO_START
,
MP1000_FIO_SIZE
,
MT_DEVICE
},
{
MP1000_LIO_BASE
,
MP1000_LIO_START
,
MP1000_LIO_SIZE
,
MT_DEVICE
},
{
MP1000_NIO_BASE
,
MP1000_NIO_START
,
MP1000_NIO_SIZE
,
MT_DEVICE
},
{
MP1000_IDE_BASE
,
MP1000_IDE_START
,
MP1000_IDE_SIZE
,
MT_DEVICE
},
{
MP1000_DSP_BASE
,
MP1000_DSP_START
,
MP1000_DSP_SIZE
,
MT_DEVICE
}
};
void
__init
mp1000_map_io
(
void
)
{
clps711x_map_io
();
iotable_init
(
mp1000_io_desc
,
ARRAY_SIZE
(
mp1000_io_desc
));
}
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/mp1000-seprom.c
0 → 100644
View file @
6fbfddcb
/*`
* mp1000-seprom.c
*
* This file contains the Serial EEPROM code for the MP1000 board
*
* Copyright (C) 2005 Comdial Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/hardware/clps7111.h>
#include <asm/arch/mp1000-seprom.h>
/* If SepromInit() can initialize and checksum the seprom successfully, */
/* then it will point seprom_data_ptr at the shadow copy. */
static
eeprom_struct
seprom_data
;
/* shadow copy of seprom content */
eeprom_struct
*
seprom_data_ptr
=
0
;
/* 0 => not initialized */
/*
* Port D Bit 5 is Chip Select for EEPROM
* Port E Bit 0 is Input, Data out from EEPROM
* Port E Bit 1 is Output, Data in to EEPROM
* Port E Bit 2 is Output, CLK to EEPROM
*/
static
char
*
port_d_ptr
=
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDR
);
static
char
*
port_e_ptr
=
(
char
*
)(
CLPS7111_VIRT_BASE
+
PEDR
);
#define NO_OF_SHORTS 64 // Device is 64 x 16 bits
#define ENABLE_RW 0
#define DISABLE_RW 1
static
inline
void
toggle_seprom_clock
(
void
)
{
*
port_e_ptr
|=
HwPortESepromCLK
;
*
port_e_ptr
&=
~
(
HwPortESepromCLK
);
}
static
inline
void
select_eeprom
(
void
)
{
*
port_d_ptr
|=
HwPortDEECS
;
*
port_e_ptr
&=
~
(
HwPortESepromCLK
);
}
static
inline
void
deselect_eeprom
(
void
)
{
*
port_d_ptr
&=
~
(
HwPortDEECS
);
*
port_e_ptr
&=
~
(
HwPortESepromDIn
);
}
/*
* GetSepromDataPtr - returns pointer to shadow (RAM) copy of seprom
* and returns 0 if seprom is not initialized or
* has a checksum error.
*/
eeprom_struct
*
get_seprom_ptr
(
void
)
{
return
seprom_data_ptr
;
}
unsigned
char
*
get_eeprom_mac_address
(
void
)
{
return
seprom_data_ptr
->
variant
.
eprom_struct
.
mac_Address
;
}
/*
* ReadSProm, Physically reads data from the Serial PROM
*/
static
void
read_sprom
(
short
address
,
int
length
,
eeprom_struct
*
buffer
)
{
short
data
=
COMMAND_READ
|
(
address
&
0x3F
);
short
bit
;
int
i
;
select_eeprom
();
// Clock in 9 bits of the command
for
(
i
=
0
,
bit
=
0x100
;
i
<
9
;
i
++
,
bit
>>=
1
)
{
if
(
data
&
bit
)
*
port_e_ptr
|=
HwPortESepromDIn
;
else
*
port_e_ptr
&=
~
(
HwPortESepromDIn
);
toggle_seprom_clock
();
}
//
// Now read one or more shorts of data from the Seprom
//
while
(
length
--
>
0
)
{
data
=
0
;
// Read 16 bits at a time
for
(
i
=
0
;
i
<
16
;
i
++
)
{
data
<<=
1
;
toggle_seprom_clock
();
data
|=
*
port_e_ptr
&
HwPortESepromDOut
;
}
buffer
->
variant
.
eprom_short_data
[
address
++
]
=
data
;
}
deselect_eeprom
();
return
;
}
/*
* ReadSerialPROM
*
* Input: Pointer to array of 64 x 16 Bits
*
* Output: if no problem reading data is filled in
*/
static
void
read_serial_prom
(
eeprom_struct
*
data
)
{
read_sprom
(
0
,
64
,
data
);
}
//
// Compute Serial EEPROM checksum
//
// Input: Pointer to struct with Eprom data
//
// Output: The computed Eprom checksum
//
static
short
compute_seprom_checksum
(
eeprom_struct
*
data
)
{
short
checksum
=
0
;
int
i
;
for
(
i
=
0
;
i
<
126
;
i
++
)
{
checksum
+=
(
short
)
data
->
variant
.
eprom_byte_data
[
i
];
}
return
((
short
)(
0x5555
-
(
checksum
&
0xFFFF
)));
}
//
// Make sure the data port bits for the SEPROM are correctly initialised
//
void
__init
seprom_init
(
void
)
{
short
checksum
;
// Init Port D
*
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDDR
)
=
0x0
;
*
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDR
)
=
0x15
;
// Init Port E
*
(
int
*
)(
CLPS7111_VIRT_BASE
+
PEDDR
)
=
0x06
;
*
(
int
*
)(
CLPS7111_VIRT_BASE
+
PEDR
)
=
0x04
;
//
// Make sure that EEPROM struct size never exceeds 128 bytes
//
if
(
sizeof
(
eeprom_struct
)
>
128
)
{
panic
(
"Serial PROM struct size > 128, aborting read
\n
"
);
}
read_serial_prom
(
&
seprom_data
);
checksum
=
compute_seprom_checksum
(
&
seprom_data
);
if
(
checksum
!=
seprom_data
.
variant
.
eprom_short_data
[
63
])
{
panic
(
"Serial EEPROM checksum failed
\n
"
);
}
seprom_data_ptr
=
&
seprom_data
;
}
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/p720t.c
View file @
6fbfddcb
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/page.h>
#include <asm/page.h>
#include <asm/setup.h>
#include <asm/setup.h>
#include <asm/sizes.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -42,8 +43,17 @@
...
@@ -42,8 +43,17 @@
* We map both here.
* We map both here.
*/
*/
static
struct
map_desc
p720t_io_desc
[]
__initdata
=
{
static
struct
map_desc
p720t_io_desc
[]
__initdata
=
{
{
SYSPLD_VIRT_BASE
,
SYSPLD_PHYS_BASE
,
1048576
,
MT_DEVICE
},
{
{
0xfe400000
,
0x10400000
,
1048576
,
MT_DEVICE
}
.
virtual
=
SYSPLD_VIRT_BASE
,
.
pfn
=
__phys_to_pfn
(
SYSPLD_PHYS_BASE
),
.
length
=
SZ_1M
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
0xfe400000
,
.
pfn
=
__phys_to_pfn
(
0x10400000
),
.
length
=
SZ_1M
,
.
type
=
MT_DEVICE
}
};
};
static
void
__init
static
void
__init
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps7500/core.c
View file @
6fbfddcb
...
@@ -259,10 +259,27 @@ static void __init clps7500_init_irq(void)
...
@@ -259,10 +259,27 @@ static void __init clps7500_init_irq(void)
}
}
static
struct
map_desc
cl7500_io_desc
[]
__initdata
=
{
static
struct
map_desc
cl7500_io_desc
[]
__initdata
=
{
{
IO_BASE
,
IO_START
,
IO_SIZE
,
MT_DEVICE
},
/* IO space */
{
/* IO space */
{
ISA_BASE
,
ISA_START
,
ISA_SIZE
,
MT_DEVICE
},
/* ISA space */
.
virtual
=
IO_BASE
,
{
FLASH_BASE
,
FLASH_START
,
FLASH_SIZE
,
MT_DEVICE
},
/* Flash */
.
pfn
=
__phys_to_pfn
(
IO_START
),
{
LED_BASE
,
LED_START
,
LED_SIZE
,
MT_DEVICE
}
/* LED */
.
length
=
IO_SIZE
,
.
type
=
MT_DEVICE
},
{
/* ISA space */
.
virtual
=
ISA_BASE
,
.
pfn
=
__phys_to_pfn
(
ISA_START
),
.
length
=
ISA_SIZE
,
.
type
=
MT_DEVICE
},
{
/* Flash */
.
virtual
=
FLASH_BASE
,
.
pfn
=
__phys_to_pfn
(
FLASH_START
),
.
length
=
FLASH_SIZE
,
.
type
=
MT_DEVICE
},
{
/* LED */
.
virtual
=
LED_BASE
,
.
pfn
=
__phys_to_pfn
(
LED_START
),
.
length
=
LED_SIZE
,
.
type
=
MT_DEVICE
}
};
};
static
void
__init
clps7500_map_io
(
void
)
static
void
__init
clps7500_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-ebsa110/core.c
View file @
6fbfddcb
...
@@ -76,16 +76,42 @@ static struct map_desc ebsa110_io_desc[] __initdata = {
...
@@ -76,16 +76,42 @@ static struct map_desc ebsa110_io_desc[] __initdata = {
/*
/*
* sparse external-decode ISAIO space
* sparse external-decode ISAIO space
*/
*/
{
IRQ_STAT
,
TRICK4_PHYS
,
PGDIR_SIZE
,
MT_DEVICE
},
/* IRQ_STAT/IRQ_MCLR */
{
/* IRQ_STAT/IRQ_MCLR */
{
IRQ_MASK
,
TRICK3_PHYS
,
PGDIR_SIZE
,
MT_DEVICE
},
/* IRQ_MASK/IRQ_MSET */
.
virtual
=
IRQ_STAT
,
{
SOFT_BASE
,
TRICK1_PHYS
,
PGDIR_SIZE
,
MT_DEVICE
},
/* SOFT_BASE */
.
pfn
=
__phys_to_pfn
(
TRICK4_PHYS
),
{
PIT_BASE
,
TRICK0_PHYS
,
PGDIR_SIZE
,
MT_DEVICE
},
/* PIT_BASE */
.
length
=
PGDIR_SIZE
,
.
type
=
MT_DEVICE
},
{
/* IRQ_MASK/IRQ_MSET */
.
virtual
=
IRQ_MASK
,
.
pfn
=
__phys_to_pfn
(
TRICK3_PHYS
),
.
length
=
PGDIR_SIZE
,
.
type
=
MT_DEVICE
},
{
/* SOFT_BASE */
.
virtual
=
SOFT_BASE
,
.
pfn
=
__phys_to_pfn
(
TRICK1_PHYS
),
.
length
=
PGDIR_SIZE
,
.
type
=
MT_DEVICE
},
{
/* PIT_BASE */
.
virtual
=
PIT_BASE
,
.
pfn
=
__phys_to_pfn
(
TRICK0_PHYS
),
.
length
=
PGDIR_SIZE
,
.
type
=
MT_DEVICE
},
/*
/*
* self-decode ISAIO space
* self-decode ISAIO space
*/
*/
{
ISAIO_BASE
,
ISAIO_PHYS
,
ISAIO_SIZE
,
MT_DEVICE
},
{
{
ISAMEM_BASE
,
ISAMEM_PHYS
,
ISAMEM_SIZE
,
MT_DEVICE
}
.
virtual
=
ISAIO_BASE
,
.
pfn
=
__phys_to_pfn
(
ISAIO_PHYS
),
.
length
=
ISAIO_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
ISAMEM_BASE
,
.
pfn
=
__phys_to_pfn
(
ISAMEM_PHYS
),
.
length
=
ISAMEM_SIZE
,
.
type
=
MT_DEVICE
}
};
};
static
void
__init
ebsa110_map_io
(
void
)
static
void
__init
ebsa110_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-ebsa110/io.c
View file @
6fbfddcb
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/types.h>
#include <asm/hardware.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/page.h>
#include <asm/page.h>
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-epxa10db/mm.c
View file @
6fbfddcb
...
@@ -31,12 +31,37 @@
...
@@ -31,12 +31,37 @@
/* Page table mapping for I/O region */
/* Page table mapping for I/O region */
static
struct
map_desc
epxa10db_io_desc
[]
__initdata
=
{
static
struct
map_desc
epxa10db_io_desc
[]
__initdata
=
{
{
IO_ADDRESS
(
EXC_REGISTERS_BASE
),
EXC_REGISTERS_BASE
,
SZ_16K
,
MT_DEVICE
},
{
{
IO_ADDRESS
(
EXC_PLD_BLOCK0_BASE
),
EXC_PLD_BLOCK0_BASE
,
SZ_16K
,
MT_DEVICE
},
.
virtual
=
IO_ADDRESS
(
EXC_REGISTERS_BASE
),
{
IO_ADDRESS
(
EXC_PLD_BLOCK1_BASE
),
EXC_PLD_BLOCK1_BASE
,
SZ_16K
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
EXC_REGISTERS_BASE
),
{
IO_ADDRESS
(
EXC_PLD_BLOCK2_BASE
),
EXC_PLD_BLOCK2_BASE
,
SZ_16K
,
MT_DEVICE
},
.
length
=
SZ_16K
,
{
IO_ADDRESS
(
EXC_PLD_BLOCK3_BASE
),
EXC_PLD_BLOCK3_BASE
,
SZ_16K
,
MT_DEVICE
},
.
type
=
MT_DEVICE
{
FLASH_VADDR
(
EXC_EBI_BLOCK0_BASE
),
EXC_EBI_BLOCK0_BASE
,
SZ_16M
,
MT_DEVICE
}
},
{
.
virtual
=
IO_ADDRESS
(
EXC_PLD_BLOCK0_BASE
),
.
pfn
=
__phys_to_pfn
(
EXC_PLD_BLOCK0_BASE
),
.
length
=
SZ_16K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
EXC_PLD_BLOCK1_BASE
),
.
pfn
=
__phys_to_pfn
(
EXC_PLD_BLOCK1_BASE
),
.
length
=
SZ_16K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
EXC_PLD_BLOCK2_BASE
),
.
physical
=
__phys_to_pfn
(
EXC_PLD_BLOCK2_BASE
),
.
length
=
SZ_16K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
EXC_PLD_BLOCK3_BASE
),
.
pfn
=
__phys_to_pfn
(
EXC_PLD_BLOCK3_BASE
),
.
length
=
SZ_16K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
FLASH_VADDR
(
EXC_EBI_BLOCK0_BASE
),
.
pfn
=
__phys_to_pfn
(
EXC_EBI_BLOCK0_BASE
),
.
length
=
SZ_16M
,
.
type
=
MT_DEVICE
}
};
};
void
__init
epxa10db_map_io
(
void
)
void
__init
epxa10db_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-footbridge/common.c
View file @
6fbfddcb
...
@@ -130,8 +130,17 @@ void __init footbridge_init_irq(void)
...
@@ -130,8 +130,17 @@ void __init footbridge_init_irq(void)
* it means that we have extra bullet protection on our feet.
* it means that we have extra bullet protection on our feet.
*/
*/
static
struct
map_desc
fb_common_io_desc
[]
__initdata
=
{
static
struct
map_desc
fb_common_io_desc
[]
__initdata
=
{
{
ARMCSR_BASE
,
DC21285_ARMCSR_BASE
,
ARMCSR_SIZE
,
MT_DEVICE
},
{
{
XBUS_BASE
,
0x40000000
,
XBUS_SIZE
,
MT_DEVICE
}
.
virtual
=
ARMCSR_BASE
,
.
pfn
=
DC21285_ARMCSR_BASE
,
.
length
=
ARMCSR_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
XBUS_BASE
,
.
pfn
=
__phys_to_pfn
(
0x40000000
),
.
length
=
XBUS_SIZE
,
.
type
=
MT_DEVICE
}
};
};
/*
/*
...
@@ -140,11 +149,32 @@ static struct map_desc fb_common_io_desc[] __initdata = {
...
@@ -140,11 +149,32 @@ static struct map_desc fb_common_io_desc[] __initdata = {
*/
*/
static
struct
map_desc
ebsa285_host_io_desc
[]
__initdata
=
{
static
struct
map_desc
ebsa285_host_io_desc
[]
__initdata
=
{
#if defined(CONFIG_ARCH_FOOTBRIDGE) && defined(CONFIG_FOOTBRIDGE_HOST)
#if defined(CONFIG_ARCH_FOOTBRIDGE) && defined(CONFIG_FOOTBRIDGE_HOST)
{
PCIMEM_BASE
,
DC21285_PCI_MEM
,
PCIMEM_SIZE
,
MT_DEVICE
},
{
{
PCICFG0_BASE
,
DC21285_PCI_TYPE_0_CONFIG
,
PCICFG0_SIZE
,
MT_DEVICE
},
.
virtual
=
PCIMEM_BASE
,
{
PCICFG1_BASE
,
DC21285_PCI_TYPE_1_CONFIG
,
PCICFG1_SIZE
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
DC21285_PCI_MEM
),
{
PCIIACK_BASE
,
DC21285_PCI_IACK
,
PCIIACK_SIZE
,
MT_DEVICE
},
.
length
=
PCIMEM_SIZE
,
{
PCIO_BASE
,
DC21285_PCI_IO
,
PCIO_SIZE
,
MT_DEVICE
}
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCICFG0_BASE
,
.
pfn
=
__phys_to_pfn
(
DC21285_PCI_TYPE_0_CONFIG
),
.
length
=
PCICFG0_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCICFG1_BASE
,
.
pfn
=
__phys_to_pfn
(
DC21285_PCI_TYPE_1_CONFIG
),
.
length
=
PCICFG1_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCIIACK_BASE
,
.
pfn
=
__phys_to_pfn
(
DC21285_PCI_IACK
),
.
length
=
PCIIACK_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCIO_BASE
,
.
pfn
=
__phys_to_pfn
(
DC21285_PCI_IO
),
.
length
=
PCIO_SIZE
,
.
type
=
MT_DEVICE
}
#endif
#endif
};
};
...
@@ -153,8 +183,17 @@ static struct map_desc ebsa285_host_io_desc[] __initdata = {
...
@@ -153,8 +183,17 @@ static struct map_desc ebsa285_host_io_desc[] __initdata = {
*/
*/
static
struct
map_desc
co285_io_desc
[]
__initdata
=
{
static
struct
map_desc
co285_io_desc
[]
__initdata
=
{
#ifdef CONFIG_ARCH_CO285
#ifdef CONFIG_ARCH_CO285
{
PCIO_BASE
,
DC21285_PCI_IO
,
PCIO_SIZE
,
MT_DEVICE
},
{
{
PCIMEM_BASE
,
DC21285_PCI_MEM
,
PCIMEM_SIZE
,
MT_DEVICE
}
.
virtual
=
PCIO_BASE
,
.
pfn
=
__phys_to_pfn
(
DC21285_PCI_IO
),
.
length
=
PCIO_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCIMEM_BASE
,
.
pfn
=
__phys_to_pfn
(
DC21285_PCI_MEM
),
.
length
=
PCIMEM_SIZE
,
.
type
=
MT_DEVICE
}
#endif
#endif
};
};
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-h720x/common.c
View file @
6fbfddcb
...
@@ -237,7 +237,12 @@ void __init h720x_init_irq (void)
...
@@ -237,7 +237,12 @@ void __init h720x_init_irq (void)
}
}
static
struct
map_desc
h720x_io_desc
[]
__initdata
=
{
static
struct
map_desc
h720x_io_desc
[]
__initdata
=
{
{
IO_VIRT
,
IO_PHYS
,
IO_SIZE
,
MT_DEVICE
},
{
.
virtual
=
IO_VIRT
,
.
pfn
=
__phys_to_pfn
(
IO_PHYS
),
.
length
=
IO_SIZE
,
.
type
=
MT_DEVICE
},
};
};
/* Initialize io tables */
/* Initialize io tables */
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-imx/generic.c
View file @
6fbfddcb
...
@@ -273,8 +273,12 @@ static struct platform_device *devices[] __initdata = {
...
@@ -273,8 +273,12 @@ static struct platform_device *devices[] __initdata = {
};
};
static
struct
map_desc
imx_io_desc
[]
__initdata
=
{
static
struct
map_desc
imx_io_desc
[]
__initdata
=
{
/* virtual physical length type */
{
{
IMX_IO_BASE
,
IMX_IO_PHYS
,
IMX_IO_SIZE
,
MT_DEVICE
},
.
virtual
=
IMX_IO_BASE
,
.
pfn
=
__phys_to_pfn
(
IMX_IO_PHYS
),
.
length
=
IMX_IO_SIZE
,
.
type
=
MT_DEVICE
}
};
};
void
__init
void
__init
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-imx/mx1ads.c
View file @
6fbfddcb
...
@@ -61,13 +61,37 @@ mx1ads_init(void)
...
@@ -61,13 +61,37 @@ mx1ads_init(void)
}
}
static
struct
map_desc
mx1ads_io_desc
[]
__initdata
=
{
static
struct
map_desc
mx1ads_io_desc
[]
__initdata
=
{
/* virtual physical length type */
{
{
IMX_CS0_VIRT
,
IMX_CS0_PHYS
,
IMX_CS0_SIZE
,
MT_DEVICE
},
.
virtual
=
IMX_CS0_VIRT
,
{
IMX_CS1_VIRT
,
IMX_CS1_PHYS
,
IMX_CS1_SIZE
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
IMX_CS0_PHYS
),
{
IMX_CS2_VIRT
,
IMX_CS2_PHYS
,
IMX_CS2_SIZE
,
MT_DEVICE
},
.
length
=
IMX_CS0_SIZE
,
{
IMX_CS3_VIRT
,
IMX_CS3_PHYS
,
IMX_CS3_SIZE
,
MT_DEVICE
},
.
type
=
MT_DEVICE
{
IMX_CS4_VIRT
,
IMX_CS4_PHYS
,
IMX_CS4_SIZE
,
MT_DEVICE
},
},
{
{
IMX_CS5_VIRT
,
IMX_CS5_PHYS
,
IMX_CS5_SIZE
,
MT_DEVICE
},
.
virtual
=
IMX_CS1_VIRT
,
.
pfn
=
__phys_to_pfn
(
IMX_CS1_PHYS
),
.
length
=
IMX_CS1_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IMX_CS2_VIRT
,
.
pfn
=
__phys_to_pfn
(
IMX_CS2_PHYS
),
.
length
=
IMX_CS2_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IMX_CS3_VIRT
,
.
pfn
=
__phys_to_pfn
(
IMX_CS3_PHYS
),
.
length
=
IMX_CS3_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IMX_CS4_VIRT
,
.
pfn
=
__phys_to_pfn
(
IMX_CS4_PHYS
),
.
length
=
IMX_CS4_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IMX_CS5_VIRT
,
.
pfn
=
__phys_to_pfn
(
IMX_CS5_PHYS
),
.
length
=
IMX_CS5_SIZE
,
.
type
=
MT_DEVICE
}
};
};
static
void
__init
static
void
__init
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-integrator/integrator_ap.c
View file @
6fbfddcb
...
@@ -75,19 +75,72 @@
...
@@ -75,19 +75,72 @@
*/
*/
static
struct
map_desc
ap_io_desc
[]
__initdata
=
{
static
struct
map_desc
ap_io_desc
[]
__initdata
=
{
{
IO_ADDRESS
(
INTEGRATOR_HDR_BASE
),
INTEGRATOR_HDR_BASE
,
SZ_4K
,
MT_DEVICE
},
{
{
IO_ADDRESS
(
INTEGRATOR_SC_BASE
),
INTEGRATOR_SC_BASE
,
SZ_4K
,
MT_DEVICE
},
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_HDR_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_EBI_BASE
),
INTEGRATOR_EBI_BASE
,
SZ_4K
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_HDR_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_CT_BASE
),
INTEGRATOR_CT_BASE
,
SZ_4K
,
MT_DEVICE
},
.
length
=
SZ_4K
,
{
IO_ADDRESS
(
INTEGRATOR_IC_BASE
),
INTEGRATOR_IC_BASE
,
SZ_4K
,
MT_DEVICE
},
.
type
=
MT_DEVICE
{
IO_ADDRESS
(
INTEGRATOR_UART0_BASE
),
INTEGRATOR_UART0_BASE
,
SZ_4K
,
MT_DEVICE
},
},
{
{
IO_ADDRESS
(
INTEGRATOR_UART1_BASE
),
INTEGRATOR_UART1_BASE
,
SZ_4K
,
MT_DEVICE
},
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_SC_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_DBG_BASE
),
INTEGRATOR_DBG_BASE
,
SZ_4K
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_SC_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_GPIO_BASE
),
INTEGRATOR_GPIO_BASE
,
SZ_4K
,
MT_DEVICE
},
.
length
=
SZ_4K
,
{
PCI_MEMORY_VADDR
,
PHYS_PCI_MEM_BASE
,
SZ_16M
,
MT_DEVICE
},
.
type
=
MT_DEVICE
{
PCI_CONFIG_VADDR
,
PHYS_PCI_CONFIG_BASE
,
SZ_16M
,
MT_DEVICE
},
},
{
{
PCI_V3_VADDR
,
PHYS_PCI_V3_BASE
,
SZ_64K
,
MT_DEVICE
},
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_EBI_BASE
),
{
PCI_IO_VADDR
,
PHYS_PCI_IO_BASE
,
SZ_64K
,
MT_DEVICE
}
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_EBI_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_CT_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_CT_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_IC_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_IC_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_UART0_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_UART0_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_UART1_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_UART1_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_DBG_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_DBG_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_GPIO_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_GPIO_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCI_MEMORY_VADDR
,
.
pfn
=
__phys_to_pfn
(
PHYS_PCI_MEM_BASE
),
.
length
=
SZ_16M
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCI_CONFIG_VADDR
,
.
pfn
=
__phys_to_pfn
(
PHYS_PCI_CONFIG_BASE
),
.
length
=
SZ_16M
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCI_V3_VADDR
,
.
pfn
=
__phys_to_pfn
(
PHYS_PCI_V3_BASE
),
.
length
=
SZ_64K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
PCI_IO_VADDR
,
.
pfn
=
__phys_to_pfn
(
PHYS_PCI_IO_BASE
),
.
length
=
SZ_64K
,
.
type
=
MT_DEVICE
}
};
};
static
void
__init
ap_map_io
(
void
)
static
void
__init
ap_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-integrator/integrator_cp.c
View file @
6fbfddcb
...
@@ -74,17 +74,62 @@
...
@@ -74,17 +74,62 @@
*/
*/
static
struct
map_desc
intcp_io_desc
[]
__initdata
=
{
static
struct
map_desc
intcp_io_desc
[]
__initdata
=
{
{
IO_ADDRESS
(
INTEGRATOR_HDR_BASE
),
INTEGRATOR_HDR_BASE
,
SZ_4K
,
MT_DEVICE
},
{
{
IO_ADDRESS
(
INTEGRATOR_SC_BASE
),
INTEGRATOR_SC_BASE
,
SZ_4K
,
MT_DEVICE
},
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_HDR_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_EBI_BASE
),
INTEGRATOR_EBI_BASE
,
SZ_4K
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_HDR_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_CT_BASE
),
INTEGRATOR_CT_BASE
,
SZ_4K
,
MT_DEVICE
},
.
length
=
SZ_4K
,
{
IO_ADDRESS
(
INTEGRATOR_IC_BASE
),
INTEGRATOR_IC_BASE
,
SZ_4K
,
MT_DEVICE
},
.
type
=
MT_DEVICE
{
IO_ADDRESS
(
INTEGRATOR_UART0_BASE
),
INTEGRATOR_UART0_BASE
,
SZ_4K
,
MT_DEVICE
},
},
{
{
IO_ADDRESS
(
INTEGRATOR_UART1_BASE
),
INTEGRATOR_UART1_BASE
,
SZ_4K
,
MT_DEVICE
},
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_SC_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_DBG_BASE
),
INTEGRATOR_DBG_BASE
,
SZ_4K
,
MT_DEVICE
},
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_SC_BASE
),
{
IO_ADDRESS
(
INTEGRATOR_GPIO_BASE
),
INTEGRATOR_GPIO_BASE
,
SZ_4K
,
MT_DEVICE
},
.
length
=
SZ_4K
,
{
0xfca00000
,
0xca000000
,
SZ_4K
,
MT_DEVICE
},
.
type
=
MT_DEVICE
{
0xfcb00000
,
0xcb000000
,
SZ_4K
,
MT_DEVICE
},
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_EBI_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_EBI_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_CT_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_CT_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_IC_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_IC_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_UART0_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_UART0_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_UART1_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_UART1_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_DBG_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_DBG_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
IO_ADDRESS
(
INTEGRATOR_GPIO_BASE
),
.
pfn
=
__phys_to_pfn
(
INTEGRATOR_GPIO_BASE
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
0xfca00000
,
.
pfn
=
__phys_to_pfn
(
0xca000000
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
0xfcb00000
,
.
pfn
=
__phys_to_pfn
(
0xcb000000
),
.
length
=
SZ_4K
,
.
type
=
MT_DEVICE
}
};
};
static
void
__init
intcp_map_io
(
void
)
static
void
__init
intcp_map_io
(
void
)
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
6
…
30
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