Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
4d1de97b
Commit
4d1de97b
authored
Mar 16, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://bk.arm.linux.org.uk/linux-2.6-rmk
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
22b45c8c
02b6caaa
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
437 additions
and
81 deletions
+437
-81
arch/arm/configs/s3c2410_defconfig
arch/arm/configs/s3c2410_defconfig
+2
-0
arch/arm/kernel/calls.S
arch/arm/kernel/calls.S
+1
-0
arch/arm/kernel/sys_arm.c
arch/arm/kernel/sys_arm.c
+5
-1
arch/arm/mach-clps7500/core.c
arch/arm/mach-clps7500/core.c
+5
-4
arch/arm/mach-s3c2410/Kconfig
arch/arm/mach-s3c2410/Kconfig
+12
-0
arch/arm/mach-s3c2410/Makefile
arch/arm/mach-s3c2410/Makefile
+2
-0
arch/arm/mach-s3c2410/cpu.h
arch/arm/mach-s3c2410/cpu.h
+5
-2
arch/arm/mach-s3c2410/gpio.c
arch/arm/mach-s3c2410/gpio.c
+10
-8
arch/arm/mach-s3c2410/irq.c
arch/arm/mach-s3c2410/irq.c
+23
-3
arch/arm/mach-s3c2410/mach-bast.c
arch/arm/mach-s3c2410/mach-bast.c
+15
-25
arch/arm/mach-s3c2410/mach-h1940.c
arch/arm/mach-s3c2410/mach-h1940.c
+1
-1
arch/arm/mach-s3c2410/mach-n30.c
arch/arm/mach-s3c2410/mach-n30.c
+1
-4
arch/arm/mach-s3c2410/mach-nexcoder.c
arch/arm/mach-s3c2410/mach-nexcoder.c
+156
-0
arch/arm/mach-s3c2410/mach-otom.c
arch/arm/mach-s3c2410/mach-otom.c
+124
-0
arch/arm/mach-s3c2410/mach-rx3715.c
arch/arm/mach-s3c2410/mach-rx3715.c
+4
-3
arch/arm/mach-s3c2410/mach-smdk2410.c
arch/arm/mach-s3c2410/mach-smdk2410.c
+1
-1
arch/arm/mach-s3c2410/mach-smdk2440.c
arch/arm/mach-s3c2410/mach-smdk2440.c
+4
-3
arch/arm/mach-s3c2410/mach-vr1000.c
arch/arm/mach-s3c2410/mach-vr1000.c
+12
-11
arch/arm/mach-s3c2410/pm.c
arch/arm/mach-s3c2410/pm.c
+2
-2
arch/arm/mach-s3c2410/pm.h
arch/arm/mach-s3c2410/pm.h
+1
-1
arch/arm/mach-s3c2410/s3c2440-dsc.c
arch/arm/mach-s3c2410/s3c2440-dsc.c
+1
-1
drivers/serial/s3c2410.c
drivers/serial/s3c2410.c
+1
-2
drivers/serial/sa1100.c
drivers/serial/sa1100.c
+3
-3
include/asm-arm/arch-rpc/hardware.h
include/asm-arm/arch-rpc/hardware.h
+1
-1
include/asm-arm/arch-s3c2410/io.h
include/asm-arm/arch-s3c2410/io.h
+4
-4
include/asm-arm/arch-s3c2410/map.h
include/asm-arm/arch-s3c2410/map.h
+5
-0
include/asm-arm/arch-s3c2410/otom-map.h
include/asm-arm/arch-s3c2410/otom-map.h
+30
-0
include/asm-arm/arch-s3c2410/system.h
include/asm-arm/arch-s3c2410/system.h
+1
-1
include/asm-arm/ipc.h
include/asm-arm/ipc.h
+1
-0
include/asm-arm/unistd.h
include/asm-arm/unistd.h
+4
-0
No files found.
arch/arm/configs/s3c2410_defconfig
View file @
4d1de97b
...
...
@@ -91,6 +91,8 @@ CONFIG_ARCH_SMDK2410=y
CONFIG_ARCH_S3C2440=y
CONFIG_MACH_VR1000=y
CONFIG_MACH_RX3715=y
CONFIG_MACH_OTOM=y
CONFIG_MACH_NEXCODER_2440=y
CONFIG_CPU_S3C2410=y
CONFIG_CPU_S3C2440=y
...
...
arch/arm/kernel/calls.S
View file @
4d1de97b
...
...
@@ -326,6 +326,7 @@ __syscall_start:
.
long
sys_add_key
/*
310
*/
.
long
sys_request_key
.
long
sys_keyctl
.
long
sys_semtimedop
__syscall_end
:
.
rept
NR_syscalls
-
(
__syscall_end
-
__syscall_start
)
/
4
...
...
arch/arm/kernel/sys_arm.c
View file @
4d1de97b
...
...
@@ -169,7 +169,11 @@ asmlinkage int sys_ipc(uint call, int first, int second, int third,
switch
(
call
)
{
case
SEMOP
:
return
sys_semop
(
first
,
(
struct
sembuf
__user
*
)
ptr
,
second
);
return
sys_semtimedop
(
first
,
(
struct
sembuf
__user
*
)
ptr
,
second
,
NULL
);
case
SEMTIMEDOP
:
return
sys_semtimedop
(
first
,
(
struct
sembuf
__user
*
)
ptr
,
second
,
(
const
struct
timespec
__user
*
)
fifth
);
case
SEMGET
:
return
sys_semget
(
first
,
second
,
third
);
case
SEMCTL
:
{
...
...
arch/arm/mach-clps7500/core.c
View file @
4d1de97b
...
...
@@ -12,6 +12,7 @@
#include <linux/list.h>
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/serial_8250.h>
#include <asm/mach/arch.h>
...
...
@@ -305,11 +306,10 @@ static struct irqaction clps7500_timer_irq = {
static
void
__init
clps7500_timer_init
(
void
)
{
ioctime_init
();
setup_irq
(
IRQ_TIMER
,
&
clps7500_timer_irq
);
}
static
struct
clps7500_timer
=
{
static
struct
sys_timer
clps7500_timer
=
{
.
init
=
clps7500_timer_init
,
.
offset
=
ioc_timer_gettimeoffset
,
};
...
...
@@ -360,7 +360,7 @@ static struct platform_device serial_device = {
static
int
__init
clps7500_init
(
void
)
{
return
platform_
register_device
(
&
serial_device
);
return
platform_
device_register
(
&
serial_device
);
}
MACHINE_START
(
CLPS7500
,
"CL-PS7500"
)
...
...
@@ -368,6 +368,7 @@ MACHINE_START(CLPS7500, "CL-PS7500")
BOOT_MEM
(
0x10000000
,
0x03000000
,
0xe0000000
)
MAPIO
(
clps7500_map_io
)
INITIRQ
(
clps7500_init_irq
)
.
timer
=
&
clps7500_timer
,
.
init_machine
=
clps7500_init
,
.
timer
=
&
clps7500_timer
,
MACHINE_END
arch/arm/mach-s3c2410/Kconfig
View file @
4d1de97b
...
...
@@ -58,6 +58,18 @@ config MACH_RX3715
See <http://www.handhelds.org/projects/rx3715.html> for more
information on this project
config MACH_OTOM
bool "NexVision OTOM Board"
select CPU_S3C2410
help
Say Y here if you are using the Nex Vision OTOM board
config MACH_NEXCODER_2440
bool "NexVision NEXCODER 2440 Light Board"
select CPU_S3C2440
help
Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
endmenu
config CPU_S3C2410
...
...
arch/arm/mach-s3c2410/Makefile
View file @
4d1de97b
...
...
@@ -32,3 +32,5 @@ obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o
obj-$(CONFIG_ARCH_S3C2440)
+=
mach-smdk2440.o
obj-$(CONFIG_MACH_VR1000)
+=
mach-vr1000.o usb-simtec.o
obj-$(CONFIG_MACH_RX3715)
+=
mach-rx3715.o
obj-$(CONFIG_MACH_OTOM)
+=
mach-otom.o
obj-$(CONFIG_MACH_NEXCODER_2440)
+=
mach-nexcoder.o
arch/arm/mach-s3c2410/cpu.h
View file @
4d1de97b
...
...
@@ -15,10 +15,13 @@
* 04-Jan-2005 BJD New uart initialisation
* 10-Jan-2005 BJD Moved generic init here, specific to cpu headers
* 14-Jan-2005 BJD Added s3c24xx_init_clocks() call
* 10-Mar-2005 LCVR Changed S3C2410_{VA,SZ} to S3C24XX_{VA,SZ} on IODESC_ENT
* 10-Mar-2005 LCVR Changed S3C2410_{VA,SZ} to S3C24XX_{VA,SZ} & IODESC_ENT
* 14-Mar-2005 BJD Updated for __iomem
*/
#define IODESC_ENT(x) { S3C24XX_VA_##x, S3C2410_PA_##x, S3C24XX_SZ_##x, MT_DEVICE }
/* todo - fix when rmk changes iodescs to use `void __iomem *` */
#define IODESC_ENT(x) { (unsigned long)S3C24XX_VA_##x, S3C2410_PA_##x, S3C24XX_SZ_##x, MT_DEVICE }
#ifndef MHZ
#define MHZ (1000*1000)
...
...
arch/arm/mach-s3c2410/gpio.c
View file @
4d1de97b
/* linux/arch/arm/mach-s3c2410/gpio.c
*
* Copyright (c) 2004 Simtec Electronics
*
Ben Dooks <ben@simtec.co.uk>
* Copyright (c) 2004
-2005
Simtec Electronics
*
Ben Dooks <ben@simtec.co.uk>
*
* S3C2410 GPIO support
*
...
...
@@ -29,9 +29,11 @@
* 01-Oct-2004 BJD Added getirq() to turn pin into irqno
* 04-Oct-2004 BJD Added irq filter controls for GPIO
* 05-Nov-2004 BJD EXPORT_SYMBOL() added for all code
* 13-Mar-2005 BJD Updates for __iomem
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
...
...
@@ -45,7 +47,7 @@
void
s3c2410_gpio_cfgpin
(
unsigned
int
pin
,
unsigned
int
function
)
{
unsigned
long
base
=
S3C2410_GPIO_BASE
(
pin
);
void
__iomem
*
base
=
S3C2410_GPIO_BASE
(
pin
);
unsigned
long
mask
;
unsigned
long
con
;
unsigned
long
flags
;
...
...
@@ -71,7 +73,7 @@ EXPORT_SYMBOL(s3c2410_gpio_cfgpin);
unsigned
int
s3c2410_gpio_getcfg
(
unsigned
int
pin
)
{
unsigned
long
base
=
S3C2410_GPIO_BASE
(
pin
);
void
__iomem
*
base
=
S3C2410_GPIO_BASE
(
pin
);
unsigned
long
mask
;
if
(
pin
<
S3C2410_GPIO_BANKB
)
{
...
...
@@ -87,7 +89,7 @@ EXPORT_SYMBOL(s3c2410_gpio_getcfg);
void
s3c2410_gpio_pullup
(
unsigned
int
pin
,
unsigned
int
to
)
{
unsigned
long
base
=
S3C2410_GPIO_BASE
(
pin
);
void
__iomem
*
base
=
S3C2410_GPIO_BASE
(
pin
);
unsigned
long
offs
=
S3C2410_GPIO_OFFSET
(
pin
);
unsigned
long
flags
;
unsigned
long
up
;
...
...
@@ -109,7 +111,7 @@ EXPORT_SYMBOL(s3c2410_gpio_pullup);
void
s3c2410_gpio_setpin
(
unsigned
int
pin
,
unsigned
int
to
)
{
unsigned
long
base
=
S3C2410_GPIO_BASE
(
pin
);
void
__iomem
*
base
=
S3C2410_GPIO_BASE
(
pin
);
unsigned
long
offs
=
S3C2410_GPIO_OFFSET
(
pin
);
unsigned
long
flags
;
unsigned
long
dat
;
...
...
@@ -128,7 +130,7 @@ EXPORT_SYMBOL(s3c2410_gpio_setpin);
unsigned
int
s3c2410_gpio_getpin
(
unsigned
int
pin
)
{
unsigned
long
base
=
S3C2410_GPIO_BASE
(
pin
);
void
__iomem
*
base
=
S3C2410_GPIO_BASE
(
pin
);
unsigned
long
offs
=
S3C2410_GPIO_OFFSET
(
pin
);
return
__raw_readl
(
base
+
0x04
)
&
(
1
<<
offs
);
...
...
@@ -175,7 +177,7 @@ EXPORT_SYMBOL(s3c2410_gpio_getirq);
int
s3c2410_gpio_irqfilter
(
unsigned
int
pin
,
unsigned
int
on
,
unsigned
int
config
)
{
unsigned
long
reg
=
S3C2410_EINFLT0
;
void
__iomem
*
reg
=
S3C2410_EINFLT0
;
unsigned
long
flags
;
unsigned
long
val
;
...
...
arch/arm/mach-s3c2410/irq.c
View file @
4d1de97b
...
...
@@ -39,6 +39,9 @@
*
* 04-Nov-2004 Ben Dooks
* Fix standard IRQ wake for EINT0..4 and RTC
*
* 22-Feb-2004 Ben Dooks
* Fixed edge-triggering on ADC IRQ
*/
#include <linux/init.h>
...
...
@@ -262,8 +265,8 @@ s3c_irqext_unmask(unsigned int irqno)
static
int
s3c_irqext_type
(
unsigned
int
irq
,
unsigned
int
type
)
{
unsigned
long
extint_reg
;
unsigned
long
gpcon_reg
;
void
__iomem
*
extint_reg
;
void
__iomem
*
gpcon_reg
;
unsigned
long
gpcon_offset
,
extint_offset
;
unsigned
long
newvalue
=
0
,
value
;
...
...
@@ -426,6 +429,23 @@ s3c_irqsub_maskack(unsigned int irqno, unsigned int parentmask, unsigned int gro
}
}
static
inline
void
s3c_irqsub_ack
(
unsigned
int
irqno
,
unsigned
int
parentmask
,
unsigned
int
group
)
{
unsigned
int
bit
=
1UL
<<
(
irqno
-
IRQ_S3CUART_RX0
);
__raw_writel
(
bit
,
S3C2410_SUBSRCPND
);
/* only ack parent if we've got all the irqs (seems we must
* ack, all and hope that the irq system retriggers ok when
* the interrupt goes off again)
*/
if
(
1
)
{
__raw_writel
(
parentmask
,
S3C2410_SRCPND
);
__raw_writel
(
parentmask
,
S3C2410_INTPND
);
}
}
/* UART0 */
...
...
@@ -522,7 +542,7 @@ s3c_irq_adc_unmask(unsigned int irqno)
static
void
s3c_irq_adc_ack
(
unsigned
int
irqno
)
{
s3c_irqsub_
mask
ack
(
irqno
,
INTMSK_ADCPARENT
,
3
<<
9
);
s3c_irqsub_ack
(
irqno
,
INTMSK_ADCPARENT
,
3
<<
9
);
}
static
struct
irqchip
s3c_irq_adc
=
{
...
...
arch/arm/mach-s3c2410/mach-bast.c
View file @
4d1de97b
...
...
@@ -25,6 +25,7 @@
* 14-Jan-2005 BJD Add support for muitlple NAND devices
* 03-Mar-2005 BJD Ensured that bast-cpld.h is included
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
* 14-Mar-2006 BJD Updated for __iomem changes
*/
#include <linux/kernel.h>
...
...
@@ -68,10 +69,10 @@
#define COPYRIGHT ", (c) 2004-2005 Simtec Electronics"
/* macros for virtual address mods for the io space entries */
#define VA_C5(item) ((item) + BAST_VAM_CS5)
#define VA_C4(item) ((item) + BAST_VAM_CS4)
#define VA_C3(item) ((item) + BAST_VAM_CS3)
#define VA_C2(item) ((item) + BAST_VAM_CS2)
#define VA_C5(item) ((
unsigned long)(
item) + BAST_VAM_CS5)
#define VA_C4(item) ((
unsigned long)(
item) + BAST_VAM_CS4)
#define VA_C3(item) ((
unsigned long)(
item) + BAST_VAM_CS3)
#define VA_C2(item) ((
unsigned long)(
item) + BAST_VAM_CS2)
/* macros to modify the physical addresses for io space */
...
...
@@ -83,8 +84,8 @@
static
struct
map_desc
bast_iodesc
[]
__initdata
=
{
/* ISA IO areas */
{
S3C24XX_VA_ISA_BYTE
,
PA_CS2
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
{
S3C24XX_VA_ISA_WORD
,
PA_CS3
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_BYTE
,
PA_CS2
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_WORD
,
PA_CS3
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
/* we could possibly compress the next set down into a set of smaller tables
* pagetables, but that would mean using an L2 section, and it still means
...
...
@@ -92,26 +93,15 @@ static struct map_desc bast_iodesc[] __initdata = {
*/
/* bast CPLD control registers, and external interrupt controls */
{
BAST_VA_CTRL1
,
BAST_PA_CTRL1
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_CTRL2
,
BAST_PA_CTRL2
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_CTRL3
,
BAST_PA_CTRL3
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_CTRL4
,
BAST_PA_CTRL4
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
BAST_VA_CTRL1
,
BAST_PA_CTRL1
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
BAST_VA_CTRL2
,
BAST_PA_CTRL2
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
BAST_VA_CTRL3
,
BAST_PA_CTRL3
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
BAST_VA_CTRL4
,
BAST_PA_CTRL4
,
SZ_1M
,
MT_DEVICE
},
/* PC104 IRQ mux */
{
BAST_VA_PC104_IRQREQ
,
BAST_PA_PC104_IRQREQ
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_PC104_IRQRAW
,
BAST_PA_PC104_IRQRAW
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_PC104_IRQMASK
,
BAST_PA_PC104_IRQMASK
,
SZ_1M
,
MT_DEVICE
},
/* onboard 8bit lcd port */
{
BAST_VA_LCD_RCMD1
,
BAST_PA_LCD_RCMD1
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_LCD_WCMD1
,
BAST_PA_LCD_WCMD1
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_LCD_RDATA1
,
BAST_PA_LCD_RDATA1
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_LCD_WDATA1
,
BAST_PA_LCD_WDATA1
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_LCD_RCMD2
,
BAST_PA_LCD_RCMD2
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_LCD_WCMD2
,
BAST_PA_LCD_WCMD2
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_LCD_RDATA2
,
BAST_PA_LCD_RDATA2
,
SZ_1M
,
MT_DEVICE
},
{
BAST_VA_LCD_WDATA2
,
BAST_PA_LCD_WDATA2
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
BAST_VA_PC104_IRQREQ
,
BAST_PA_PC104_IRQREQ
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
BAST_VA_PC104_IRQRAW
,
BAST_PA_PC104_IRQRAW
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
BAST_VA_PC104_IRQMASK
,
BAST_PA_PC104_IRQMASK
,
SZ_1M
,
MT_DEVICE
},
/* peripheral space... one for each of fast/slow/byte/16bit */
/* note, ide is only decoded in word space, even though some registers
...
...
@@ -410,7 +400,7 @@ static __init void bast_init_machine(void)
MACHINE_START
(
BAST
,
"Simtec-BAST"
)
MAINTAINER
(
"Ben Dooks <ben@simtec.co.uk>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
(
u32
)
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
MAPIO
(
bast_map_io
)
INITIRQ
(
bast_init_irq
)
...
...
arch/arm/mach-s3c2410/mach-h1940.c
View file @
4d1de97b
...
...
@@ -118,7 +118,7 @@ void __init h1940_init_irq(void)
MACHINE_START
(
H1940
,
"IPAQ-H1940"
)
MAINTAINER
(
"Ben Dooks <ben@fluff.org>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
(
u32
)
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
MAPIO
(
h1940_map_io
)
INITIRQ
(
h1940_init_irq
)
...
...
arch/arm/mach-s3c2410/mach-n30.c
View file @
4d1de97b
...
...
@@ -11,9 +11,6 @@
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Modifications:
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
*/
#include <linux/kernel.h>
...
...
@@ -141,7 +138,7 @@ void __init n30_init(void)
MACHINE_START
(
N30
,
"Acer-N30"
)
MAINTAINER
(
"Christer Weinigel <christer@weinigel.se>, Ben Dooks <ben-linux@fluff.org>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
(
u32
)
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
.
timer
=
&
s3c24xx_timer
,
...
...
arch/arm/mach-s3c2410/mach-nexcoder.c
0 → 100644
View file @
4d1de97b
/* linux/arch/arm/mach-s3c2410/mach-nexcoder.c
*
* Copyright (c) 2004 Nex Vision
* Guillaume GOURAT <guillaume.gourat@nexvision.tv>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Modifications:
* 15-10-2004 GG Created initial version
* 12-03-2005 BJD Updated for release
*/
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/timer.h>
#include <linux/init.h>
#include <linux/string.h>
#include <linux/device.h>
#include <linux/mtd/map.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/setup.h>
#include <asm/hardware.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
//#include <asm/debug-ll.h>
#include <asm/arch/regs-gpio.h>
#include <asm/arch/regs-serial.h>
#include "s3c2410.h"
#include "s3c2440.h"
#include "clock.h"
#include "devs.h"
#include "cpu.h"
static
struct
map_desc
nexcoder_iodesc
[]
__initdata
=
{
/* nothing here yet */
};
#define UCON S3C2410_UCON_DEFAULT
#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
#define UFCON S3C2410_UFCON_RXTRIG12 | S3C2410_UFCON_FIFOMODE
static
struct
s3c2410_uartcfg
nexcoder_uartcfgs
[]
=
{
[
0
]
=
{
.
hwport
=
0
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
[
1
]
=
{
.
hwport
=
1
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
[
2
]
=
{
.
hwport
=
2
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
}
};
/* NOR Flash on NexVision NexCoder 2440 board */
static
struct
resource
nexcoder_nor_resource
[]
=
{
[
0
]
=
{
.
start
=
S3C2410_CS0
,
.
end
=
S3C2410_CS0
+
(
8
*
1024
*
1024
)
-
1
,
.
flags
=
IORESOURCE_MEM
,
}
};
static
struct
map_info
nexcoder_nor_map
=
{
.
bankwidth
=
2
,
};
static
struct
platform_device
nexcoder_device_nor
=
{
.
name
=
"mtd-flash"
,
.
id
=
-
1
,
.
num_resources
=
ARRAY_SIZE
(
nexcoder_nor_resource
),
.
resource
=
nexcoder_nor_resource
,
.
dev
=
{
.
platform_data
=
&
nexcoder_nor_map
,
}
};
/* Standard Nexcoder devices */
static
struct
platform_device
*
nexcoder_devices
[]
__initdata
=
{
&
s3c_device_usb
,
&
s3c_device_lcd
,
&
s3c_device_wdt
,
&
s3c_device_i2c
,
&
s3c_device_iis
,
&
s3c_device_rtc
,
&
s3c_device_camif
,
&
s3c_device_spi0
,
&
s3c_device_spi1
,
&
nexcoder_device_nor
,
};
static
struct
s3c24xx_board
nexcoder_board
__initdata
=
{
.
devices
=
nexcoder_devices
,
.
devices_count
=
ARRAY_SIZE
(
nexcoder_devices
),
};
static
void
__init
nexcoder_sensorboard_init
(
void
)
{
// Initialize SCCB bus
s3c2410_gpio_setpin
(
S3C2410_GPE14
,
1
);
// IICSCL
s3c2410_gpio_cfgpin
(
S3C2410_GPE14
,
S3C2410_GPE14_OUTP
);
s3c2410_gpio_setpin
(
S3C2410_GPE15
,
1
);
// IICSDA
s3c2410_gpio_cfgpin
(
S3C2410_GPE15
,
S3C2410_GPE15_OUTP
);
// Power up the sensor board
s3c2410_gpio_setpin
(
S3C2410_GPF1
,
1
);
s3c2410_gpio_cfgpin
(
S3C2410_GPF1
,
S3C2410_GPF1_OUTP
);
// CAM_GPIO7 => nLDO_PWRDN
s3c2410_gpio_setpin
(
S3C2410_GPF2
,
0
);
s3c2410_gpio_cfgpin
(
S3C2410_GPF2
,
S3C2410_GPF2_OUTP
);
// CAM_GPIO6 => CAM_PWRDN
}
void
__init
nexcoder_map_io
(
void
)
{
s3c24xx_init_io
(
nexcoder_iodesc
,
ARRAY_SIZE
(
nexcoder_iodesc
));
s3c24xx_init_clocks
(
0
);
s3c24xx_init_uarts
(
nexcoder_uartcfgs
,
ARRAY_SIZE
(
nexcoder_uartcfgs
));
s3c24xx_set_board
(
&
nexcoder_board
);
nexcoder_sensorboard_init
();
}
MACHINE_START
(
NEXCODER_2440
,
"NexVision - Nexcoder 2440"
)
MAINTAINER
(
"Guillaume GOURAT <guillaume.gourat@nexvision.tv>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
.
map_io
=
nexcoder_map_io
,
.
init_irq
=
s3c24xx_init_irq
,
.
timer
=
&
s3c24xx_timer
,
MACHINE_END
arch/arm/mach-s3c2410/mach-otom.c
0 → 100644
View file @
4d1de97b
/* linux/arch/arm/mach-s3c2410/mach-otom.c
*
* Copyright (c) 2004 Nex Vision
* Guillaume GOURAT <guillaume.gourat@nexvision.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/timer.h>
#include <linux/init.h>
#include <linux/device.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/arch/otom-map.h>
#include <asm/hardware.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/arch/regs-serial.h>
#include <asm/arch/regs-gpio.h>
#include "s3c2410.h"
#include "clock.h"
#include "devs.h"
#include "cpu.h"
static
struct
map_desc
otom11_iodesc
[]
__initdata
=
{
/* Device area */
{
OTOM_VA_CS8900A_BASE
,
OTOM_PA_CS8900A_BASE
,
SZ_16M
,
MT_DEVICE
},
};
#define UCON S3C2410_UCON_DEFAULT
#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
#define UFCON S3C2410_UFCON_RXTRIG12 | S3C2410_UFCON_FIFOMODE
static
struct
s3c2410_uartcfg
otom11_uartcfgs
[]
=
{
[
0
]
=
{
.
hwport
=
0
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
[
1
]
=
{
.
hwport
=
1
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
/* port 2 is not actually used */
[
2
]
=
{
.
hwport
=
2
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
}
};
/* NOR Flash on NexVision OTOM board */
static
struct
resource
otom_nor_resource
[]
=
{
[
0
]
=
{
.
start
=
S3C2410_CS0
,
.
end
=
S3C2410_CS0
+
(
4
*
1024
*
1024
)
-
1
,
.
flags
=
IORESOURCE_MEM
,
}
};
static
struct
platform_device
otom_device_nor
=
{
.
name
=
"mtd-flash"
,
.
id
=
-
1
,
.
num_resources
=
ARRAY_SIZE
(
otom_nor_resource
),
.
resource
=
otom_nor_resource
,
};
/* Standard OTOM devices */
static
struct
platform_device
*
otom11_devices
[]
__initdata
=
{
&
s3c_device_usb
,
&
s3c_device_lcd
,
&
s3c_device_wdt
,
&
s3c_device_i2c
,
&
s3c_device_iis
,
&
s3c_device_rtc
,
&
otom_device_nor
,
};
static
struct
s3c24xx_board
otom11_board
__initdata
=
{
.
devices
=
otom11_devices
,
.
devices_count
=
ARRAY_SIZE
(
otom11_devices
)
};
void
__init
otom11_map_io
(
void
)
{
s3c24xx_init_io
(
otom11_iodesc
,
ARRAY_SIZE
(
otom11_iodesc
));
s3c24xx_init_clocks
(
0
);
s3c24xx_init_uarts
(
otom11_uartcfgs
,
ARRAY_SIZE
(
otom11_uartcfgs
));
s3c24xx_set_board
(
&
otom11_board
);
}
MACHINE_START
(
OTOM
,
"Nex Vision - Otom 1.1"
)
MAINTAINER
(
"Guillaume GOURAT <guillaume.gourat@nexvision.tv>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
.
map_io
=
otom11_map_io
,
.
init_irq
=
s3c24xx_init_irq
,
.
timer
=
&
s3c24xx_timer
,
MACHINE_END
arch/arm/mach-s3c2410/mach-rx3715.c
View file @
4d1de97b
...
...
@@ -15,6 +15,7 @@
* 10-Jan-2005 BJD Removed include of s3c2410.h s3c2440.h
* 14-Jan-2005 BJD Added new clock init
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
* 14-Mar-2005 BJD Fixed __iomem warnings
*/
#include <linux/kernel.h>
...
...
@@ -49,8 +50,8 @@
static
struct
map_desc
rx3715_iodesc
[]
__initdata
=
{
/* dump ISA space somewhere unused */
{
S3C24XX_VA_ISA_WORD
,
S3C2410_CS3
,
SZ_16M
,
MT_DEVICE
},
{
S3C24XX_VA_ISA_BYTE
,
S3C2410_CS3
,
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_WORD
,
S3C2410_CS3
,
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_BYTE
,
S3C2410_CS3
,
SZ_16M
,
MT_DEVICE
},
};
static
struct
s3c2410_uartcfg
rx3715_uartcfgs
[]
=
{
...
...
@@ -115,7 +116,7 @@ static void __init rx3715_init_machine(void)
MACHINE_START
(
RX3715
,
"IPAQ-RX3715"
)
MAINTAINER
(
"Ben Dooks <ben@fluff.org>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
(
u32
)
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
MAPIO
(
rx3715_map_io
)
INITIRQ
(
rx3715_init_irq
)
...
...
arch/arm/mach-s3c2410/mach-smdk2410.c
View file @
4d1de97b
...
...
@@ -113,7 +113,7 @@ void __init smdk2410_init_irq(void)
MACHINE_START
(
SMDK2410
,
"SMDK2410"
)
/* @TODO: request a new identifier and switch
* to SMDK2410 */
MAINTAINER
(
"Jonas Dietsche"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
(
u32
)
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
MAPIO
(
smdk2410_map_io
)
INITIRQ
(
smdk2410_init_irq
)
...
...
arch/arm/mach-s3c2410/mach-smdk2440.c
View file @
4d1de97b
...
...
@@ -17,6 +17,7 @@
* 04-Jan-2005 BJD Fixes for pre-release
* 22-Feb-2005 BJD Updated for 2.6.11-rc5 relesa
* 10-Mar-2005 LCVR Replaced S3C2410_VA by S3C24XX_VA
* 14-Mar-2005 BJD void __iomem fixes
*/
#include <linux/kernel.h>
...
...
@@ -51,8 +52,8 @@
static
struct
map_desc
smdk2440_iodesc
[]
__initdata
=
{
/* ISA IO Space map (memory space selected by A24) */
{
S3C24XX_VA_ISA_WORD
,
S3C2410_CS2
,
SZ_16M
,
MT_DEVICE
},
{
S3C24XX_VA_ISA_BYTE
,
S3C2410_CS2
,
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_WORD
,
S3C2410_CS2
,
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_BYTE
,
S3C2410_CS2
,
SZ_16M
,
MT_DEVICE
},
};
#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK
...
...
@@ -124,7 +125,7 @@ void __init smdk2440_machine_init(void)
MACHINE_START
(
S3C2440
,
"SMDK2440"
)
MAINTAINER
(
"Ben Dooks <ben@fluff.org>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
(
u32
)
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
.
init_irq
=
s3c24xx_init_irq
,
...
...
arch/arm/mach-s3c2410/mach-vr1000.c
View file @
4d1de97b
...
...
@@ -26,6 +26,7 @@
* 20-Jan-2005 BJD Use UPF_IOREMAP for ports
* 10-Feb-2005 BJD Added power-off capability
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
* 14-Mar-2006 BJD void __iomem fixes
*/
#include <linux/kernel.h>
...
...
@@ -63,10 +64,10 @@
#include "usb-simtec.h"
/* macros for virtual address mods for the io space entries */
#define VA_C5(item) ((item) + BAST_VAM_CS5)
#define VA_C4(item) ((item) + BAST_VAM_CS4)
#define VA_C3(item) ((item) + BAST_VAM_CS3)
#define VA_C2(item) ((item) + BAST_VAM_CS2)
#define VA_C5(item) ((
unsigned long)(
item) + BAST_VAM_CS5)
#define VA_C4(item) ((
unsigned long)(
item) + BAST_VAM_CS4)
#define VA_C3(item) ((
unsigned long)(
item) + BAST_VAM_CS3)
#define VA_C2(item) ((
unsigned long)(
item) + BAST_VAM_CS2)
/* macros to modify the physical addresses for io space */
...
...
@@ -78,8 +79,8 @@
static
struct
map_desc
vr1000_iodesc
[]
__initdata
=
{
/* ISA IO areas */
{
S3C24XX_VA_ISA_BYTE
,
PA_CS2
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
{
S3C24XX_VA_ISA_WORD
,
PA_CS3
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_BYTE
,
PA_CS2
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
{
(
u32
)
S3C24XX_VA_ISA_WORD
,
PA_CS3
(
BAST_PA_ISAIO
),
SZ_16M
,
MT_DEVICE
},
/* we could possibly compress the next set down into a set of smaller tables
* pagetables, but that would mean using an L2 section, and it still means
...
...
@@ -87,10 +88,10 @@ static struct map_desc vr1000_iodesc[] __initdata = {
*/
/* bast CPLD control registers, and external interrupt controls */
{
VR1000_VA_CTRL1
,
VR1000_PA_CTRL1
,
SZ_1M
,
MT_DEVICE
},
{
VR1000_VA_CTRL2
,
VR1000_PA_CTRL2
,
SZ_1M
,
MT_DEVICE
},
{
VR1000_VA_CTRL3
,
VR1000_PA_CTRL3
,
SZ_1M
,
MT_DEVICE
},
{
VR1000_VA_CTRL4
,
VR1000_PA_CTRL4
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
VR1000_VA_CTRL1
,
VR1000_PA_CTRL1
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
VR1000_VA_CTRL2
,
VR1000_PA_CTRL2
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
VR1000_VA_CTRL3
,
VR1000_PA_CTRL3
,
SZ_1M
,
MT_DEVICE
},
{
(
u32
)
VR1000_VA_CTRL4
,
VR1000_PA_CTRL4
,
SZ_1M
,
MT_DEVICE
},
/* peripheral space... one for each of fast/slow/byte/16bit */
/* note, ide is only decoded in word space, even though some registers
...
...
@@ -308,7 +309,7 @@ void __init vr1000_init_irq(void)
MACHINE_START
(
VR1000
,
"Thorcom-VR1000"
)
MAINTAINER
(
"Ben Dooks <ben@simtec.co.uk>"
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
S3C24XX_VA_UART
)
BOOT_MEM
(
S3C2410_SDRAM_PA
,
S3C2410_PA_UART
,
(
u32
)
S3C24XX_VA_UART
)
BOOT_PARAMS
(
S3C2410_SDRAM_PA
+
0x100
)
MAPIO
(
vr1000_map_io
)
INITIRQ
(
vr1000_init_irq
)
...
...
arch/arm/mach-s3c2410/pm.c
View file @
4d1de97b
...
...
@@ -396,7 +396,7 @@ void s3c2410_pm_do_save(struct sleep_save *ptr, int count)
{
for
(;
count
>
0
;
count
--
,
ptr
++
)
{
ptr
->
val
=
__raw_readl
(
ptr
->
reg
);
DBG
(
"saved %
08lx
value %08lx
\n
"
,
ptr
->
reg
,
ptr
->
val
);
DBG
(
"saved %
p
value %08lx
\n
"
,
ptr
->
reg
,
ptr
->
val
);
}
}
...
...
@@ -411,7 +411,7 @@ void s3c2410_pm_do_save(struct sleep_save *ptr, int count)
void
s3c2410_pm_do_restore
(
struct
sleep_save
*
ptr
,
int
count
)
{
for
(;
count
>
0
;
count
--
,
ptr
++
)
{
printk
(
KERN_DEBUG
"restore %
08lx
(restore %08lx, was %08x)
\n
"
,
printk
(
KERN_DEBUG
"restore %
p
(restore %08lx, was %08x)
\n
"
,
ptr
->
reg
,
ptr
->
val
,
__raw_readl
(
ptr
->
reg
));
__raw_writel
(
ptr
->
val
,
ptr
->
reg
);
...
...
arch/arm/mach-s3c2410/pm.h
View file @
4d1de97b
...
...
@@ -48,7 +48,7 @@ extern unsigned long s3c2410_sleep_save_phys;
/* sleep save info */
struct
sleep_save
{
unsigned
long
reg
;
void
__iomem
*
reg
;
unsigned
long
val
;
};
...
...
arch/arm/mach-s3c2410/s3c2440-dsc.c
View file @
4d1de97b
...
...
@@ -37,7 +37,7 @@
int
s3c2440_set_dsc
(
unsigned
int
pin
,
unsigned
int
value
)
{
unsigned
long
base
;
void
__iomem
*
base
;
unsigned
long
val
;
unsigned
long
flags
;
unsigned
long
mask
;
...
...
drivers/serial/s3c2410.c
View file @
4d1de97b
...
...
@@ -1094,8 +1094,7 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
dbg
(
"resource %p (%lx..%lx)
\n
"
,
res
,
res
->
start
,
res
->
end
);
port
->
mapbase
=
res
->
start
;
port
->
membase
=
(
void
__iomem
*
)(
res
->
start
-
S3C2410_PA_UART
);
port
->
membase
+=
S3C24XX_VA_UART
;
port
->
membase
=
S3C24XX_VA_UART
+
(
res
->
start
-
S3C2410_PA_UART
);
port
->
irq
=
platform_get_irq
(
platdev
,
0
);
ourport
->
clk
=
clk_get
(
&
platdev
->
dev
,
"uart"
);
...
...
drivers/serial/sa1100.c
View file @
4d1de97b
...
...
@@ -687,21 +687,21 @@ void __init sa1100_register_uart(int idx, int port)
switch
(
port
)
{
case
1
:
sa1100_ports
[
idx
].
port
.
membase
=
(
void
*
)
&
Ser1UTCR0
;
sa1100_ports
[
idx
].
port
.
membase
=
(
void
__iomem
*
)
&
Ser1UTCR0
;
sa1100_ports
[
idx
].
port
.
mapbase
=
_Ser1UTCR0
;
sa1100_ports
[
idx
].
port
.
irq
=
IRQ_Ser1UART
;
sa1100_ports
[
idx
].
port
.
flags
=
ASYNC_BOOT_AUTOCONF
;
break
;
case
2
:
sa1100_ports
[
idx
].
port
.
membase
=
(
void
*
)
&
Ser2UTCR0
;
sa1100_ports
[
idx
].
port
.
membase
=
(
void
__iomem
*
)
&
Ser2UTCR0
;
sa1100_ports
[
idx
].
port
.
mapbase
=
_Ser2UTCR0
;
sa1100_ports
[
idx
].
port
.
irq
=
IRQ_Ser2ICP
;
sa1100_ports
[
idx
].
port
.
flags
=
ASYNC_BOOT_AUTOCONF
;
break
;
case
3
:
sa1100_ports
[
idx
].
port
.
membase
=
(
void
*
)
&
Ser3UTCR0
;
sa1100_ports
[
idx
].
port
.
membase
=
(
void
__iomem
*
)
&
Ser3UTCR0
;
sa1100_ports
[
idx
].
port
.
mapbase
=
_Ser3UTCR0
;
sa1100_ports
[
idx
].
port
.
irq
=
IRQ_Ser3UART
;
sa1100_ports
[
idx
].
port
.
flags
=
ASYNC_BOOT_AUTOCONF
;
...
...
include/asm-arm/arch-rpc/hardware.h
View file @
4d1de97b
...
...
@@ -46,7 +46,7 @@
/*
* IO Addresses
*/
#define VIDC_BASE 0xe0400000
#define VIDC_BASE
(void __iomem *)
0xe0400000
#define EXPMASK_BASE 0xe0360000
#define IOMD_BASE 0xe0200000
#define IOC_BASE 0xe0200000
...
...
include/asm-arm/arch-s3c2410/io.h
View file @
4d1de97b
...
...
@@ -66,9 +66,9 @@ static inline unsigned sz __in##fnsuffix (unsigned int port) \
return (unsigned sz)value; \
}
static
inline
void
__iomem
*
__ioaddr
(
unsigned
int
port
)
static
inline
void
__iomem
*
__ioaddr
(
unsigned
long
port
)
{
return
(
void
__iomem
*
)(
__PORT_PCIO
(
port
)
?
PCIO_BASE
+
port
:
port
)
;
return
__PORT_PCIO
(
port
)
?
(
PCIO_BASE
+
port
)
:
(
void
__iomem
*
)
port
;
}
#define DECLARE_IO(sz,fnsuffix,instr) \
...
...
@@ -168,7 +168,7 @@ DECLARE_IO(int,l,"")
result; \
})
#define __ioaddrc(port) ((
void __iomem *)(__PORT_PCIO(port) ? PCIO_BASE + (port) :
(port)))
#define __ioaddrc(port) ((
__PORT_PCIO(port) ? PCIO_BASE + (port) : (void __iomem *)
(port)))
#define inb(p) (__builtin_constant_p((p)) ? __inbc(p) : __inb(p))
#define inw(p) (__builtin_constant_p((p)) ? __inwc(p) : __inw(p))
...
...
@@ -178,7 +178,7 @@ DECLARE_IO(int,l,"")
#define outl(v,p) (__builtin_constant_p((p)) ? __outlc(v,p) : __outl(v,p))
#define __ioaddr(p) (__builtin_constant_p((p)) ? __ioaddr(p) : __ioaddrc(p))
/* the following macro is deprecated */
#define ioaddr(port)
__ioaddr((port))
#define ioaddr(port) __ioaddr((port))
#define insb(p,d,l) __raw_readsb(__ioaddr(p),d,l)
#define insw(p,d,l) __raw_readsw(__ioaddr(p),d,l)
...
...
include/asm-arm/arch-s3c2410/map.h
View file @
4d1de97b
...
...
@@ -30,7 +30,12 @@
* as they are only useful to certain drivers...
*/
#ifndef __ASSEMBLY__
#define S3C2410_ADDR(x) ((void __iomem *)0xF0000000 + (x))
#else
#define S3C2410_ADDR(x) (0xF0000000 + (x))
#endif
#define S3C2400_ADDR(x) S3C2410_ADDR(x)
/* interrupt controller is the first thing we put in, to make
...
...
include/asm-arm/arch-s3c2410/otom-map.h
0 → 100644
View file @
4d1de97b
/* linux/include/asm-arm/arch-s3c2410/otom-map.h
*
* (c) 2005 Guillaume GOURAT / NexVision
* guillaume.gourat@nexvision.fr
*
* NexVision OTOM board memory map definitions
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/* needs arch/map.h including with this */
/* ok, we've used up to 0x01300000, now we need to find space for the
* peripherals that live in the nGCS[x] areas, which are quite numerous
* in their space.
*/
#ifndef __ASM_ARCH_OTOMMAP_H
#define __ASM_ARCH_OTOMMAP_H
#define OTOM_PA_CS8900A_BASE (S3C2410_CS3 + 0x01000000)
/* nGCS3 +0x01000000 */
#define OTOM_VA_CS8900A_BASE S3C2410_ADDR(0x04000000)
/* 0xF4000000 */
/* physical offset addresses for the peripherals */
#define OTOM_PA_FLASH0_BASE (S3C2410_CS0)
/* Bank 0 */
#endif
/* __ASM_ARCH_OTOMMAP_H */
include/asm-arm/arch-s3c2410/system.h
View file @
4d1de97b
...
...
@@ -30,7 +30,7 @@ void (*s3c24xx_idle)(void);
void
s3c24xx_default_idle
(
void
)
{
unsigned
long
reg
=
S3C2410_CLKCON
;
void
__iomem
*
reg
=
S3C2410_CLKCON
;
unsigned
long
tmp
;
int
i
;
...
...
include/asm-arm/ipc.h
View file @
4d1de97b
...
...
@@ -14,6 +14,7 @@ struct ipc_kludge {
#define SEMOP 1
#define SEMGET 2
#define SEMCTL 3
#define SEMTIMEDOP 4
#define MSGSND 11
#define MSGRCV 12
#define MSGGET 13
...
...
include/asm-arm/unistd.h
View file @
4d1de97b
...
...
@@ -345,6 +345,10 @@
#define __NR_request_key (__NR_SYSCALL_BASE+310)
#define __NR_keyctl (__NR_SYSCALL_BASE+311)
#if 0 /* reserved for un-muxing ipc */
#define __NR_semtimedop (__NR_SYSCALL_BASE+312)
#endif
/*
* The following SWIs are ARM private.
*/
...
...
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