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
0bd5292f
Commit
0bd5292f
authored
Dec 18, 2008
by
Russell King
Committed by
Russell King
Dec 18, 2008
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-rmk' of
git://git.pengutronix.de/git/imx/linux-2.6
into devel
parents
fdb0a1a6
a2449091
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
78 additions
and
81 deletions
+78
-81
arch/arm/mach-mx1/devices.c
arch/arm/mach-mx1/devices.c
+4
-4
arch/arm/mach-mx2/devices.c
arch/arm/mach-mx2/devices.c
+6
-6
arch/arm/mach-mx2/mx27ads.c
arch/arm/mach-mx2/mx27ads.c
+1
-1
arch/arm/mach-mx3/clock.c
arch/arm/mach-mx3/clock.c
+1
-0
arch/arm/mach-mx3/devices.c
arch/arm/mach-mx3/devices.c
+3
-3
arch/arm/plat-mxc/Kconfig
arch/arm/plat-mxc/Kconfig
+1
-0
arch/arm/plat-mxc/dma-mx1-mx2.c
arch/arm/plat-mxc/dma-mx1-mx2.c
+5
-2
arch/arm/plat-mxc/include/mach/board-mx27ads.h
arch/arm/plat-mxc/include/mach/board-mx27ads.h
+1
-1
arch/arm/plat-mxc/include/mach/board-mx31ads.h
arch/arm/plat-mxc/include/mach/board-mx31ads.h
+1
-1
arch/arm/plat-mxc/include/mach/entry-macro.S
arch/arm/plat-mxc/include/mach/entry-macro.S
+2
-0
arch/arm/plat-mxc/include/mach/gpio.h
arch/arm/plat-mxc/include/mach/gpio.h
+2
-2
arch/arm/plat-mxc/include/mach/io.h
arch/arm/plat-mxc/include/mach/io.h
+2
-2
arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h
arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h
+2
-2
arch/arm/plat-mxc/include/mach/iomux-mx3.h
arch/arm/plat-mxc/include/mach/iomux-mx3.h
+1
-1
arch/arm/plat-mxc/include/mach/irqs.h
arch/arm/plat-mxc/include/mach/irqs.h
+26
-1
arch/arm/plat-mxc/include/mach/memory.h
arch/arm/plat-mxc/include/mach/memory.h
+7
-1
arch/arm/plat-mxc/include/mach/mx1.h
arch/arm/plat-mxc/include/mach/mx1.h
+0
-11
arch/arm/plat-mxc/include/mach/mx27.h
arch/arm/plat-mxc/include/mach/mx27.h
+0
-12
arch/arm/plat-mxc/include/mach/mx31.h
arch/arm/plat-mxc/include/mach/mx31.h
+0
-25
arch/arm/plat-mxc/include/mach/timex.h
arch/arm/plat-mxc/include/mach/timex.h
+7
-1
arch/arm/plat-mxc/irq.c
arch/arm/plat-mxc/irq.c
+5
-4
drivers/serial/imx.c
drivers/serial/imx.c
+1
-1
No files found.
arch/arm/mach-mx1/devices.c
View file @
0bd5292f
...
@@ -232,25 +232,25 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
...
@@ -232,25 +232,25 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
.
chip
.
label
=
"gpio-0"
,
.
chip
.
label
=
"gpio-0"
,
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
),
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
),
.
irq
=
GPIO_INT_PORTA
,
.
irq
=
GPIO_INT_PORTA
,
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
},
},
[
1
]
=
{
[
1
]
=
{
.
chip
.
label
=
"gpio-1"
,
.
chip
.
label
=
"gpio-1"
,
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
+
0x100
),
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
+
0x100
),
.
irq
=
GPIO_INT_PORTB
,
.
irq
=
GPIO_INT_PORTB
,
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
32
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
32
},
},
[
2
]
=
{
[
2
]
=
{
.
chip
.
label
=
"gpio-2"
,
.
chip
.
label
=
"gpio-2"
,
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
+
0x200
),
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
+
0x200
),
.
irq
=
GPIO_INT_PORTC
,
.
irq
=
GPIO_INT_PORTC
,
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
64
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
64
},
},
[
3
]
=
{
[
3
]
=
{
.
chip
.
label
=
"gpio-3"
,
.
chip
.
label
=
"gpio-3"
,
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
+
0x300
),
.
base
=
(
void
__iomem
*
)
IO_ADDRESS
(
GPIO_BASE_ADDR
+
0x300
),
.
irq
=
GPIO_INT_PORTD
,
.
irq
=
GPIO_INT_PORTD
,
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
96
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
96
}
}
};
};
...
...
arch/arm/mach-mx2/devices.c
View file @
0bd5292f
...
@@ -230,32 +230,32 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
...
@@ -230,32 +230,32 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
.
chip
.
label
=
"gpio-0"
,
.
chip
.
label
=
"gpio-0"
,
.
irq
=
MXC_INT_GPIO
,
.
irq
=
MXC_INT_GPIO
,
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
0
),
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
0
),
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
,
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
,
},
},
[
1
]
=
{
[
1
]
=
{
.
chip
.
label
=
"gpio-1"
,
.
chip
.
label
=
"gpio-1"
,
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
1
),
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
1
),
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
32
,
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
32
,
},
},
[
2
]
=
{
[
2
]
=
{
.
chip
.
label
=
"gpio-2"
,
.
chip
.
label
=
"gpio-2"
,
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
2
),
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
2
),
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
64
,
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
64
,
},
},
[
3
]
=
{
[
3
]
=
{
.
chip
.
label
=
"gpio-3"
,
.
chip
.
label
=
"gpio-3"
,
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
3
),
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
3
),
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
96
,
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
96
,
},
},
[
4
]
=
{
[
4
]
=
{
.
chip
.
label
=
"gpio-4"
,
.
chip
.
label
=
"gpio-4"
,
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
4
),
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
4
),
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
128
,
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
128
,
},
},
[
5
]
=
{
[
5
]
=
{
.
chip
.
label
=
"gpio-5"
,
.
chip
.
label
=
"gpio-5"
,
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
5
),
.
base
=
(
void
*
)(
AIPI_BASE_ADDR_VIRT
+
0x15000
+
0x100
*
5
),
.
virtual_irq_start
=
MXC_
MAX_INT_LINES
+
160
,
.
virtual_irq_start
=
MXC_
GPIO_IRQ_START
+
160
,
}
}
};
};
...
...
arch/arm/mach-mx2/mx27ads.c
View file @
0bd5292f
...
@@ -93,7 +93,7 @@ static int uart_mxc_port1_init(struct platform_device *pdev)
...
@@ -93,7 +93,7 @@ static int uart_mxc_port1_init(struct platform_device *pdev)
static
int
uart_mxc_port1_exit
(
struct
platform_device
*
pdev
)
static
int
uart_mxc_port1_exit
(
struct
platform_device
*
pdev
)
{
{
mxc_gpio_
setup_releas
e_pins
(
mxc_uart1_pins
,
mxc_gpio_
release_multipl
e_pins
(
mxc_uart1_pins
,
ARRAY_SIZE
(
mxc_uart1_pins
));
ARRAY_SIZE
(
mxc_uart1_pins
));
return
0
;
return
0
;
}
}
...
...
arch/arm/mach-mx3/clock.c
View file @
0bd5292f
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
#include <linux/err.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/io.h>
#include <mach/clock.h>
#include <mach/clock.h>
#include <mach/hardware.h>
#include <asm/div64.h>
#include <asm/div64.h>
#include "crm_regs.h"
#include "crm_regs.h"
...
...
arch/arm/mach-mx3/devices.c
View file @
0bd5292f
...
@@ -125,19 +125,19 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
...
@@ -125,19 +125,19 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
.
chip
.
label
=
"gpio-0"
,
.
chip
.
label
=
"gpio-0"
,
.
base
=
IO_ADDRESS
(
GPIO1_BASE_ADDR
),
.
base
=
IO_ADDRESS
(
GPIO1_BASE_ADDR
),
.
irq
=
MXC_INT_GPIO1
,
.
irq
=
MXC_INT_GPIO1
,
.
virtual_irq_start
=
MXC_GPIO_I
NT_BASE
.
virtual_irq_start
=
MXC_GPIO_I
RQ_START
,
},
},
[
1
]
=
{
[
1
]
=
{
.
chip
.
label
=
"gpio-1"
,
.
chip
.
label
=
"gpio-1"
,
.
base
=
IO_ADDRESS
(
GPIO2_BASE_ADDR
),
.
base
=
IO_ADDRESS
(
GPIO2_BASE_ADDR
),
.
irq
=
MXC_INT_GPIO2
,
.
irq
=
MXC_INT_GPIO2
,
.
virtual_irq_start
=
MXC_GPIO_I
NT_BASE
+
GPIO_NUM_PIN
.
virtual_irq_start
=
MXC_GPIO_I
RQ_START
+
32
,
},
},
[
2
]
=
{
[
2
]
=
{
.
chip
.
label
=
"gpio-2"
,
.
chip
.
label
=
"gpio-2"
,
.
base
=
IO_ADDRESS
(
GPIO3_BASE_ADDR
),
.
base
=
IO_ADDRESS
(
GPIO3_BASE_ADDR
),
.
irq
=
MXC_INT_GPIO3
,
.
irq
=
MXC_INT_GPIO3
,
.
virtual_irq_start
=
MXC_GPIO_I
NT_BASE
+
GPIO_NUM_PIN
*
2
.
virtual_irq_start
=
MXC_GPIO_I
RQ_START
+
64
,
}
}
};
};
...
...
arch/arm/plat-mxc/Kconfig
View file @
0bd5292f
...
@@ -8,6 +8,7 @@ choice
...
@@ -8,6 +8,7 @@ choice
config ARCH_MX1
config ARCH_MX1
bool "MX1-based"
bool "MX1-based"
select CPU_ARM920T
help
help
This enables support for systems based on the Freescale i.MX1 family
This enables support for systems based on the Freescale i.MX1 family
...
...
arch/arm/plat-mxc/dma-mx1-mx2.c
View file @
0bd5292f
...
@@ -511,6 +511,7 @@ void imx_dma_disable(int channel)
...
@@ -511,6 +511,7 @@ void imx_dma_disable(int channel)
}
}
EXPORT_SYMBOL
(
imx_dma_disable
);
EXPORT_SYMBOL
(
imx_dma_disable
);
#ifdef CONFIG_ARCH_MX2
static
void
imx_dma_watchdog
(
unsigned
long
chno
)
static
void
imx_dma_watchdog
(
unsigned
long
chno
)
{
{
struct
imx_dma_channel
*
imxdma
=
&
imx_dma_channels
[
chno
];
struct
imx_dma_channel
*
imxdma
=
&
imx_dma_channels
[
chno
];
...
@@ -522,6 +523,7 @@ static void imx_dma_watchdog(unsigned long chno)
...
@@ -522,6 +523,7 @@ static void imx_dma_watchdog(unsigned long chno)
if
(
imxdma
->
err_handler
)
if
(
imxdma
->
err_handler
)
imxdma
->
err_handler
(
chno
,
imxdma
->
data
,
IMX_DMA_ERR_TIMEOUT
);
imxdma
->
err_handler
(
chno
,
imxdma
->
data
,
IMX_DMA_ERR_TIMEOUT
);
}
}
#endif
static
irqreturn_t
dma_err_handler
(
int
irq
,
void
*
dev_id
)
static
irqreturn_t
dma_err_handler
(
int
irq
,
void
*
dev_id
)
{
{
...
@@ -674,7 +676,7 @@ int imx_dma_request(int channel, const char *name)
...
@@ -674,7 +676,7 @@ int imx_dma_request(int channel, const char *name)
{
{
struct
imx_dma_channel
*
imxdma
=
&
imx_dma_channels
[
channel
];
struct
imx_dma_channel
*
imxdma
=
&
imx_dma_channels
[
channel
];
unsigned
long
flags
;
unsigned
long
flags
;
int
ret
;
int
ret
=
0
;
/* basic sanity checks */
/* basic sanity checks */
if
(
!
name
)
if
(
!
name
)
...
@@ -696,6 +698,7 @@ int imx_dma_request(int channel, const char *name)
...
@@ -696,6 +698,7 @@ int imx_dma_request(int channel, const char *name)
ret
=
request_irq
(
MXC_INT_DMACH0
+
channel
,
dma_irq_handler
,
0
,
"DMA"
,
ret
=
request_irq
(
MXC_INT_DMACH0
+
channel
,
dma_irq_handler
,
0
,
"DMA"
,
NULL
);
NULL
);
if
(
ret
)
{
if
(
ret
)
{
local_irq_restore
(
flags
);
printk
(
KERN_CRIT
"Can't register IRQ %d for DMA channel %d
\n
"
,
printk
(
KERN_CRIT
"Can't register IRQ %d for DMA channel %d
\n
"
,
MXC_INT_DMACH0
+
channel
,
channel
);
MXC_INT_DMACH0
+
channel
,
channel
);
return
ret
;
return
ret
;
...
@@ -712,7 +715,7 @@ int imx_dma_request(int channel, const char *name)
...
@@ -712,7 +715,7 @@ int imx_dma_request(int channel, const char *name)
imxdma
->
sg
=
NULL
;
imxdma
->
sg
=
NULL
;
local_irq_restore
(
flags
);
local_irq_restore
(
flags
);
return
0
;
return
ret
;
}
}
EXPORT_SYMBOL
(
imx_dma_request
);
EXPORT_SYMBOL
(
imx_dma_request
);
...
...
arch/arm/plat-mxc/include/mach/board-mx27ads.h
View file @
0bd5292f
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
#define __ASM_ARCH_MXC_BOARD_MX27ADS_H__
#define __ASM_ARCH_MXC_BOARD_MX27ADS_H__
/* external interrupt multiplexer */
/* external interrupt multiplexer */
#define MXC_EXP_IO_BASE (MXC_
GPIO_BASE + MXC_MAX_GPIO_LINES
)
#define MXC_EXP_IO_BASE (MXC_
BOARD_IRQ_START
)
#define MXC_VIRTUAL_INTS_BASE (MXC_EXP_IO_BASE + MXC_MAX_EXP_IO_LINES)
#define MXC_VIRTUAL_INTS_BASE (MXC_EXP_IO_BASE + MXC_MAX_EXP_IO_LINES)
#define MXC_SDIO1_CARD_IRQ MXC_VIRTUAL_INTS_BASE
#define MXC_SDIO1_CARD_IRQ MXC_VIRTUAL_INTS_BASE
...
...
arch/arm/plat-mxc/include/mach/board-mx31ads.h
View file @
0bd5292f
...
@@ -90,7 +90,7 @@
...
@@ -90,7 +90,7 @@
#define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS)
#define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS)
#define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4)
#define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4)
#define MXC_EXP_IO_BASE (MXC_
MAX_INT_LINES + MXC_MAX_GPIO_LINES
)
#define MXC_EXP_IO_BASE (MXC_
BOARD_IRQ_START
)
#define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE)
#define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE)
#define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0)
#define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0)
...
...
arch/arm/plat-mxc/include/mach/entry-macro.S
View file @
0bd5292f
...
@@ -9,6 +9,8 @@
...
@@ -9,6 +9,8 @@
*
published
by
the
Free
Software
Foundation
.
*
published
by
the
Free
Software
Foundation
.
*/
*/
#include <mach/hardware.h>
#define AVIC_NIMASK 0x04
#define AVIC_NIMASK 0x04
@
this
macro
disables
fast
irq
(
not
implemented
)
@
this
macro
disables
fast
irq
(
not
implemented
)
...
...
arch/arm/plat-mxc/include/mach/gpio.h
View file @
0bd5292f
...
@@ -27,8 +27,8 @@
...
@@ -27,8 +27,8 @@
#define gpio_set_value __gpio_set_value
#define gpio_set_value __gpio_set_value
#define gpio_cansleep __gpio_cansleep
#define gpio_cansleep __gpio_cansleep
#define gpio_to_irq(gpio) (MXC_
MAX_INT_LINES
+ (gpio))
#define gpio_to_irq(gpio) (MXC_
GPIO_IRQ_START
+ (gpio))
#define irq_to_gpio(irq) ((irq) - MXC_
MAX_INT_LINES
)
#define irq_to_gpio(irq) ((irq) - MXC_
GPIO_IRQ_START
)
struct
mxc_gpio_port
{
struct
mxc_gpio_port
{
void
__iomem
*
base
;
void
__iomem
*
base
;
...
...
arch/arm/plat-mxc/include/mach/io.h
View file @
0bd5292f
...
@@ -25,8 +25,8 @@ __mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
...
@@ -25,8 +25,8 @@ __mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
/* Access all peripherals below 0x80000000 as nonshared device
/* Access all peripherals below 0x80000000 as nonshared device
* but leave l2cc alone.
* but leave l2cc alone.
*/
*/
if
((
phys_addr
<
0x80000000
)
&&
((
phys_addr
<
L2CC_BASE_ADDR
)
||
if
((
phys_addr
<
0x80000000
)
&&
((
phys_addr
<
0x30000000
)
||
(
phys_addr
>=
L2CC_BASE_ADDR
+
L2CC_SIZE
)))
(
phys_addr
>=
0x30000000
+
SZ_1M
)))
mtype
=
MT_DEVICE_NONSHARED
;
mtype
=
MT_DEVICE_NONSHARED
;
}
}
...
...
arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h
View file @
0bd5292f
...
@@ -405,9 +405,9 @@ extern void mxc_gpio_release_multiple_pins(const int *pin_list, int count);
...
@@ -405,9 +405,9 @@ extern void mxc_gpio_release_multiple_pins(const int *pin_list, int count);
#endif
#endif
/* decode irq number to use with IMR(x), ISR(x) and friends */
/* decode irq number to use with IMR(x), ISR(x) and friends */
#define IRQ_TO_REG(irq) ((irq - MXC_
MAX_INT_LINE
S) >> 5)
#define IRQ_TO_REG(irq) ((irq - MXC_
INTERNAL_IRQ
S) >> 5)
#define IRQ_GPIOA(x) (MXC_
MAX_INT_LINES
+ x)
#define IRQ_GPIOA(x) (MXC_
GPIO_IRQ_START
+ x)
#define IRQ_GPIOB(x) (IRQ_GPIOA(32) + x)
#define IRQ_GPIOB(x) (IRQ_GPIOA(32) + x)
#define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x)
#define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x)
#define IRQ_GPIOD(x) (IRQ_GPIOC(32) + x)
#define IRQ_GPIOD(x) (IRQ_GPIOC(32) + x)
...
...
arch/arm/plat-mxc/include/mach/iomux-mx3.h
View file @
0bd5292f
...
@@ -141,7 +141,7 @@ void mxc_iomux_set_gpr(enum iomux_gp_func, bool);
...
@@ -141,7 +141,7 @@ void mxc_iomux_set_gpr(enum iomux_gp_func, bool);
((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT)
((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT)
#define IOMUX_TO_IRQ(iomux_pin) \
#define IOMUX_TO_IRQ(iomux_pin) \
(((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) + \
(((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) + \
MXC_GPIO_I
NT_BASE
)
MXC_GPIO_I
RQ_START
)
/*
/*
* This enumeration is constructed based on the Section
* This enumeration is constructed based on the Section
...
...
arch/arm/plat-mxc/include/mach/irqs.h
View file @
0bd5292f
...
@@ -11,7 +11,32 @@
...
@@ -11,7 +11,32 @@
#ifndef __ASM_ARCH_MXC_IRQS_H__
#ifndef __ASM_ARCH_MXC_IRQS_H__
#define __ASM_ARCH_MXC_IRQS_H__
#define __ASM_ARCH_MXC_IRQS_H__
#include <mach/hardware.h>
/*
* So far all i.MX SoCs have 64 internal interrupts
*/
#define MXC_INTERNAL_IRQS 64
#define MXC_GPIO_IRQ_START MXC_INTERNAL_IRQS
#if defined CONFIG_ARCH_MX1
#define MXC_GPIO_IRQS (32 * 4)
#elif defined CONFIG_ARCH_MX2
#define MXC_GPIO_IRQS (32 * 6)
#elif defined CONFIG_ARCH_MX3
#define MXC_GPIO_IRQS (32 * 3)
#endif
/*
* The next 16 interrupts are for board specific purposes. Since
* the kernel can only run on one machine at a time, we can re-use
* these. If you need more, increase MXC_BOARD_IRQS, but keep it
* within sensible limits.
*/
#define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + MXC_GPIO_IRQS)
#define MXC_BOARD_IRQS 16
#define NR_IRQS (MXC_BOARD_IRQ_START + MXC_BOARD_IRQS)
extern
void
imx_irq_set_priority
(
unsigned
char
irq
,
unsigned
char
prio
);
extern
void
imx_irq_set_priority
(
unsigned
char
irq
,
unsigned
char
prio
);
/* all normal IRQs can be FIQs */
/* all normal IRQs can be FIQs */
...
...
arch/arm/plat-mxc/include/mach/memory.h
View file @
0bd5292f
...
@@ -11,6 +11,12 @@
...
@@ -11,6 +11,12 @@
#ifndef __ASM_ARCH_MXC_MEMORY_H__
#ifndef __ASM_ARCH_MXC_MEMORY_H__
#define __ASM_ARCH_MXC_MEMORY_H__
#define __ASM_ARCH_MXC_MEMORY_H__
#include <mach/hardware.h>
#if defined CONFIG_ARCH_MX1
#define PHYS_OFFSET UL(0x08000000)
#elif defined CONFIG_ARCH_MX2
#define PHYS_OFFSET UL(0xA0000000)
#elif defined CONFIG_ARCH_MX3
#define PHYS_OFFSET UL(0x80000000)
#endif
#endif
/* __ASM_ARCH_MXC_MEMORY_H__ */
#endif
/* __ASM_ARCH_MXC_MEMORY_H__ */
arch/arm/plat-mxc/include/mach/mx1.h
View file @
0bd5292f
...
@@ -18,13 +18,6 @@
...
@@ -18,13 +18,6 @@
#include <mach/vmalloc.h>
#include <mach/vmalloc.h>
/*
* defines the hardware clock tick rate
*/
#define CLOCK_TICK_RATE 16000000
#define PHYS_OFFSET UL(0x08000000)
/*
/*
* Memory map
* Memory map
*/
*/
...
@@ -145,10 +138,6 @@
...
@@ -145,10 +138,6 @@
#define GPIO_INT_PORTD 62
#define GPIO_INT_PORTD 62
#define WDT_INT 63
#define WDT_INT 63
#define MXC_MAX_INT_LINES 64
#define NR_IRQS 256
/* gpio and gpio based interrupt handling */
/* gpio and gpio based interrupt handling */
#define GPIO_DR 0x1C
#define GPIO_DR 0x1C
#define GPIO_GDIR 0x00
#define GPIO_GDIR 0x00
...
...
arch/arm/plat-mxc/include/mach/mx27.h
View file @
0bd5292f
...
@@ -289,16 +289,4 @@ extern int mx27_revision(void);
...
@@ -289,16 +289,4 @@ extern int mx27_revision(void);
/* this CPU supports up to 192 GPIOs (don't forget the baseboard!) */
/* this CPU supports up to 192 GPIOs (don't forget the baseboard!) */
#define ARCH_NR_GPIOS (192 + 16)
#define ARCH_NR_GPIOS (192 + 16)
/* OS clock tick rate */
#define CLOCK_TICK_RATE 13300000
/* Start of RAM */
#define PHYS_OFFSET SDRAM_BASE_ADDR
/* max interrupt lines count */
#define NR_IRQS 256
/* count of internal interrupt sources */
#define MXC_MAX_INT_LINES 64
#endif
/* __ASM_ARCH_MXC_MX27_H__ */
#endif
/* __ASM_ARCH_MXC_MX27_H__ */
arch/arm/plat-mxc/include/mach/mx31.h
View file @
0bd5292f
...
@@ -15,11 +15,6 @@
...
@@ -15,11 +15,6 @@
#error "Do not include directly."
#error "Do not include directly."
#endif
#endif
/*!
* defines the hardware clock tick rate
*/
#define CLOCK_TICK_RATE 16625000
/*
/*
* MX31 memory map:
* MX31 memory map:
*
*
...
@@ -244,9 +239,6 @@
...
@@ -244,9 +239,6 @@
#define PCMCIA_IO_ADDRESS(x) \
#define PCMCIA_IO_ADDRESS(x) \
(((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT)
(((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT)
/* Start of physical RAM - On many MX31 platforms, this is the first SDRAM bank (CSD0) */
#define PHYS_OFFSET CSD0_BASE_ADDR
/*
/*
* Interrupt numbers
* Interrupt numbers
*/
*/
...
@@ -315,23 +307,6 @@
...
@@ -315,23 +307,6 @@
#define MXC_INT_EXT_WDOG 62
#define MXC_INT_EXT_WDOG 62
#define MXC_INT_EXT_TV 63
#define MXC_INT_EXT_TV 63
#define MXC_MAX_INT_LINES 64
#define MXC_GPIO_INT_BASE MXC_MAX_INT_LINES
#define MXC_MAX_GPIO_LINES (GPIO_NUM_PIN * GPIO_PORT_NUM)
#define MXC_MAX_VIRTUAL_INTS 16
#define NR_IRQS (MXC_MAX_INT_LINES + MXC_MAX_GPIO_LINES + MXC_MAX_VIRTUAL_INTS)
/*!
* Number of GPIO port as defined in the IC Spec
*/
#define GPIO_PORT_NUM 3
/*!
* Number of GPIO pins per port
*/
#define GPIO_NUM_PIN 32
#define PROD_SIGNATURE 0x1
/* For MX31 */
#define PROD_SIGNATURE 0x1
/* For MX31 */
/* silicon revisions specific to i.MX31 */
/* silicon revisions specific to i.MX31 */
...
...
arch/arm/plat-mxc/include/mach/timex.h
View file @
0bd5292f
...
@@ -20,6 +20,12 @@
...
@@ -20,6 +20,12 @@
#ifndef __ASM_ARCH_MXC_TIMEX_H__
#ifndef __ASM_ARCH_MXC_TIMEX_H__
#define __ASM_ARCH_MXC_TIMEX_H__
#define __ASM_ARCH_MXC_TIMEX_H__
#include <mach/hardware.h>
/* for CLOCK_TICK_RATE */
#if defined CONFIG_ARCH_MX1
#define CLOCK_TICK_RATE 16000000
#elif defined CONFIG_ARCH_MX2
#define CLOCK_TICK_RATE 13300000
#elif defined CONFIG_ARCH_MX3
#define CLOCK_TICK_RATE 16625000
#endif
#endif
/* __ASM_ARCH_MXC_TIMEX_H__ */
#endif
/* __ASM_ARCH_MXC_TIMEX_H__ */
arch/arm/plat-mxc/irq.c
View file @
0bd5292f
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
#include <linux/io.h>
#include <linux/io.h>
#include <mach/common.h>
#include <mach/common.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
#include <mach/hardware.h>
#define AVIC_BASE IO_ADDRESS(AVIC_BASE_ADDR)
#define AVIC_BASE IO_ADDRESS(AVIC_BASE_ADDR)
#define AVIC_INTCNTL (AVIC_BASE + 0x00)
/* int control reg */
#define AVIC_INTCNTL (AVIC_BASE + 0x00)
/* int control reg */
...
@@ -72,14 +73,14 @@ int mxc_set_irq_fiq(unsigned int irq, unsigned int type)
...
@@ -72,14 +73,14 @@ int mxc_set_irq_fiq(unsigned int irq, unsigned int type)
{
{
unsigned
int
irqt
;
unsigned
int
irqt
;
if
(
irq
>=
MXC_
MAX_INT_LINE
S
)
if
(
irq
>=
MXC_
INTERNAL_IRQ
S
)
return
-
EINVAL
;
return
-
EINVAL
;
if
(
irq
<
MXC_
MAX_INT_LINE
S
/
2
)
{
if
(
irq
<
MXC_
INTERNAL_IRQ
S
/
2
)
{
irqt
=
__raw_readl
(
AVIC_INTTYPEL
)
&
~
(
1
<<
irq
);
irqt
=
__raw_readl
(
AVIC_INTTYPEL
)
&
~
(
1
<<
irq
);
__raw_writel
(
irqt
|
(
!!
type
<<
irq
),
AVIC_INTTYPEL
);
__raw_writel
(
irqt
|
(
!!
type
<<
irq
),
AVIC_INTTYPEL
);
}
else
{
}
else
{
irq
-=
MXC_
MAX_INT_LINE
S
/
2
;
irq
-=
MXC_
INTERNAL_IRQ
S
/
2
;
irqt
=
__raw_readl
(
AVIC_INTTYPEH
)
&
~
(
1
<<
irq
);
irqt
=
__raw_readl
(
AVIC_INTTYPEH
)
&
~
(
1
<<
irq
);
__raw_writel
(
irqt
|
(
!!
type
<<
irq
),
AVIC_INTTYPEH
);
__raw_writel
(
irqt
|
(
!!
type
<<
irq
),
AVIC_INTTYPEH
);
}
}
...
@@ -129,7 +130,7 @@ void __init mxc_init_irq(void)
...
@@ -129,7 +130,7 @@ void __init mxc_init_irq(void)
/* all IRQ no FIQ */
/* all IRQ no FIQ */
__raw_writel
(
0
,
AVIC_INTTYPEH
);
__raw_writel
(
0
,
AVIC_INTTYPEH
);
__raw_writel
(
0
,
AVIC_INTTYPEL
);
__raw_writel
(
0
,
AVIC_INTTYPEL
);
for
(
i
=
0
;
i
<
MXC_
MAX_INT_LINE
S
;
i
++
)
{
for
(
i
=
0
;
i
<
MXC_
INTERNAL_IRQ
S
;
i
++
)
{
set_irq_chip
(
i
,
&
mxc_avic_chip
);
set_irq_chip
(
i
,
&
mxc_avic_chip
);
set_irq_handler
(
i
,
handle_level_irq
);
set_irq_handler
(
i
,
handle_level_irq
);
set_irq_flags
(
i
,
IRQF_VALID
);
set_irq_flags
(
i
,
IRQF_VALID
);
...
...
drivers/serial/imx.c
View file @
0bd5292f
...
@@ -191,7 +191,7 @@
...
@@ -191,7 +191,7 @@
#define SERIAL_IMX_MAJOR 207
#define SERIAL_IMX_MAJOR 207
#define MINOR_START 16
#define MINOR_START 16
#define DEV_NAME "ttymxc"
#define DEV_NAME "ttymxc"
#define MAX_INTERNAL_IRQ MXC_
MAX_INT_LINE
S
#define MAX_INTERNAL_IRQ MXC_
INTERNAL_IRQ
S
#endif
#endif
/*
/*
...
...
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