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
nexedi
linux
Commits
84ac4d4a
Commit
84ac4d4a
authored
Nov 18, 2004
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
bfa523d1
09669bf8
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
62 additions
and
63 deletions
+62
-63
Documentation/arm/Booting
Documentation/arm/Booting
+4
-0
Documentation/arm/IXP2000
Documentation/arm/IXP2000
+5
-5
arch/arm/Kconfig.debug
arch/arm/Kconfig.debug
+3
-3
arch/arm/mach-ixp2000/Makefile.boot
arch/arm/mach-ixp2000/Makefile.boot
+3
-0
arch/arm/mach-ixp2000/core.c
arch/arm/mach-ixp2000/core.c
+1
-1
arch/arm/mach-ixp2000/ixdp2x00.c
arch/arm/mach-ixp2000/ixdp2x00.c
+3
-3
arch/arm/mach-ixp4xx/common-pci.c
arch/arm/mach-ixp4xx/common-pci.c
+6
-24
arch/arm/mach-ixp4xx/common.c
arch/arm/mach-ixp4xx/common.c
+2
-2
arch/arm/mach-s3c2410/dma.c
arch/arm/mach-s3c2410/dma.c
+5
-4
include/asm-arm/arch-ixp2000/dma.h
include/asm-arm/arch-ixp2000/dma.h
+1
-1
include/asm-arm/arch-ixp2000/io.h
include/asm-arm/arch-ixp2000/io.h
+1
-1
include/asm-arm/arch-ixp2000/irqs.h
include/asm-arm/arch-ixp2000/irqs.h
+5
-6
include/asm-arm/arch-ixp2000/ixdp2x00.h
include/asm-arm/arch-ixp2000/ixdp2x00.h
+1
-1
include/asm-arm/arch-ixp2000/ixp2000-regs.h
include/asm-arm/arch-ixp2000/ixp2000-regs.h
+5
-5
include/asm-arm/arch-ixp2000/platform.h
include/asm-arm/arch-ixp2000/platform.h
+3
-3
include/asm-arm/arch-ixp2000/system.h
include/asm-arm/arch-ixp2000/system.h
+1
-1
include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
+1
-1
include/asm-arm/arch-s3c2410/regs-gpio.h
include/asm-arm/arch-s3c2410/regs-gpio.h
+12
-2
No files found.
Documentation/arm/Booting
View file @
84ac4d4a
...
@@ -118,6 +118,10 @@ to store page tables. The recommended placement is 32KiB into RAM.
...
@@ -118,6 +118,10 @@ to store page tables. The recommended placement is 32KiB into RAM.
In either case, the following conditions must be met:
In either case, the following conditions must be met:
- Quiesce all DMA capable devicess so that memory does not get
corrupted by bogus network packets or disk data. This will save
you many hours of debug.
- CPU register settings
- CPU register settings
r0 = 0,
r0 = 0,
r1 = machine type number discovered in (3) above.
r1 = machine type number discovered in (3) above.
...
...
Documentation/arm/IXP2000
View file @
84ac4d4a
...
@@ -18,7 +18,7 @@ http://developer.intel.com/design/network/products/npfamily/ixp2xxx.htm
...
@@ -18,7 +18,7 @@ http://developer.intel.com/design/network/products/npfamily/ixp2xxx.htm
2. Linux Support
2. Linux Support
Linux currently supports the following features on the IXP2000 NPU
S
:
Linux currently supports the following features on the IXP2000 NPU
s
:
- On-chip serial
- On-chip serial
- PCI
- PCI
...
@@ -30,10 +30,10 @@ That is about all we can support under Linux ATM b/c the core networking
...
@@ -30,10 +30,10 @@ That is about all we can support under Linux ATM b/c the core networking
components of the chip are accessed via Intel's closed source SDK.
components of the chip are accessed via Intel's closed source SDK.
Please contact Intel directly on issues with using those. There is
Please contact Intel directly on issues with using those. There is
also a mailing list run by some folks at Princeton University that might
also a mailing list run by some folks at Princeton University that might
be of help
ful
: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx
be of help: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx
WHATEVER YOU DO, DO NOT POST EMAIL TO THE LINUX-ARM OR LINUX-ARM-KERNEL
WHATEVER YOU DO, DO NOT POST EMAIL TO THE LINUX-ARM OR LINUX-ARM-KERNEL
MAILIN
N
G LISTS REGARDING THE INTEL SDK.
MAILING LISTS REGARDING THE INTEL SDK.
3. Supported Platforms
3. Supported Platforms
...
@@ -47,12 +47,12 @@ MAILINNG LISTS REGARDING THE INTEL SDK.
...
@@ -47,12 +47,12 @@ MAILINNG LISTS REGARDING THE INTEL SDK.
- The IXP2000 platforms ususally have rather complex PCI bus topologies
- The IXP2000 platforms ususally have rather complex PCI bus topologies
with large memory space requirements. In addition, b/c of the way the
with large memory space requirements. In addition, b/c of the way the
Intel SDK is designed, devices are enumerated in a ver
t
specific
Intel SDK is designed, devices are enumerated in a ver
y
specific
way. B/c of this this, we use "pci=firmware" option in the kernel
way. B/c of this this, we use "pci=firmware" option in the kernel
command line so that we do not re-enumerate the bus.
command line so that we do not re-enumerate the bus.
- IXDP2x01 systems have variable clock tick rates that we cannot determine
- IXDP2x01 systems have variable clock tick rates that we cannot determine
via HW registers. The "ixdp2x01_clk=XXX" cmd line options allow
s
you
via HW registers. The "ixdp2x01_clk=XXX" cmd line options allow you
to pass the clock rate to the board port.
to pass the clock rate to the board port.
5. Thanks
5. Thanks
...
...
arch/arm/Kconfig.debug
View file @
84ac4d4a
...
@@ -105,14 +105,14 @@ config DEBUG_S3C2410_PORT
...
@@ -105,14 +105,14 @@ config DEBUG_S3C2410_PORT
config DEBUG_S3C2410_UART
config DEBUG_S3C2410_UART
depends on ARCH_S3C2410
depends on ARCH_S3C2410
int "S3C2410 UART to use for low-level
messages and
debug"
int "S3C2410 UART to use for low-level debug"
default "0"
default "0"
help
help
Choice for UART for kernel low-level using S3C2410 UARTS,
Choice for UART for kernel low-level using S3C2410 UARTS,
should be between zero and two. The port must have been
should be between zero and two. The port must have been
initalised by the boot-loader before use.
initalised by the boot-loader before use.
Th
is will affect the port that the uncompressor code uses
Th
e uncompressor code port configuration is now handled
to send debug information to
.
by CONFIG_S3C2410_LOWLEVEL_UART_PORT
.
endmenu
endmenu
arch/arm/mach-ixp2000/Makefile.boot
0 → 100644
View file @
84ac4d4a
zreladdr-y
:=
0x00008000
params_phys-y
:=
0x00000100
arch/arm/mach-ixp2000/core.c
View file @
84ac4d4a
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
*
*
* Based on work Copyright (C) 2002-2003 Intel Corporation
* Based on work Copyright (C) 2002-2003 Intel Corporation
*
*
* This file is licensed under
the terms of the GNU General Public
* This file is licensed under
the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
* warranty of any kind, whether express or implied.
*/
*/
...
...
arch/arm/mach-ixp2000/ixdp2x00.c
View file @
84ac4d4a
...
@@ -194,7 +194,7 @@ void __init ixdp2x00_map_io(void)
...
@@ -194,7 +194,7 @@ void __init ixdp2x00_map_io(void)
* Linux is a common design in telecom systems. The problem is that instead
* Linux is a common design in telecom systems. The problem is that instead
* of all the devices being controlled by a single host, different
* of all the devices being controlled by a single host, different
* devices are controlles by different NPUs on the same bus, leading to
* devices are controlles by different NPUs on the same bus, leading to
* multiple hosts on the bus.
i
The exact bus layout looks like:
* multiple hosts on the bus. The exact bus layout looks like:
*
*
* Bus 0
* Bus 0
* Master NPU <-------------------+-------------------> Slave NPU
* Master NPU <-------------------+-------------------> Slave NPU
...
@@ -210,9 +210,9 @@ void __init ixdp2x00_map_io(void)
...
@@ -210,9 +210,9 @@ void __init ixdp2x00_map_io(void)
* ... Dev PMC Media Eth0 Eth1 ...
* ... Dev PMC Media Eth0 Eth1 ...
*
*
* The master controlls all but Eth1, which is controlled by the
* The master controlls all but Eth1, which is controlled by the
* slave. What this mea
sn
is that the both the master and the slave
* slave. What this mea
ns
is that the both the master and the slave
* have to scan the bus, but only one of them can enumerate the bus.
* have to scan the bus, but only one of them can enumerate the bus.
* In addition, after the bus is scaned, each kernel must remove
* In addition, after the bus is scan
n
ed, each kernel must remove
* the device(s) it does not control from the PCI dev list otherwise
* the device(s) it does not control from the PCI dev list otherwise
* a driver on each NPU will try to manage it and we will have horrible
* a driver on each NPU will try to manage it and we will have horrible
* conflicts. Oh..and the slave NPU needs to see the master NPU
* conflicts. Oh..and the slave NPU needs to see the master NPU
...
...
arch/arm/mach-ixp4xx/common-pci.c
View file @
84ac4d4a
...
@@ -238,9 +238,10 @@ static u32 byte_lane_enable_bits(u32 n, int size)
...
@@ -238,9 +238,10 @@ static u32 byte_lane_enable_bits(u32 n, int size)
return
0xffffffff
;
return
0xffffffff
;
}
}
static
int
read_config
(
u8
bus_num
,
u16
devfn
,
int
where
,
int
size
,
u32
*
value
)
static
int
ixp4xx_pci_read_config
(
struct
pci_bus
*
bus
,
u16
devfn
,
int
where
,
int
size
,
u32
*
value
)
{
{
u32
n
,
byte_enables
,
addr
,
data
;
u32
n
,
byte_enables
,
addr
,
data
;
u8
bus_num
=
bus
->
number
;
pr_debug
(
"read_config from %d size %d dev %d:%d:%d
\n
"
,
where
,
size
,
pr_debug
(
"read_config from %d size %d dev %d:%d:%d
\n
"
,
where
,
size
,
bus_num
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
));
bus_num
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
));
...
@@ -260,9 +261,10 @@ static int read_config(u8 bus_num, u16 devfn, int where, int size, u32 *value)
...
@@ -260,9 +261,10 @@ static int read_config(u8 bus_num, u16 devfn, int where, int size, u32 *value)
return
PCIBIOS_SUCCESSFUL
;
return
PCIBIOS_SUCCESSFUL
;
}
}
static
int
write_config
(
u8
bus_num
,
u16
devfn
,
int
where
,
int
size
,
u32
value
)
static
int
ixp4xx_pci_write_config
(
struct
pci_bus
*
bus
,
u16
devfn
,
int
where
,
int
size
,
u32
value
)
{
{
u32
n
,
byte_enables
,
addr
,
data
;
u32
n
,
byte_enables
,
addr
,
data
;
u8
bus_num
=
bus
->
number
;
pr_debug
(
"write_config_byte %#x to %d size %d dev %d:%d:%d
\n
"
,
value
,
where
,
pr_debug
(
"write_config_byte %#x to %d size %d dev %d:%d:%d
\n
"
,
value
,
where
,
size
,
bus_num
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
));
size
,
bus_num
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
));
...
@@ -280,31 +282,11 @@ static int write_config(u8 bus_num, u16 devfn, int where, int size, u32 value)
...
@@ -280,31 +282,11 @@ static int write_config(u8 bus_num, u16 devfn, int where, int size, u32 value)
return
PCIBIOS_SUCCESSFUL
;
return
PCIBIOS_SUCCESSFUL
;
}
}
/*
* Generalized PCI config access functions.
*/
static
int
ixp4xx_read_config
(
struct
pci_bus
*
bus
,
unsigned
int
devfn
,
int
where
,
int
size
,
u32
*
value
)
{
if
(
bus
->
number
&&
!
PCI_SLOT
(
devfn
))
return
local_read_config
(
where
,
size
,
value
);
return
read_config
(
bus
->
number
,
devfn
,
where
,
size
,
value
);
}
static
int
ixp4xx_write_config
(
struct
pci_bus
*
bus
,
unsigned
int
devfn
,
int
where
,
int
size
,
u32
value
)
{
if
(
bus
->
number
&&
!
PCI_SLOT
(
devfn
))
return
local_write_config
(
where
,
size
,
value
);
return
write_config
(
bus
->
number
,
devfn
,
where
,
size
,
value
);
}
struct
pci_ops
ixp4xx_ops
=
{
struct
pci_ops
ixp4xx_ops
=
{
.
read
=
ixp4xx_read_config
,
.
read
=
ixp4xx_
pci_
read_config
,
.
write
=
ixp4xx_write_config
,
.
write
=
ixp4xx_
pci_
write_config
,
};
};
/*
/*
* PCI abort handler
* PCI abort handler
*/
*/
...
...
arch/arm/mach-ixp4xx/common.c
View file @
84ac4d4a
...
@@ -229,10 +229,10 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs
...
@@ -229,10 +229,10 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs
/*
/*
* Catch up with the real idea of time
* Catch up with the real idea of time
*/
*/
do
{
while
((
*
IXP4XX_OSTS
-
last_jiffy_time
)
>
LATCH
)
{
timer_tick
(
regs
);
timer_tick
(
regs
);
last_jiffy_time
+=
LATCH
;
last_jiffy_time
+=
LATCH
;
}
while
((
*
IXP4XX_OSTS
-
last_jiffy_time
)
>
LATCH
);
}
write_sequnlock
(
&
xtime_lock
);
write_sequnlock
(
&
xtime_lock
);
...
...
arch/arm/mach-s3c2410/dma.c
View file @
84ac4d4a
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
* published by the Free Software Foundation.
* published by the Free Software Foundation.
*
*
* Changelog:
* Changelog:
* 18-Nov-2004 BJD Removed error for loading onto stopped channel
* 10-Nov-2004 BJD Ensure all external symbols exported for modules
* 10-Nov-2004 BJD Ensure all external symbols exported for modules
* 10-Nov-2004 BJD Use sys_device and sysdev_class for power management
* 10-Nov-2004 BJD Use sys_device and sysdev_class for power management
* 08-Aug-2004 BJD Apply rmk's suggestions
* 08-Aug-2004 BJD Apply rmk's suggestions
...
@@ -493,10 +494,6 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
...
@@ -493,10 +494,6 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
}
else
if
(
chan
->
state
==
S3C2410_DMA_IDLE
)
{
}
else
if
(
chan
->
state
==
S3C2410_DMA_IDLE
)
{
if
(
chan
->
flags
&
S3C2410_DMAF_AUTOSTART
)
{
if
(
chan
->
flags
&
S3C2410_DMAF_AUTOSTART
)
{
s3c2410_dma_ctrl
(
chan
->
number
,
S3C2410_DMAOP_START
);
s3c2410_dma_ctrl
(
chan
->
number
,
S3C2410_DMAOP_START
);
}
else
{
printk
(
KERN_DEBUG
"dma%d: cannot load onto stopped channel'n"
,
chan
->
number
);
local_irq_restore
(
flags
);
return
-
EINVAL
;
}
}
}
}
...
@@ -653,6 +650,9 @@ s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs)
...
@@ -653,6 +650,9 @@ s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs)
break
;
break
;
case
S3C2410_DMALOAD_1LOADED_1RUNNING
:
goto
no_load
;
default:
default:
printk
(
KERN_ERR
"dma%d: unknown load_state in irq, %d
\n
"
,
printk
(
KERN_ERR
"dma%d: unknown load_state in irq, %d
\n
"
,
chan
->
number
,
chan
->
load_state
);
chan
->
number
,
chan
->
load_state
);
...
@@ -673,6 +673,7 @@ s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs)
...
@@ -673,6 +673,7 @@ s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs)
}
}
}
}
no_load:
return
IRQ_HANDLED
;
return
IRQ_HANDLED
;
}
}
...
...
include/asm-arm/arch-ixp2000/dma.h
View file @
84ac4d4a
/*
/*
* linux/include/asm-arm/arch-ix
dp24
00/dma.h
* linux/include/asm-arm/arch-ix
p20
00/dma.h
*
*
* Copyright (C) 2002 Intel Corp.
* Copyright (C) 2002 Intel Corp.
*
*
...
...
include/asm-arm/arch-ixp2000/io.h
View file @
84ac4d4a
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
#define ___io(p) ((unsigned long)((p)+IXP2000_PCI_IO_VIRT_BASE))
#define ___io(p) ((unsigned long)((p)+IXP2000_PCI_IO_VIRT_BASE))
/*
/*
* IXP200 does not do proper byte-lane conversion for PCI addresses,
* IXP200
0
does not do proper byte-lane conversion for PCI addresses,
* so we need to override standard functions.
* so we need to override standard functions.
*/
*/
#define alignb(addr) ((addr & ~3) + (3 - (addr & 3)))
#define alignb(addr) ((addr & ~3) + (3 - (addr & 3)))
...
...
include/asm-arm/arch-ixp2000/irqs.h
View file @
84ac4d4a
...
@@ -46,13 +46,12 @@
...
@@ -46,13 +46,12 @@
#define IRQ_IXP2000_PCI 15
/* PCI INTA or INTB */
#define IRQ_IXP2000_PCI 15
/* PCI INTA or INTB */
#define IRQ_IXP2000_THDA0 16
/* thread 0-31A */
#define IRQ_IXP2000_THDA0 16
/* thread 0-31A */
#define IRQ_IXP2000_THDA1 17
/* thread 32-63A */
#define IRQ_IXP2000_THDA1 17
/* thread 32-63A */
#define IRQ_IXP2000_THDA2 18
/* thread 64-95A */
#define IRQ_IXP2000_THDA2 18
/* thread 64-95A
, IXP2800 only
*/
#define IRQ_IXP2000_THDA3 19
/* thread 96-127A */
#define IRQ_IXP2000_THDA3 19
/* thread 96-127A
, IXP2800 only
*/
#define IRQ_IXP2000_THDB0 24
/* thread 0-31
B */
#define IRQ_IXP2000_THDB0 24
/* thread 0-31B */
#define IRQ_IXP2000_THDB1 25
/* thread 32-63B */
#define IRQ_IXP2000_THDB1 25
/* thread 32-63B */
/* only 64 threads supported for IXP2400, rest or for IXP2800*/
#define IRQ_IXP2000_THDB2 26
/* thread 64-95B, IXP2800 only */
#define IRQ_IXP2000_THDB2 26
/* thread 64-95B */
#define IRQ_IXP2000_THDB3 27
/* thread 96-127B, IXP2800 only */
#define IRQ_IXP2000_THDB3 27
/* thread 96-127B */
/* define generic GPIOs */
/* define generic GPIOs */
#define IRQ_IXP2000_GPIO0 32
#define IRQ_IXP2000_GPIO0 32
...
...
include/asm-arm/arch-ixp2000/ixdp2x00.h
View file @
84ac4d4a
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
/*
/*
* PCI devfns for on-board devices. We need these to be able to
* PCI devfns for on-board devices. We need these to be able to
* properly translte IRQs and for device removal.
* properly transl
a
te IRQs and for device removal.
*/
*/
#define IXDP2400_SLAVE_ENET_DEVFN 0x18
/* Bus 1 */
#define IXDP2400_SLAVE_ENET_DEVFN 0x18
/* Bus 1 */
#define IXDP2400_MASTER_ENET_DEVFN 0x20
/* Bus 1 */
#define IXDP2400_MASTER_ENET_DEVFN 0x20
/* Bus 1 */
...
...
include/asm-arm/arch-ixp2000/ixp2000-regs.h
View file @
84ac4d4a
...
@@ -115,7 +115,7 @@
...
@@ -115,7 +115,7 @@
/*
/*
* Mask of valid IRQs in the 32-bit IRQ register. We use
* Mask of valid IRQs in the 32-bit IRQ register. We use
* this to mark certain IRQs as being in
-
valid.
* this to mark certain IRQs as being invalid.
*/
*/
#define IXP2000_VALID_IRQ_MASK 0x0f0fffff
#define IXP2000_VALID_IRQ_MASK 0x0f0fffff
...
@@ -251,7 +251,7 @@
...
@@ -251,7 +251,7 @@
#define SLOWPORT_CCR_DIV_30 0x0f
#define SLOWPORT_CCR_DIV_30 0x0f
/*
/*
* PCR values. PCR configure the mode of the interfac
3
* PCR values. PCR configure the mode of the interfac
e.
*/
*/
#define SLOWPORT_MODE_FLASH 0x00
#define SLOWPORT_MODE_FLASH 0x00
#define SLOWPORT_MODE_LUCENT 0x01
#define SLOWPORT_MODE_LUCENT 0x01
...
@@ -260,7 +260,7 @@
...
@@ -260,7 +260,7 @@
#define SLOWPORT_MODE_MOTOROLA_UP 0x04
#define SLOWPORT_MODE_MOTOROLA_UP 0x04
/*
/*
* ADC values. Defines data and address bus widths
* ADC values. Defines data and address bus widths
.
*/
*/
#define SLOWPORT_ADDR_WIDTH_8 0x00
#define SLOWPORT_ADDR_WIDTH_8 0x00
#define SLOWPORT_ADDR_WIDTH_16 0x01
#define SLOWPORT_ADDR_WIDTH_16 0x01
...
@@ -272,7 +272,7 @@
...
@@ -272,7 +272,7 @@
#define SLOWPORT_DATA_WIDTH_32 0x30
#define SLOWPORT_DATA_WIDTH_32 0x30
/*
/*
* Masks and shifts for various fields in the WTC and RTC registers
* Masks and shifts for various fields in the WTC and RTC registers
.
*/
*/
#define SLOWPORT_WRTC_MASK_HD 0x0003
#define SLOWPORT_WRTC_MASK_HD 0x0003
#define SLOWPORT_WRTC_MASK_SU 0x003c
#define SLOWPORT_WRTC_MASK_SU 0x003c
...
@@ -284,7 +284,7 @@
...
@@ -284,7 +284,7 @@
/*
/*
* GPIO registers & GPIO interface
* GPIO registers & GPIO interface
.
*/
*/
#define IXP2000_GPIO_REG(x) ((volatile unsigned long*)(IXP2000_GPIO_VIRT_BASE+(x)))
#define IXP2000_GPIO_REG(x) ((volatile unsigned long*)(IXP2000_GPIO_VIRT_BASE+(x)))
#define IXP2000_GPIO_PLR IXP2000_GPIO_REG(0x00)
#define IXP2000_GPIO_PLR IXP2000_GPIO_REG(0x00)
...
...
include/asm-arm/arch-ixp2000/platform.h
View file @
84ac4d4a
...
@@ -16,10 +16,10 @@
...
@@ -16,10 +16,10 @@
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__
/*
/*
* The IXP2400 B0 silicon contains an errat
a that causes writes to
* The IXP2400 B0 silicon contains an errat
um (#66) that causes writes
* on-chip I/O register to not complete fully. What this means is
*
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
* 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
d
twice. OR...if it's
* read or write, the first write will happen twice. OR...if it's
* not a back-to-back trasaction, the read or write will generate
* not a back-to-back trasaction, the read or write will generate
* incorrect data.
* incorrect data.
*
*
...
...
include/asm-arm/arch-ixp2000/system.h
View file @
84ac4d4a
/*
/*
* linux/include/asm-arm/arch-ixp2
4
00/system.h
* linux/include/asm-arm/arch-ixp2
0
00/system.h
*
*
* Copyright (C) 2002 Intel Corp.
* Copyright (C) 2002 Intel Corp.
*
*
...
...
include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
View file @
84ac4d4a
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
* PCI Config registers
* PCI Config registers
*/
*/
#define IXP4XX_PCI_CFG_BASE_PHYS (0xC0000000)
#define IXP4XX_PCI_CFG_BASE_PHYS (0xC0000000)
#define IXP4XX_PCI_CFG_BASE_VIRT (0xFFBF
D
000)
#define IXP4XX_PCI_CFG_BASE_VIRT (0xFFBF
E
000)
#define IXP4XX_PCI_CFG_REGION_SIZE (0x00001000)
#define IXP4XX_PCI_CFG_REGION_SIZE (0x00001000)
/*
/*
...
...
include/asm-arm/arch-s3c2410/regs-gpio.h
View file @
84ac4d4a
...
@@ -16,6 +16,8 @@
...
@@ -16,6 +16,8 @@
* 20-07-2004 BJD Added GPIO pin numbers, added Port A definitions
* 20-07-2004 BJD Added GPIO pin numbers, added Port A definitions
* 04-10-2004 BJD Fixed number of bugs, added EXT IRQ filter defs
* 04-10-2004 BJD Fixed number of bugs, added EXT IRQ filter defs
* 17-10-2004 BJD Added GSTATUS1 register definitions
* 17-10-2004 BJD Added GSTATUS1 register definitions
* 18-11-2004 BJD Fixed definitions of GPE3, GPE4, GPE5 and GPE6
* 18-11-2004 BJD Added S3C2440 AC97 controls
*/
*/
...
@@ -424,12 +426,14 @@
...
@@ -424,12 +426,14 @@
#define S3C2410_GPE3_INP (0x00 << 6)
#define S3C2410_GPE3_INP (0x00 << 6)
#define S3C2410_GPE3_OUTP (0x01 << 6)
#define S3C2410_GPE3_OUTP (0x01 << 6)
#define S3C2410_GPE3_I2SSDI (0x02 << 6)
#define S3C2410_GPE3_I2SSDI (0x02 << 6)
#define S3C2410_GPE3_nSS0 (0x03 << 6)
#define S3C2410_GPE3_MASK (0x03 << 6)
#define S3C2410_GPE3_MASK (0x03 << 6)
#define S3C2410_GPE4 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 4)
#define S3C2410_GPE4 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 4)
#define S3C2410_GPE4_INP (0x00 << 8)
#define S3C2410_GPE4_INP (0x00 << 8)
#define S3C2410_GPE4_OUTP (0x01 << 8)
#define S3C2410_GPE4_OUTP (0x01 << 8)
#define S3C2410_GPE4_I2SSDO (0x02 << 8)
#define S3C2410_GPE4_I2SSDO (0x02 << 8)
#define S3C2410_GPE4_I2SSDI (0x03 << 8)
#define S3C2410_GPE4_MASK (0x03 << 8)
#define S3C2410_GPE4_MASK (0x03 << 8)
#define S3C2410_GPE5 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 5)
#define S3C2410_GPE5 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 5)
...
@@ -440,12 +444,12 @@
...
@@ -440,12 +444,12 @@
#define S3C2410_GPE6 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 6)
#define S3C2410_GPE6 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 6)
#define S3C2410_GPE6_INP (0x00 << 12)
#define S3C2410_GPE6_INP (0x00 << 12)
#define S3C2410_GPE6_OUTP (0x01 << 12)
#define S3C2410_GPE6_OUTP (0x01 << 12)
#define S3C2410_GPE6_SDC
LK
(0x02 << 12)
#define S3C2410_GPE6_SDC
MD
(0x02 << 12)
#define S3C2410_GPE7 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 7)
#define S3C2410_GPE7 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 7)
#define S3C2410_GPE7_INP (0x00 << 14)
#define S3C2410_GPE7_INP (0x00 << 14)
#define S3C2410_GPE7_OUTP (0x01 << 14)
#define S3C2410_GPE7_OUTP (0x01 << 14)
#define S3C2410_GPE7_SD
CMD
(0x02 << 14)
#define S3C2410_GPE7_SD
DAT0
(0x02 << 14)
#define S3C2410_GPE8 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 8)
#define S3C2410_GPE8 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 8)
#define S3C2410_GPE8_INP (0x00 << 16)
#define S3C2410_GPE8_INP (0x00 << 16)
...
@@ -489,6 +493,12 @@
...
@@ -489,6 +493,12 @@
#define S3C2410_GPE15_IICSDA (0x02 << 30)
#define S3C2410_GPE15_IICSDA (0x02 << 30)
#define S3C2410_GPE15_MASK (0x03 << 30)
#define S3C2410_GPE15_MASK (0x03 << 30)
#define S3C2440_GPE0_ACSYNC (0x03 << 0)
#define S3C2440_GPE1_ACBITCLK (0x03 << 2)
#define S3C2440_GPE2_ACRESET (0x03 << 4)
#define S3C2440_GPE3_ACIN (0x03 << 6)
#define S3C2440_GPE4_ACOUT (0x03 << 8)
#define S3C2410_GPE_PUPDIS(x) (1<<(x))
#define S3C2410_GPE_PUPDIS(x) (1<<(x))
/* Port F consists of 8 GPIO/Special function
/* Port F consists of 8 GPIO/Special function
...
...
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