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
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