mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 15:43:59 +08:00
sh: Declare SCIF register base and IRQ as resources
Passing the register base address and IRQ through platform data is deprecated. Use resources instead. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This commit is contained in:
parent
ec09c5eb49
commit
d850acf975
@ -61,51 +61,66 @@ static DECLARE_INTC_DESC(intc_desc, "sh7619", vectors, NULL,
|
|||||||
NULL, prio_registers, NULL);
|
NULL, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xf8400000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(88),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xf8400000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(88),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xf8410000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(92),
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xf8410000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(92),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xf8420000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(96),
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xf8420000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(96),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -199,17 +199,22 @@ static struct platform_device mtu2_2_device = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xff804000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(220),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff804000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(220),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -178,136 +178,176 @@ static DECLARE_INTC_DESC(intc_desc, "sh7201", vectors, groups,
|
|||||||
mask_registers, prio_registers, NULL);
|
mask_registers, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xfffe8000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(180),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(180),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xfffe8800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(184),
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(184),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xfffe9000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(188),
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(188),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xfffe9800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(192),
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(192),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xfffea000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(196),
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffea000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(196),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xfffea800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(200),
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffea800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(200),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif6_platform_data = {
|
static struct plat_sci_port scif6_platform_data = {
|
||||||
.mapbase = 0xfffeb000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(204),
|
};
|
||||||
|
|
||||||
|
static struct resource scif6_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffeb000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(204),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif6_device = {
|
static struct platform_device scif6_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 6,
|
.id = 6,
|
||||||
|
.resource = scif6_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif6_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif6_platform_data,
|
.platform_data = &scif6_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif7_platform_data = {
|
static struct plat_sci_port scif7_platform_data = {
|
||||||
.mapbase = 0xfffeb800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(208),
|
};
|
||||||
|
|
||||||
|
static struct resource scif7_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffeb800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(208),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif7_device = {
|
static struct platform_device scif7_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 7,
|
.id = 7,
|
||||||
|
.resource = scif7_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif7_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif7_platform_data,
|
.platform_data = &scif7_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -174,76 +174,96 @@ static DECLARE_INTC_DESC(intc_desc, "sh7203", vectors, groups,
|
|||||||
mask_registers, prio_registers, NULL);
|
mask_registers, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xfffe8000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE,
|
SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(192),
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(192),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xfffe8800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE,
|
SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(196),
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(196),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xfffe9000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE,
|
SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(200),
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(200),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xfffe9800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE,
|
SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(204),
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(204),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -134,68 +134,88 @@ static DECLARE_INTC_DESC(intc_desc, "sh7206", vectors, groups,
|
|||||||
mask_registers, prio_registers, NULL);
|
mask_registers, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xfffe8000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(240),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(240),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xfffe8800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(244),
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(244),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xfffe9000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(248),
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(248),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xfffe9800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(252),
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(252),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -226,152 +226,216 @@ static DECLARE_INTC_DESC(intc_desc, "sh7264", vectors, groups,
|
|||||||
mask_registers, prio_registers, NULL);
|
mask_registers, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xfffe8000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 233, 234, 235, 232 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(233),
|
||||||
|
DEFINE_RES_IRQ(234),
|
||||||
|
DEFINE_RES_IRQ(235),
|
||||||
|
DEFINE_RES_IRQ(232),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xfffe8800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 237, 238, 239, 236 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe8800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(237),
|
||||||
|
DEFINE_RES_IRQ(238),
|
||||||
|
DEFINE_RES_IRQ(239),
|
||||||
|
DEFINE_RES_IRQ(236),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xfffe9000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 241, 242, 243, 240 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(241),
|
||||||
|
DEFINE_RES_IRQ(242),
|
||||||
|
DEFINE_RES_IRQ(243),
|
||||||
|
DEFINE_RES_IRQ(240),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xfffe9800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 245, 246, 247, 244 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffe9800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(245),
|
||||||
|
DEFINE_RES_IRQ(246),
|
||||||
|
DEFINE_RES_IRQ(247),
|
||||||
|
DEFINE_RES_IRQ(244),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xfffea000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 249, 250, 251, 248 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffea000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(249),
|
||||||
|
DEFINE_RES_IRQ(250),
|
||||||
|
DEFINE_RES_IRQ(251),
|
||||||
|
DEFINE_RES_IRQ(248),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xfffea800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 253, 254, 255, 252 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffea800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(253),
|
||||||
|
DEFINE_RES_IRQ(254),
|
||||||
|
DEFINE_RES_IRQ(255),
|
||||||
|
DEFINE_RES_IRQ(252),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif6_platform_data = {
|
static struct plat_sci_port scif6_platform_data = {
|
||||||
.mapbase = 0xfffeb000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 257, 258, 259, 256 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif6_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffeb000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(257),
|
||||||
|
DEFINE_RES_IRQ(258),
|
||||||
|
DEFINE_RES_IRQ(259),
|
||||||
|
DEFINE_RES_IRQ(256),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif6_device = {
|
static struct platform_device scif6_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 6,
|
.id = 6,
|
||||||
|
.resource = scif6_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif6_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif6_platform_data,
|
.platform_data = &scif6_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif7_platform_data = {
|
static struct plat_sci_port scif7_platform_data = {
|
||||||
.mapbase = 0xfffeb800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 261, 262, 263, 260 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif7_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffeb800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(261),
|
||||||
|
DEFINE_RES_IRQ(262),
|
||||||
|
DEFINE_RES_IRQ(263),
|
||||||
|
DEFINE_RES_IRQ(260),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif7_device = {
|
static struct platform_device scif7_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 7,
|
.id = 7,
|
||||||
|
.resource = scif7_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif7_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif7_platform_data,
|
.platform_data = &scif7_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -248,152 +248,216 @@ static DECLARE_INTC_DESC(intc_desc, "sh7269", vectors, groups,
|
|||||||
mask_registers, prio_registers, NULL);
|
mask_registers, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xe8007000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 259, 260, 261, 258 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe8007000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(259),
|
||||||
|
DEFINE_RES_IRQ(260),
|
||||||
|
DEFINE_RES_IRQ(261),
|
||||||
|
DEFINE_RES_IRQ(258),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xe8007800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 263, 264, 265, 262 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe8007800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(263),
|
||||||
|
DEFINE_RES_IRQ(264),
|
||||||
|
DEFINE_RES_IRQ(265),
|
||||||
|
DEFINE_RES_IRQ(262),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xe8008000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 267, 268, 269, 266 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe8008000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(267),
|
||||||
|
DEFINE_RES_IRQ(268),
|
||||||
|
DEFINE_RES_IRQ(269),
|
||||||
|
DEFINE_RES_IRQ(266),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xe8008800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 271, 272, 273, 270 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe8008800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(271),
|
||||||
|
DEFINE_RES_IRQ(272),
|
||||||
|
DEFINE_RES_IRQ(273),
|
||||||
|
DEFINE_RES_IRQ(270),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xe8009000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 275, 276, 277, 274 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe8009000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(275),
|
||||||
|
DEFINE_RES_IRQ(276),
|
||||||
|
DEFINE_RES_IRQ(277),
|
||||||
|
DEFINE_RES_IRQ(274),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xe8009800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 279, 280, 281, 278 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe8009800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(279),
|
||||||
|
DEFINE_RES_IRQ(280),
|
||||||
|
DEFINE_RES_IRQ(281),
|
||||||
|
DEFINE_RES_IRQ(278),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif6_platform_data = {
|
static struct plat_sci_port scif6_platform_data = {
|
||||||
.mapbase = 0xe800a000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 283, 284, 285, 282 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif6_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe800a000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(283),
|
||||||
|
DEFINE_RES_IRQ(284),
|
||||||
|
DEFINE_RES_IRQ(285),
|
||||||
|
DEFINE_RES_IRQ(282),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif6_device = {
|
static struct platform_device scif6_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 6,
|
.id = 6,
|
||||||
|
.resource = scif6_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif6_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif6_platform_data,
|
.platform_data = &scif6_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif7_platform_data = {
|
static struct plat_sci_port scif7_platform_data = {
|
||||||
.mapbase = 0xe800a800,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
|
||||||
SCSCR_REIE | SCSCR_TOIE,
|
SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 287, 288, 289, 286 },
|
|
||||||
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif7_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xe800a800, 0x100),
|
||||||
|
DEFINE_RES_IRQ(287),
|
||||||
|
DEFINE_RES_IRQ(288),
|
||||||
|
DEFINE_RES_IRQ(289),
|
||||||
|
DEFINE_RES_IRQ(286),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif7_device = {
|
static struct platform_device scif7_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 7,
|
.id = 7,
|
||||||
|
.resource = scif7_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif7_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif7_platform_data,
|
.platform_data = &scif7_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -70,39 +70,49 @@ static DECLARE_INTC_DESC(intc_desc, "sh7705", vectors, NULL,
|
|||||||
NULL, prio_registers, NULL);
|
NULL, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xa4410000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TIE | SCSCR_RIE | SCSCR_TE |
|
.scscr = SCSCR_TIE | SCSCR_RIE | SCSCR_TE |
|
||||||
SCSCR_RE | SCSCR_CKE1 | SCSCR_CKE0,
|
SCSCR_RE | SCSCR_CKE1 | SCSCR_CKE0,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_4,
|
.scbrr_algo_id = SCBRR_ALGO_4,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x900)),
|
|
||||||
.ops = &sh770x_sci_port_ops,
|
.ops = &sh770x_sci_port_ops,
|
||||||
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4410000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x900)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xa4400000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TIE | SCSCR_RIE | SCSCR_TE | SCSCR_RE,
|
.scscr = SCSCR_TIE | SCSCR_RIE | SCSCR_TE | SCSCR_RE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_4,
|
.scbrr_algo_id = SCBRR_ALGO_4,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x880)),
|
|
||||||
.ops = &sh770x_sci_port_ops,
|
.ops = &sh770x_sci_port_ops,
|
||||||
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4400000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x880)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -109,20 +109,25 @@ static struct platform_device rtc_device = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xfffffe80,
|
|
||||||
.port_reg = 0xa4000136,
|
.port_reg = 0xa4000136,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TE | SCSCR_RE,
|
.scscr = SCSCR_TE | SCSCR_RE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCI,
|
.type = PORT_SCI,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x4e0)),
|
|
||||||
.ops = &sh770x_sci_port_ops,
|
.ops = &sh770x_sci_port_ops,
|
||||||
.regshift = 1,
|
.regshift = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfffffe80, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x4e0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
@ -131,19 +136,24 @@ static struct platform_device scif0_device = {
|
|||||||
defined(CONFIG_CPU_SUBTYPE_SH7707) || \
|
defined(CONFIG_CPU_SUBTYPE_SH7707) || \
|
||||||
defined(CONFIG_CPU_SUBTYPE_SH7709)
|
defined(CONFIG_CPU_SUBTYPE_SH7709)
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xa4000150,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TE | SCSCR_RE,
|
.scscr = SCSCR_TE | SCSCR_RE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x900)),
|
|
||||||
.ops = &sh770x_sci_port_ops,
|
.ops = &sh770x_sci_port_ops,
|
||||||
.regtype = SCIx_SH3_SCIF_REGTYPE,
|
.regtype = SCIx_SH3_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4000150, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x900)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
@ -152,20 +162,25 @@ static struct platform_device scif1_device = {
|
|||||||
#if defined(CONFIG_CPU_SUBTYPE_SH7707) || \
|
#if defined(CONFIG_CPU_SUBTYPE_SH7707) || \
|
||||||
defined(CONFIG_CPU_SUBTYPE_SH7709)
|
defined(CONFIG_CPU_SUBTYPE_SH7709)
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xa4000140,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TE | SCSCR_RE,
|
.scscr = SCSCR_TE | SCSCR_RE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_IRDA,
|
.type = PORT_IRDA,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x880)),
|
|
||||||
.ops = &sh770x_sci_port_ops,
|
.ops = &sh770x_sci_port_ops,
|
||||||
.regshift = 1,
|
.regshift = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4000140, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x880)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -98,36 +98,46 @@ static struct platform_device rtc_device = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xa4400000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TE | SCSCR_RE | SCSCR_REIE |
|
.scscr = SCSCR_TE | SCSCR_RE | SCSCR_REIE |
|
||||||
SCSCR_CKE1 | SCSCR_CKE0,
|
SCSCR_CKE1 | SCSCR_CKE0,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x880)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4400000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x880)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xa4410000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TE | SCSCR_RE | SCSCR_REIE |
|
.scscr = SCSCR_TE | SCSCR_RE | SCSCR_REIE |
|
||||||
SCSCR_CKE1 | SCSCR_CKE0,
|
SCSCR_CKE1 | SCSCR_CKE0,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x900)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4410000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x900)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -52,38 +52,48 @@ static struct platform_device rtc_device = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xa4430000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE,
|
.scscr = SCSCR_RE | SCSCR_TE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_4,
|
.scbrr_algo_id = SCBRR_ALGO_4,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc00)),
|
|
||||||
.ops = &sh7720_sci_port_ops,
|
.ops = &sh7720_sci_port_ops,
|
||||||
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4430000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc00)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xa4438000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE,
|
.scscr = SCSCR_RE | SCSCR_TE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_4,
|
.scbrr_algo_id = SCBRR_ALGO_4,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc20)),
|
|
||||||
.ops = &sh7720_sci_port_ops,
|
.ops = &sh7720_sci_port_ops,
|
||||||
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
.regtype = SCIx_SH7705_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4438000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc20)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -17,20 +17,25 @@
|
|||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe80000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { evt2irq(0x700),
|
};
|
||||||
evt2irq(0x720),
|
|
||||||
evt2irq(0x760),
|
static struct resource scif0_resources[] = {
|
||||||
evt2irq(0x740) },
|
DEFINE_RES_MEM(0xffe80000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x720)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x760)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x740)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -38,36 +38,46 @@ static struct platform_device rtc_device = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port sci_platform_data = {
|
static struct plat_sci_port sci_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.port_reg = 0xffe0001C,
|
.port_reg = 0xffe0001C,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TE | SCSCR_RE,
|
.scscr = SCSCR_TE | SCSCR_RE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCI,
|
.type = PORT_SCI,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x4e0)),
|
|
||||||
.regshift = 2,
|
.regshift = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource sci_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x4e0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device sci_device = {
|
static struct platform_device sci_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = sci_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(sci_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &sci_platform_data,
|
.platform_data = &sci_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif_platform_data = {
|
static struct plat_sci_port scif_platform_data = {
|
||||||
.mapbase = 0xffe80000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_TE | SCSCR_RE | SCSCR_REIE,
|
.scscr = SCSCR_TE | SCSCR_RE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x700)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe80000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif_device = {
|
static struct platform_device scif_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif_platform_data,
|
.platform_data = &scif_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -128,83 +128,103 @@ static DECLARE_INTC_DESC(intc_desc_irq, "sh7760-irq", vectors_irq, groups,
|
|||||||
mask_registers, prio_registers, NULL);
|
mask_registers, prio_registers, NULL);
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xfe600000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { evt2irq(0x880),
|
|
||||||
evt2irq(0x8a0),
|
|
||||||
evt2irq(0x8e0),
|
|
||||||
evt2irq(0x8c0) },
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfe600000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x880)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8a0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8e0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8c0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xfe610000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.irqs = { evt2irq(0xb00),
|
|
||||||
evt2irq(0xb20),
|
|
||||||
evt2irq(0xb60),
|
|
||||||
evt2irq(0xb40) },
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfe610000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb00)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb20)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb60)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb40)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xfe620000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { evt2irq(0xb80),
|
|
||||||
evt2irq(0xba0),
|
|
||||||
evt2irq(0xbe0),
|
|
||||||
evt2irq(0xbc0) },
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfe620000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb80)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xba0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xbe0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xbc0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xfe480000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCI,
|
.type = PORT_SCI,
|
||||||
.irqs = { evt2irq(0xc00),
|
|
||||||
evt2irq(0xc20),
|
|
||||||
evt2irq(0xc40), },
|
|
||||||
.regshift = 2,
|
.regshift = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfe480000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc00)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc20)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc40)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -18,68 +18,88 @@
|
|||||||
|
|
||||||
/* Serial */
|
/* Serial */
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc00)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc00)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffe10000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc20)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe10000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc20)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffe20000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc40)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe20000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc40)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xffe30000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc60)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe30000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc60)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -20,18 +20,23 @@
|
|||||||
#include <asm/clock.h>
|
#include <asm/clock.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.port_reg = 0xa405013e,
|
.port_reg = 0xa405013e,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc00)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc00)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -179,57 +179,72 @@ struct platform_device dma_device = {
|
|||||||
|
|
||||||
/* Serial */
|
/* Serial */
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc00)),
|
|
||||||
.ops = &sh7722_sci_port_ops,
|
.ops = &sh7722_sci_port_ops,
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc00)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffe10000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc20)),
|
|
||||||
.ops = &sh7722_sci_port_ops,
|
.ops = &sh7722_sci_port_ops,
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe10000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc20)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffe20000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc40)),
|
|
||||||
.ops = &sh7722_sci_port_ops,
|
.ops = &sh7722_sci_port_ops,
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe20000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc40)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -23,111 +23,141 @@
|
|||||||
|
|
||||||
/* Serial */
|
/* Serial */
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.port_reg = 0xa4050160,
|
.port_reg = 0xa4050160,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc00)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc00)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffe10000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc20)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe10000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc20)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffe20000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc40)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe20000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc40)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xa4e30000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_3,
|
.scbrr_algo_id = SCBRR_ALGO_3,
|
||||||
.type = PORT_SCIFA,
|
.type = PORT_SCIFA,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x900)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4e30000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x900)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xa4e40000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_3,
|
.scbrr_algo_id = SCBRR_ALGO_3,
|
||||||
.type = PORT_SCIFA,
|
.type = PORT_SCIFA,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xd00)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4e40000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xd00)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xa4e50000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_3,
|
.scbrr_algo_id = SCBRR_ALGO_3,
|
||||||
.type = PORT_SCIFA,
|
.type = PORT_SCIFA,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xfa0)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4e50000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xfa0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -290,111 +290,141 @@ static struct platform_device dma1_device = {
|
|||||||
|
|
||||||
/* Serial */
|
/* Serial */
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc00)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc00)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffe10000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc20)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe10000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc20)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffe20000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xc40)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe20000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xc40)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xa4e30000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE,
|
.scscr = SCSCR_RE | SCSCR_TE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_3,
|
.scbrr_algo_id = SCBRR_ALGO_3,
|
||||||
.type = PORT_SCIFA,
|
.type = PORT_SCIFA,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x900)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4e30000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x900)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xa4e40000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE,
|
.scscr = SCSCR_RE | SCSCR_TE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_3,
|
.scbrr_algo_id = SCBRR_ALGO_3,
|
||||||
.type = PORT_SCIFA,
|
.type = PORT_SCIFA,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xd00)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4e40000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xd00)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xa4e50000,
|
|
||||||
.port_reg = SCIx_NOT_SUPPORTED,
|
.port_reg = SCIx_NOT_SUPPORTED,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE,
|
.scscr = SCSCR_RE | SCSCR_TE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_3,
|
.scbrr_algo_id = SCBRR_ALGO_3,
|
||||||
.type = PORT_SCIFA,
|
.type = PORT_SCIFA,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xfa0)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xa4e50000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xfa0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -25,108 +25,138 @@
|
|||||||
|
|
||||||
/* SCIF */
|
/* SCIF */
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xFFE40000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x8C0)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe40000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8c0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xFFE41000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x8E0)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe41000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8e0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xFFE42000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x900)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe42000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x900)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xFFE43000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x920)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe43000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x920)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xFFE44000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x940)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe44000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x940)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xFFE43000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x960)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe43000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x960)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -24,51 +24,66 @@
|
|||||||
#include <cpu/sh7757.h>
|
#include <cpu/sh7757.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xfe4b0000, /* SCIF2 */
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x700)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfe4b0000, 0x100), /* SCIF2 */
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xfe4c0000, /* SCIF3 */
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xb80)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfe4c0000, 0x100), /* SCIF3 */
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb80)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xfe4d0000, /* SCIF4 */
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xF00)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xfe4d0000, 0x100), /* SCIF4 */
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xf00)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -19,54 +19,69 @@
|
|||||||
#include <linux/usb/ohci_pdriver.h>
|
#include <linux/usb/ohci_pdriver.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x700)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffe08000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xb80)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe08000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb80)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffe10000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xf00)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe10000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xf00)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -16,170 +16,220 @@
|
|||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xff923000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x9a0)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff923000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x9a0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xff924000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x9c0)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff924000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x9c0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xff925000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x9e0)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff925000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x9e0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xff926000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xa00)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff926000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xa00)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xff927000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xa20)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff927000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xa20)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xff928000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xa40)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff928000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xa40)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif6_platform_data = {
|
static struct plat_sci_port scif6_platform_data = {
|
||||||
.mapbase = 0xff929000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xa60)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif6_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff929000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xa60)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif6_device = {
|
static struct platform_device scif6_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 6,
|
.id = 6,
|
||||||
|
.resource = scif6_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif6_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif6_platform_data,
|
.platform_data = &scif6_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif7_platform_data = {
|
static struct plat_sci_port scif7_platform_data = {
|
||||||
.mapbase = 0xff92a000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xa80)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif7_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff92a000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xa80)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif7_device = {
|
static struct platform_device scif7_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 7,
|
.id = 7,
|
||||||
|
.resource = scif7_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif7_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif7_platform_data,
|
.platform_data = &scif7_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif8_platform_data = {
|
static struct plat_sci_port scif8_platform_data = {
|
||||||
.mapbase = 0xff92b000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xaa0)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif8_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff92b000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xaa0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif8_device = {
|
static struct platform_device scif8_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 8,
|
.id = 8,
|
||||||
|
.resource = scif8_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif8_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif8_platform_data,
|
.platform_data = &scif8_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif9_platform_data = {
|
static struct plat_sci_port scif9_platform_data = {
|
||||||
.mapbase = 0xff92c000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_TOIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xac0)),
|
};
|
||||||
|
|
||||||
|
static struct resource scif9_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xff92c000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xac0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif9_device = {
|
static struct platform_device scif9_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 9,
|
.id = 9,
|
||||||
|
.resource = scif9_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif9_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif9_platform_data,
|
.platform_data = &scif9_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -18,36 +18,46 @@
|
|||||||
#include <cpu/dma-register.h>
|
#include <cpu/dma-register.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffe00000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x700)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe00000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffe10000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0xb80)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffe10000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0xb80)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -20,108 +20,138 @@
|
|||||||
#include <cpu/dma-register.h>
|
#include <cpu/dma-register.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffea0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x700)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffea0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffeb0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x780)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffeb0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x780)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffec0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x980)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffec0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x980)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xffed0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x9a0)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffed0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x9a0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xffee0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x9c0)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffee0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x9c0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xffef0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x9e0)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffef0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x9e0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -28,21 +28,26 @@
|
|||||||
#include <asm/mmzone.h>
|
#include <asm/mmzone.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffea0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { evt2irq(0x700),
|
|
||||||
evt2irq(0x720),
|
|
||||||
evt2irq(0x760),
|
|
||||||
evt2irq(0x740) },
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffea0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x720)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x760)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x740)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
@ -52,90 +57,124 @@ static struct platform_device scif0_device = {
|
|||||||
* The rest of these all have multiplexed IRQs
|
* The rest of these all have multiplexed IRQs
|
||||||
*/
|
*/
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffeb0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x780)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffeb0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x780)),
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct resource scif1_demux_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffeb0000, 0x100),
|
||||||
|
/* Placeholders, see sh7786_devices_setup() */
|
||||||
|
DEFINE_RES_IRQ(0),
|
||||||
|
DEFINE_RES_IRQ(0),
|
||||||
|
DEFINE_RES_IRQ(0),
|
||||||
|
DEFINE_RES_IRQ(0),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffec0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x840)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif2_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffec0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x840)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif3_platform_data = {
|
static struct plat_sci_port scif3_platform_data = {
|
||||||
.mapbase = 0xffed0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x860)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif3_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffed0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x860)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif3_device = {
|
static struct platform_device scif3_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 3,
|
.id = 3,
|
||||||
|
.resource = scif3_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif3_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif3_platform_data,
|
.platform_data = &scif3_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif4_platform_data = {
|
static struct plat_sci_port scif4_platform_data = {
|
||||||
.mapbase = 0xffee0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x880)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif4_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffee0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x880)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif4_device = {
|
static struct platform_device scif4_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 4,
|
.id = 4,
|
||||||
|
.resource = scif4_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif4_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif4_platform_data,
|
.platform_data = &scif4_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif5_platform_data = {
|
static struct plat_sci_port scif5_platform_data = {
|
||||||
.mapbase = 0xffef0000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE | SCSCR_CKE1,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_1,
|
.scbrr_algo_id = SCBRR_ALGO_1,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = SCIx_IRQ_MUXED(evt2irq(0x8a0)),
|
|
||||||
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource scif5_resources[] = {
|
||||||
|
DEFINE_RES_MEM(0xffef0000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8a0)),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device scif5_device = {
|
static struct platform_device scif5_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 5,
|
.id = 5,
|
||||||
|
.resource = scif5_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif5_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif5_platform_data,
|
.platform_data = &scif5_platform_data,
|
||||||
},
|
},
|
||||||
@ -1037,13 +1076,16 @@ static int __init sh7786_devices_setup(void)
|
|||||||
*/
|
*/
|
||||||
irq = intc_irq_lookup(sh7786_intc_desc.name, TXI1);
|
irq = intc_irq_lookup(sh7786_intc_desc.name, TXI1);
|
||||||
if (irq > 0) {
|
if (irq > 0) {
|
||||||
scif1_platform_data.irqs[SCIx_TXI_IRQ] = irq;
|
scif1_demux_resources[1].start =
|
||||||
scif1_platform_data.irqs[SCIx_ERI_IRQ] =
|
|
||||||
intc_irq_lookup(sh7786_intc_desc.name, ERI1);
|
intc_irq_lookup(sh7786_intc_desc.name, ERI1);
|
||||||
scif1_platform_data.irqs[SCIx_BRI_IRQ] =
|
scif1_demux_resources[2].start =
|
||||||
intc_irq_lookup(sh7786_intc_desc.name, BRI1);
|
|
||||||
scif1_platform_data.irqs[SCIx_RXI_IRQ] =
|
|
||||||
intc_irq_lookup(sh7786_intc_desc.name, RXI1);
|
intc_irq_lookup(sh7786_intc_desc.name, RXI1);
|
||||||
|
scif1_demux_resources[3].start = irq;
|
||||||
|
scif1_demux_resources[4].start =
|
||||||
|
intc_irq_lookup(sh7786_intc_desc.name, BRI1);
|
||||||
|
|
||||||
|
scif1_device.resource = scif1_demux_resources;
|
||||||
|
scif1_device.num_resources = ARRAY_SIZE(scif1_demux_resources);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = platform_add_devices(sh7786_early_devices,
|
ret = platform_add_devices(sh7786_early_devices,
|
||||||
|
@ -28,60 +28,75 @@
|
|||||||
* all rather than adding infrastructure to hack around it.
|
* all rather than adding infrastructure to hack around it.
|
||||||
*/
|
*/
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = 0xffc30000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { evt2irq(0x700),
|
};
|
||||||
evt2irq(0x720),
|
|
||||||
evt2irq(0x760),
|
static struct resource scif0_resources[] = {
|
||||||
evt2irq(0x740) },
|
DEFINE_RES_MEM(0xffc30000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x700)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x720)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x760)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x740)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif1_platform_data = {
|
static struct plat_sci_port scif1_platform_data = {
|
||||||
.mapbase = 0xffc40000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { evt2irq(0x780),
|
};
|
||||||
evt2irq(0x7a0),
|
|
||||||
evt2irq(0x7e0),
|
static struct resource scif1_resources[] = {
|
||||||
evt2irq(0x7c0) },
|
DEFINE_RES_MEM(0xffc40000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x780)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x7a0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x7e0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x7c0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif1_device = {
|
static struct platform_device scif1_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 1,
|
.id = 1,
|
||||||
|
.resource = scif1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif1_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif1_platform_data,
|
.platform_data = &scif1_platform_data,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct plat_sci_port scif2_platform_data = {
|
static struct plat_sci_port scif2_platform_data = {
|
||||||
.mapbase = 0xffc60000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { evt2irq(0x880),
|
};
|
||||||
evt2irq(0x8a0),
|
|
||||||
evt2irq(0x8e0),
|
static struct resource scif2_resources[] = {
|
||||||
evt2irq(0x8c0) },
|
DEFINE_RES_MEM(0xffc60000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x880)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8a0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8e0)),
|
||||||
|
DEFINE_RES_IRQ(evt2irq(0x8c0)),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif2_device = {
|
static struct platform_device scif2_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 2,
|
.id = 2,
|
||||||
|
.resource = scif2_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif2_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif2_platform_data,
|
.platform_data = &scif2_platform_data,
|
||||||
},
|
},
|
||||||
|
@ -17,17 +17,24 @@
|
|||||||
#include <asm/addrspace.h>
|
#include <asm/addrspace.h>
|
||||||
|
|
||||||
static struct plat_sci_port scif0_platform_data = {
|
static struct plat_sci_port scif0_platform_data = {
|
||||||
.mapbase = PHYS_PERIPHERAL_BLOCK + 0x01030000,
|
|
||||||
.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
|
.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
|
||||||
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
|
||||||
.scbrr_algo_id = SCBRR_ALGO_2,
|
.scbrr_algo_id = SCBRR_ALGO_2,
|
||||||
.type = PORT_SCIF,
|
.type = PORT_SCIF,
|
||||||
.irqs = { 39, 40, 42, 0 },
|
};
|
||||||
|
|
||||||
|
static struct resource scif0_resources[] = {
|
||||||
|
DEFINE_RES_MEM(PHYS_PERIPHERAL_BLOCK + 0x01030000, 0x100),
|
||||||
|
DEFINE_RES_IRQ(39),
|
||||||
|
DEFINE_RES_IRQ(40),
|
||||||
|
DEFINE_RES_IRQ(42),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device scif0_device = {
|
static struct platform_device scif0_device = {
|
||||||
.name = "sh-sci",
|
.name = "sh-sci",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.resource = scif0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(scif0_resources),
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &scif0_platform_data,
|
.platform_data = &scif0_platform_data,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user