Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9465a54f authored by Nobuhiro Iwamatsu's avatar Nobuhiro Iwamatsu Committed by Paul Mundt
Browse files

sh: MS7712SE01 board support.



Support the SH7712 (SH3-DSP) Solution Engine reference board.

Signed-off-by: default avatarNobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent c86c5a91
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ config EARLY_SCIF_CONSOLE_PORT
	default "0xffe00000" if CPU_SUBTYPE_SH7780
	default "0xfffe9800" if CPU_SUBTYPE_SH7206
	default "0xf8420000" if CPU_SUBTYPE_SH7619
	default "0xa4400000" if CPU_SUBTYPE_SH7712
	default "0xffe80000" if CPU_SH4

config EARLY_PRINTK
+2 −0
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@ int sh_pcic_io_dummy;
static inline volatile __u16 *
port2adr(unsigned int port)
{
	if (port & 0xff000000)
		return ( volatile __u16 *) port;
	if (port >= 0x2000)
		return (volatile __u16 *) (PA_MRSHPC + (port - 0x2000));
	else if (port >= 0x1000)
+14 −13
Original line number Diff line number Diff line
@@ -55,6 +55,17 @@ void make_se770x_irq(struct ipr_data *table, unsigned int nr_irqs)
}

static struct ipr_data se770x_ipr_map[] = {
	/*
	* Super I/O (Just mimic PC):
	*  1: keyboard
	*  3: serial 0
	*  4: serial 1
	*  5: printer
	*  6: floppy
	*  8: rtc
	* 12: mouse
	* 14: ide0
	 */
#if defined(CONFIG_CPU_SUBTYPE_SH7705)
	/* This is default value */
	{ 0xf-0x2, 0, 8,  0x2 , BCR_ILCRA},
@@ -81,8 +92,10 @@ static struct ipr_data se770x_ipr_map[] = {
	{  4, 0,  4, 0x0f- 4 ,BCR_ILCRC},
	{  3, 0,  0, 0x0f- 3 ,BCR_ILCRC},
	{  1, 0, 12, 0x0f- 1 ,BCR_ILCRD},
#if defined(CONFIG_STNIC)
	/* ST NIC */
	{ 10, 0,  4, 0x0f-10 ,BCR_ILCRD}, 	/* LAN */
#endif
	/* MRSHPC IRQs setting */
	{  0, 0, 12, 0x0f- 0 ,BCR_ILCRE},	/* PCIRQ3 */
	{ 11, 0,  8, 0x0f-11 ,BCR_ILCRE}, 	/* PCIRQ2 */
@@ -100,18 +113,6 @@ static struct ipr_data se770x_ipr_map[] = {
 */
void __init init_se_IRQ(void)
{
        /*
         * Super I/O (Just mimic PC):
         *  1: keyboard
         *  3: serial 0
         *  4: serial 1
         *  5: printer
         *  6: floppy
         *  8: rtc
         * 12: mouse
         * 14: ide0
         */
#if defined(CONFIG_CPU_SUBTYPE_SH7705)
	/* Disable all interrupts */
	ctrl_outw(0, BCR_ILCRA);
	ctrl_outw(0, BCR_ILCRB);
@@ -120,6 +121,6 @@ void __init init_se_IRQ(void)
	ctrl_outw(0, BCR_ILCRE);
	ctrl_outw(0, BCR_ILCRF);
	ctrl_outw(0, BCR_ILCRG);
#endif

	make_se770x_irq(se770x_ipr_map, ARRAY_SIZE(se770x_ipr_map));
}
+3 −1
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ static int __init se_devices_setup(void)
{
	return platform_add_devices(se_devices, ARRAY_SIZE(se_devices));
}
__initcall(se_devices_setup);
device_initcall(se_devices_setup);

/*
 * The Machine Vector
@@ -133,6 +133,8 @@ struct sh_machine_vector mv_se __initmv = {
	.mv_nr_irqs		= 61,
#elif defined(CONFIG_CPU_SUBTYPE_SH7705)
	.mv_nr_irqs		= 86,
#elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712)
	.mv_nr_irqs             = 104,
#endif

	.mv_inb			= se_inb,
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ obj-$(CONFIG_CPU_SUBTYPE_SH7708) += setup-sh7708.o
obj-$(CONFIG_CPU_SUBTYPE_SH7709)	+= setup-sh7709.o
obj-$(CONFIG_CPU_SUBTYPE_SH7300)	+= setup-sh7300.o
obj-$(CONFIG_CPU_SUBTYPE_SH7710)	+= setup-sh7710.o
obj-$(CONFIG_CPU_SUBTYPE_SH7712)	+= setup-sh7710.o

# Primary on-chip clocks (common)
clock-$(CONFIG_CPU_SH3)			:= clock-sh3.o
Loading