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
d24e45f8
Commit
d24e45f8
authored
Oct 04, 2003
by
Nicolas Pitre
Committed by
Russell King
Oct 04, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM PATCH] 1660/1: misc PXA/Lubbock fixes
Patch from Nicolas Pitre
parent
162c65f2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
8 deletions
+22
-8
arch/arm/mach-pxa/irq.c
arch/arm/mach-pxa/irq.c
+13
-3
arch/arm/mach-pxa/lubbock.c
arch/arm/mach-pxa/lubbock.c
+2
-1
include/asm-arm/arch-pxa/irqs.h
include/asm-arm/arch-pxa/irqs.h
+5
-3
include/asm-arm/arch-pxa/lubbock.h
include/asm-arm/arch-pxa/lubbock.h
+2
-1
No files found.
arch/arm/mach-pxa/irq.c
View file @
d24e45f8
...
@@ -58,7 +58,19 @@ static int pxa_gpio_irq_type(unsigned int irq, unsigned int type)
...
@@ -58,7 +58,19 @@ static int pxa_gpio_irq_type(unsigned int irq, unsigned int type)
{
{
int
gpio
,
idx
;
int
gpio
,
idx
;
gpio
=
irq
-
((
irq
>=
IRQ_GPIO
(
2
))
?
IRQ_GPIO
(
2
)
+
2
:
IRQ_GPIO
(
0
));
gpio
=
IRQ_TO_GPIO
(
irq
);
idx
=
gpio
>>
5
;
if
(
type
==
IRQT_PROBE
)
{
/* Don't mess with enabled GPIOs using preconfigured edges or
GPIOs set to alternate function during probe */
if
((
GPIO_IRQ_rising_edge
[
idx
]
|
GPIO_IRQ_falling_edge
[
idx
])
&
GPIO_bit
(
gpio
))
return
0
;
if
(
GAFR
(
gpio
)
&
(
0x3
<<
(((
gpio
)
&
0xf
)
*
2
)))
return
0
;
type
=
__IRQT_RISEDGE
|
__IRQT_FALEDGE
;
}
printk
(
KERN_DEBUG
"IRQ%d (GPIO%d): "
,
irq
,
gpio
);
printk
(
KERN_DEBUG
"IRQ%d (GPIO%d): "
,
irq
,
gpio
);
...
@@ -78,10 +90,8 @@ static int pxa_gpio_irq_type(unsigned int irq, unsigned int type)
...
@@ -78,10 +90,8 @@ static int pxa_gpio_irq_type(unsigned int irq, unsigned int type)
printk
(
"edges
\n
"
);
printk
(
"edges
\n
"
);
idx
=
gpio
>>
5
;
GRER
(
gpio
)
=
GPIO_IRQ_rising_edge
[
idx
]
&
GPIO_IRQ_mask
[
idx
];
GRER
(
gpio
)
=
GPIO_IRQ_rising_edge
[
idx
]
&
GPIO_IRQ_mask
[
idx
];
GFER
(
gpio
)
=
GPIO_IRQ_falling_edge
[
idx
]
&
GPIO_IRQ_mask
[
idx
];
GFER
(
gpio
)
=
GPIO_IRQ_falling_edge
[
idx
]
&
GPIO_IRQ_mask
[
idx
];
return
0
;
return
0
;
}
}
...
...
arch/arm/mach-pxa/lubbock.c
View file @
d24e45f8
...
@@ -78,7 +78,7 @@ static void __init lubbock_init_irq(void)
...
@@ -78,7 +78,7 @@ static void __init lubbock_init_irq(void)
pxa_init_irq
();
pxa_init_irq
();
/* setup extra lubbock irqs */
/* setup extra lubbock irqs */
for
(
irq
=
LUBBOCK_IRQ
(
0
);
irq
<=
LUBBOCK_
IRQ
(
5
)
;
irq
++
)
{
for
(
irq
=
LUBBOCK_IRQ
(
0
);
irq
<=
LUBBOCK_
LAST_IRQ
;
irq
++
)
{
set_irq_chip
(
irq
,
&
lubbock_irq_chip
);
set_irq_chip
(
irq
,
&
lubbock_irq_chip
);
set_irq_handler
(
irq
,
do_level_IRQ
);
set_irq_handler
(
irq
,
do_level_IRQ
);
set_irq_flags
(
irq
,
IRQF_VALID
|
IRQF_PROBE
);
set_irq_flags
(
irq
,
IRQF_VALID
|
IRQF_PROBE
);
...
@@ -124,6 +124,7 @@ static struct map_desc lubbock_io_desc[] __initdata = {
...
@@ -124,6 +124,7 @@ static struct map_desc lubbock_io_desc[] __initdata = {
{
0xf0000000
,
0x08000000
,
0x00100000
,
MT_DEVICE
},
/* CPLD */
{
0xf0000000
,
0x08000000
,
0x00100000
,
MT_DEVICE
},
/* CPLD */
{
0xf1000000
,
0x0c000000
,
0x00100000
,
MT_DEVICE
},
/* LAN91C96 IO */
{
0xf1000000
,
0x0c000000
,
0x00100000
,
MT_DEVICE
},
/* LAN91C96 IO */
{
0xf1100000
,
0x0e000000
,
0x00100000
,
MT_DEVICE
},
/* LAN91C96 Attr */
{
0xf1100000
,
0x0e000000
,
0x00100000
,
MT_DEVICE
},
/* LAN91C96 Attr */
{
0xf4000000
,
0x10000000
,
0x00800000
,
MT_DEVICE
},
/* SA1111 */
};
};
static
void
__init
lubbock_map_io
(
void
)
static
void
__init
lubbock_map_io
(
void
)
...
...
include/asm-arm/arch-pxa/irqs.h
View file @
d24e45f8
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
*/
*/
#define PXA_IRQ_SKIP 7
/* The first 7 IRQs are not yet used */
#define PXA_IRQ_SKIP 7
/* The first 7 IRQs are not yet used */
#define PXA_IRQ(x)
((x) - PXA_IRQ_SKIP)
#define PXA_IRQ(x) ((x) - PXA_IRQ_SKIP)
#define IRQ_HWUART PXA_IRQ(7)
/* HWUART Transmit/Receive/Error */
#define IRQ_HWUART PXA_IRQ(7)
/* HWUART Transmit/Receive/Error */
#define IRQ_GPIO0 PXA_IRQ(8)
/* GPIO0 Edge Detect */
#define IRQ_GPIO0 PXA_IRQ(8)
/* GPIO0 Edge Detect */
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
#define IRQ_TO_GPIO_2_80(i) \
#define IRQ_TO_GPIO_2_80(i) \
((i) - PXA_IRQ(32) + 2)
((i) - PXA_IRQ(32) + 2)
#define IRQ_TO_GPIO(i) ((i) - (((i) > IRQ_GPIO1) ? IRQ_GPIO(2) : IRQ_GPIO(0)))
#define IRQ_TO_GPIO(i) ((i) - (((i) > IRQ_GPIO1) ? IRQ_GPIO(2)
- 2
: IRQ_GPIO(0)))
/*
/*
* The next 16 interrupts are for board specific purposes. Since
* The next 16 interrupts are for board specific purposes. Since
...
@@ -129,8 +129,10 @@
...
@@ -129,8 +129,10 @@
#define LUBBOCK_IRQ(x) (IRQ_BOARD_START + (x))
#define LUBBOCK_IRQ(x) (IRQ_BOARD_START + (x))
#define LUBBOCK_SD_IRQ LUBBOCK_IRQ(0)
#define LUBBOCK_SD_IRQ LUBBOCK_IRQ(0)
#define LUBBOCK_SA1111_IRQ LUBBOCK_IRQ(1)
#define LUBBOCK_SA1111_IRQ LUBBOCK_IRQ(1)
#define LUBBOCK_USB_IRQ LUBBOCK_IRQ(2)
#define LUBBOCK_USB_IRQ LUBBOCK_IRQ(2)
/* usb connect */
#define LUBBOCK_ETH_IRQ LUBBOCK_IRQ(3)
#define LUBBOCK_ETH_IRQ LUBBOCK_IRQ(3)
#define LUBBOCK_UCB1400_IRQ LUBBOCK_IRQ(4)
#define LUBBOCK_UCB1400_IRQ LUBBOCK_IRQ(4)
#define LUBBOCK_BB_IRQ LUBBOCK_IRQ(5)
#define LUBBOCK_BB_IRQ LUBBOCK_IRQ(5)
#define LUBBOCK_USB_DISC_IRQ LUBBOCK_IRQ(6)
/* usb disconnect */
#define LUBBOCK_LAST_IRQ LUBBOCK_IRQ(6)
include/asm-arm/arch-pxa/lubbock.h
View file @
d24e45f8
...
@@ -12,7 +12,8 @@
...
@@ -12,7 +12,8 @@
#define LUBBOCK_FPGA_PHYS PXA_CS2_PHYS
#define LUBBOCK_FPGA_PHYS PXA_CS2_PHYS
#define LUBBOCK_FPGA_VIRT (0xf0000000)
/* phys 0x08000000 */
#define LUBBOCK_FPGA_VIRT (0xf0000000)
/* phys 0x08000000 */
#define LUBBOCK_ETH_BASE (0xf1000000)
/* phys 0x0c000000 */
#define LUBBOCK_ETH_PHYS PXA_CS3_PHYS
#define LUBBOCK_ETH_VIRT (0xf1000000)
#define LUB_P2V(x) ((x) - LUBBOCK_FPGA_PHYS + LUBBOCK_FPGA_VIRT)
#define LUB_P2V(x) ((x) - LUBBOCK_FPGA_PHYS + LUBBOCK_FPGA_VIRT)
#define LUB_V2P(x) ((x) - LUBBOCK_FPGA_VIRT + LUBBOCK_FPGA_PHYS)
#define LUB_V2P(x) ((x) - LUBBOCK_FPGA_VIRT + LUBBOCK_FPGA_PHYS)
...
...
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