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

Commit 3ea6bc3d authored by Markus Brunner's avatar Markus Brunner Committed by Paul Mundt
Browse files

sh: Add SH7720 CPU support.



This adds support for the SH7720 (SH3-DSP) CPU.

Signed-off by: Markus Brunner <super.firetwister@gmail.com>
Signed-off by: Mark Jonas <toertel@gmail.com>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent dfc5ed2a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ config EARLY_SCIF_CONSOLE_PORT
	default "0xfffe9800" if CPU_SUBTYPE_SH7206
	default "0xf8420000" if CPU_SUBTYPE_SH7619
	default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
	default "0xa4430000" if CPU_SUBTYPE_SH7720
	default "0xffc30000" if CPU_SUBTYPE_SHX3
	default "0xffe80000" if CPU_SH4
	default "0x00000000"
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ config SH_DMA
config NR_ONCHIP_DMA_CHANNELS
	int
	depends on SH_DMA
	default "6" if CPU_SUBTYPE_SH7720
	default "8" if CPU_SUBTYPE_SH7750R || CPU_SUBTYPE_SH7751R
	default "12" if CPU_SUBTYPE_SH7780
	default "4"
+9 −3
Original line number Diff line number Diff line
@@ -24,11 +24,16 @@ static int dmte_irq_map[] = {
	DMTE1_IRQ,
	DMTE2_IRQ,
	DMTE3_IRQ,
#if defined(CONFIG_CPU_SUBTYPE_SH7751R) ||	\
#if defined(CONFIG_CPU_SUBTYPE_SH7720)  ||	\
    defined(CONFIG_CPU_SUBTYPE_SH7751R) ||	\
    defined(CONFIG_CPU_SUBTYPE_SH7760)  ||	\
    defined(CONFIG_CPU_SUBTYPE_SH7780)
	DMTE4_IRQ,
	DMTE5_IRQ,
#endif
#if defined(CONFIG_CPU_SUBTYPE_SH7751R) ||	\
    defined(CONFIG_CPU_SUBTYPE_SH7760)  ||	\
    defined(CONFIG_CPU_SUBTYPE_SH7780)
	DMTE6_IRQ,
	DMTE7_IRQ,
#endif
@@ -196,7 +201,8 @@ static int sh_dmac_get_dma_residue(struct dma_channel *chan)
	return ctrl_inl(DMATCR[chan->chan]) << calc_xmit_shift(chan);
}

#ifdef CONFIG_CPU_SUBTYPE_SH7780
#if defined(CONFIG_CPU_SUBTYPE_SH7720) || \
    defined(CONFIG_CPU_SUBTYPE_SH7780)
#define dmaor_read_reg()	ctrl_inw(DMAOR)
#define dmaor_write_reg(data)	ctrl_outw(data, DMAOR)
#else
+2 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ obj-$(CONFIG_CPU_SUBTYPE_SH7708) += setup-sh770x.o
obj-$(CONFIG_CPU_SUBTYPE_SH7709)	+= setup-sh770x.o
obj-$(CONFIG_CPU_SUBTYPE_SH7710)	+= setup-sh7710.o
obj-$(CONFIG_CPU_SUBTYPE_SH7712)	+= setup-sh7710.o
obj-$(CONFIG_CPU_SUBTYPE_SH7720)	+= setup-sh7720.o

# Primary on-chip clocks (common)
clock-$(CONFIG_CPU_SH3)			:= clock-sh3.o
@@ -19,5 +20,6 @@ clock-$(CONFIG_CPU_SUBTYPE_SH7705) := clock-sh7705.o
clock-$(CONFIG_CPU_SUBTYPE_SH7706)	:= clock-sh7706.o
clock-$(CONFIG_CPU_SUBTYPE_SH7709)	:= clock-sh7709.o
clock-$(CONFIG_CPU_SUBTYPE_SH7710)	:= clock-sh7710.o
clock-$(CONFIG_CPU_SUBTYPE_SH7720)	:= clock-sh7710.o

obj-y	+= $(clock-y)
+3 −0
Original line number Diff line number Diff line
@@ -81,6 +81,9 @@ int __init detect_cpu_and_cache_system(void)
#if defined(CONFIG_CPU_SUBTYPE_SH7712)
		current_cpu_data.type = CPU_SH7712;
#endif
#if defined(CONFIG_CPU_SUBTYPE_SH7720)
		current_cpu_data.type = CPU_SH7720;
#endif
#if defined(CONFIG_CPU_SUBTYPE_SH7705)
		current_cpu_data.type = CPU_SH7705;

Loading