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
368e75c6
Commit
368e75c6
authored
Dec 30, 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
96b61dfd
64359c87
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
60 additions
and
16 deletions
+60
-16
arch/arm/mach-ixp4xx/Kconfig
arch/arm/mach-ixp4xx/Kconfig
+17
-1
arch/arm/mach-ixp4xx/common-pci.c
arch/arm/mach-ixp4xx/common-pci.c
+4
-3
arch/arm/mach-ixp4xx/common.c
arch/arm/mach-ixp4xx/common.c
+18
-4
arch/arm/mach-ixp4xx/ixdp425-pci.c
arch/arm/mach-ixp4xx/ixdp425-pci.c
+2
-3
arch/arm/mach-ixp4xx/ixdp425-setup.c
arch/arm/mach-ixp4xx/ixdp425-setup.c
+18
-0
include/asm-arm/arch-integrator/entry-macro.S
include/asm-arm/arch-integrator/entry-macro.S
+1
-0
include/asm-arm/arch-ixp2000/entry-macro.S
include/asm-arm/arch-ixp2000/entry-macro.S
+0
-5
No files found.
arch/arm/mach-ixp4xx/Kconfig
View file @
368e75c6
...
...
@@ -36,6 +36,14 @@ config MACH_IXDPG425
IXDPG425 Development Platform (Also known as Montajade).
For more information on this platform, see Documentation/arm/IXP4xx.
config MACH_IXDP465
bool "IXDP465"
help
Say 'Y' here if you want your kernel to support Intel's
IXDP465 Development Platform (Also known as BMP).
For more information on this platform, see Documentation/arm/IXP4xx.
#
# IXCDP1100 is the exact same HW as IXDP425, but with a different machine
# number from the bootloader due to marketing monkeys, so we just enable it
...
...
@@ -58,7 +66,15 @@ config ARCH_PRPMC1100
#
config ARCH_IXDP4XX
bool
depends on ARCH_IXDP425 || ARCH_AVILA
depends on ARCH_IXDP425 || ARCH_AVILA || MACH_IXDP465
default y
#
# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
#
config CPU_IXP46X
bool
depends on MACH_IXDP465
default y
comment "IXP4xx Options"
...
...
arch/arm/mach-ixp4xx/common-pci.c
View file @
368e75c6
...
...
@@ -348,10 +348,11 @@ void __init ixp4xx_pci_preinit(void)
asm
(
"mrc p15, 0, %0, cr0, cr0, 0;"
:
"=r"
(
processor_id
)
:
);
/*
* Determine which PCI read method to use
* Determine which PCI read method to use.
* Rev 0 IXP425 requires workaround.
*/
if
(
!
(
processor_id
&
0xf
))
{
printk
(
"PCI: IXP4
x
x A0 silicon detected - "
if
(
!
(
processor_id
&
0xf
)
&&
!
cpu_is_ixp46x
()
)
{
printk
(
"PCI: IXP4
2
x A0 silicon detected - "
"PCI Non-Prefetch Workaround Enabled
\n
"
);
ixp4xx_pci_read
=
ixp4xx_pci_read_errata
;
}
else
...
...
arch/arm/mach-ixp4xx/common.c
View file @
368e75c6
...
...
@@ -145,7 +145,10 @@ void __init ixp4xx_map_io(void)
**************************************************************************/
static
void
ixp4xx_irq_mask
(
unsigned
int
irq
)
{
*
IXP4XX_ICMR
&=
~
(
1
<<
irq
);
if
(
cpu_is_ixp46x
()
&&
irq
>=
32
)
*
IXP4XX_ICMR2
&=
~
(
1
<<
(
irq
-
32
));
else
*
IXP4XX_ICMR
&=
~
(
1
<<
irq
);
}
static
void
ixp4xx_irq_mask_ack
(
unsigned
int
irq
)
...
...
@@ -155,13 +158,13 @@ static void ixp4xx_irq_mask_ack(unsigned int irq)
static
void
ixp4xx_irq_unmask
(
unsigned
int
irq
)
{
static
int
irq2gpio
[
NR_IRQS
]
=
{
static
int
irq2gpio
[
32
]
=
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
0
,
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
-
1
,
-
1
,
};
int
line
=
irq2gpio
[
irq
]
;
int
line
=
(
irq
<
32
)
?
irq2gpio
[
irq
]
:
-
1
;
/*
* This only works for LEVEL gpio IRQs as per the IXP4xx developer's
...
...
@@ -171,7 +174,10 @@ static void ixp4xx_irq_unmask(unsigned int irq)
if
(
line
>=
0
)
gpio_line_isr_clear
(
line
);
*
IXP4XX_ICMR
|=
(
1
<<
irq
);
if
(
cpu_is_ixp46x
()
&&
irq
>=
32
)
*
IXP4XX_ICMR2
|=
(
1
<<
(
irq
-
32
));
else
*
IXP4XX_ICMR
|=
(
1
<<
irq
);
}
static
struct
irqchip
ixp4xx_irq_chip
=
{
...
...
@@ -190,6 +196,14 @@ void __init ixp4xx_init_irq(void)
/* Disable all interrupt */
*
IXP4XX_ICMR
=
0x0
;
if
(
cpu_is_ixp46x
())
{
/* Route upper 32 sources to IRQ instead of FIQ */
*
IXP4XX_ICLR2
=
0x00
;
/* Disable upper 32 interrupts */
*
IXP4XX_ICMR2
=
0x00
;
}
for
(
i
=
0
;
i
<
NR_IRQS
;
i
++
)
{
set_irq_chip
(
i
,
&
ixp4xx_irq_chip
);
...
...
arch/arm/mach-ixp4xx/ixdp425-pci.c
View file @
368e75c6
...
...
@@ -73,9 +73,8 @@ struct hw_pci ixdp425_pci __initdata = {
int
__init
ixdp425_pci_init
(
void
)
{
if
(
machine_is_ixdp425
()
||
machine_is_ixcdp1100
()
||
machine_is_avila
())
if
(
machine_is_ixdp425
()
||
machine_is_ixcdp1100
()
||
machine_is_avila
()
||
machine_is_ixdp465
())
pci_common_init
(
&
ixdp425_pci
);
return
0
;
}
...
...
arch/arm/mach-ixp4xx/ixdp425-setup.c
View file @
368e75c6
...
...
@@ -108,6 +108,13 @@ static struct platform_device *ixdp425_devices[] __initdata = {
static
void
__init
ixdp425_init
(
void
)
{
/*
* IXP465 has 32MB window
*/
if
(
machine_is_ixdp465
())
{
ixdp425_flash_resource
.
end
+=
IXDP425_FLASH_SIZE
;
}
platform_add_devices
(
&
ixdp425_devices
,
ARRAY_SIZE
(
ixdp425_devices
));
}
...
...
@@ -122,6 +129,17 @@ MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
INIT_MACHINE
(
ixdp425_init
)
MACHINE_END
MACHINE_START
(
IXDP465
,
"Intel IXDP465 Development Platform"
)
MAINTAINER
(
"MontaVista Software, Inc."
)
BOOT_MEM
(
PHYS_OFFSET
,
IXP4XX_PERIPHERAL_BASE_PHYS
,
IXP4XX_PERIPHERAL_BASE_VIRT
)
MAPIO
(
ixdp425_map_io
)
INITIRQ
(
ixp4xx_init_irq
)
.
timer
=
&
ixp4xx_timer
,
BOOT_PARAMS
(
0x0100
)
INIT_MACHINE
(
ixdp425_init
)
MACHINE_END
MACHINE_START
(
IXCDP1100
,
"Intel IXCDP1100 Development Platform"
)
MAINTAINER
(
"MontaVista Software, Inc."
)
BOOT_MEM
(
PHYS_OFFSET
,
IXP4XX_PERIPHERAL_BASE_PHYS
,
...
...
include/asm-arm/arch-integrator/entry-macro.S
View file @
368e75c6
...
...
@@ -6,6 +6,7 @@
*
This
file
is
licensed
under
the
terms
of
the
GNU
General
Public
*
License
version
2
.
This
program
is
licensed
"as is"
without
any
*
warranty
of
any
kind
,
whether
express
or
implied
.
*/
.
macro
disable_fiq
.
endm
...
...
include/asm-arm/arch-ixp2000/entry-macro.S
View file @
368e75c6
...
...
@@ -19,11 +19,6 @@
orr
\
base
,
\
base
,
#
0x0000a000
orr
\
base
,
\
base
,
#
0x08
ldr
\
irqstat
,
[
\
base
]
@
get
interrupts
mov
\
tmp
,
#
IXP2000_VALID_IRQ_MASK
&
0xff000000
orr
\
tmp
,
\
tmp
,
#
IXP2000_VALID_IRQ_MASK
&
0x00ff0000
orr
\
tmp
,
\
tmp
,
#
IXP2000_VALID_IRQ_MASK
&
0x0000ff00
orr
\
tmp
,
\
tmp
,
#
IXP2000_VALID_IRQ_MASK
&
0x000000ff
and
\
irqstat
,
\
irqstat
,
\
tmp
cmp
\
irqstat
,
#
0
beq
1001
f
...
...
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