sh: Fix irq assignment for uarts on sh7722
This patch contains two serial port related fixes for sh7722:
- Make sure the irqs for the first serial port is correct
- Add the second and third serial port to the platform data
Signed-off-by: Magnus Damm <da...@ig...>
---
Tested on a Solution Engline 7722
Applies to git linux-2.6 a5fcaa210626a79465321e344c91a6a7dc3881fa
arch/sh/configs/se7722_defconfig | 2 +-
arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 25 +++++++++++++++++++------
2 files changed, 20 insertions(+), 7 deletions(-)
--- 0001/arch/sh/configs/se7722_defconfig
+++ work/arch/sh/configs/se7722_defconfig 2007-07-13 19:05:22.000000000 +0900
@@ -565,7 +565,7 @@ CONFIG_SERIO_LIBPS2=y
# Non-8250 serial port support
#
CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=2
+CONFIG_SERIAL_SH_SCI_NR_UARTS=3
CONFIG_SERIAL_SH_SCI_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
--- 0001/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
+++ work/arch/sh/kernel/cpu/sh4a/setup-sh7722.c 2007-07-11 17:21:20.000000000 +0900
@@ -19,8 +19,21 @@ static struct plat_sci_port sci_platform
.mapbase = 0xffe00000,
.flags = UPF_BOOT_AUTOCONF,
.type = PORT_SCIF,
- .irqs = { 80, 81, 83, 82 },
- }, {
+ .irqs = { 80, 80, 80, 80 },
+ },
+ {
+ .mapbase = 0xffe10000,
+ .flags = UPF_BOOT_AUTOCONF,
+ .type = PORT_SCIF,
+ .irqs = { 81, 81, 81, 81 },
+ },
+ {
+ .mapbase = 0xffe20000,
+ .flags = UPF_BOOT_AUTOCONF,
+ .type = PORT_SCIF,
+ .irqs = { 82, 82, 82, 82 },
+ },
+ {
.flags = 0,
}
};
@@ -48,10 +61,10 @@ static struct ipr_data ipr_irq_table[] =
/* IRQ, IPR-idx, shift, prio */
{ 16, 0, 12, 2 }, /* TMU0 */
{ 17, 0, 8, 2 }, /* TMU1 */
- { 80, 6, 12, 3 }, /* SCIF ERI */
- { 81, 6, 12, 3 }, /* SCIF RXI */
- { 82, 6, 12, 3 }, /* SCIF BRI */
- { 83, 6, 12, 3 }, /* SCIF TXI */
+ { 80, 6, 12, 3 }, /* SCIF0 */
+ { 81, 6, 8, 3 }, /* SCIF1 */
+ { 82, 6, 4, 3 }, /* SCIF2 */
+
};
static unsigned long ipr_offsets[] = {
|