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

Commit 9d4436a6 authored by Yoshinori Sato's avatar Yoshinori Sato Committed by Paul Mundt
Browse files

sh: Add support for SH7206 and SH7619 CPU subtypes.



This implements initial support for the SH7206 (SH-2A) and SH7619
(SH-2) MMU-less CPUs.

Signed-off-by: default avatarYoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent e6243863
Loading
Loading
Loading
Loading
+40 −3
Original line number Diff line number Diff line
@@ -219,6 +219,20 @@ config SH_SHMIN
	help
	  Select SHMIN if configuring for the SHMIN board.

config SH_7206_SOLUTION_ENGINE
	bool "SolutionEngine7206"
	select CPU_SUBTYPE_SH7206
	help
	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
	  evaluation board.

config SH_7619_SOLUTION_ENGINE
	bool "SolutionEngine7619"
	select CPU_SUBTYPE_SH7619
	help
	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
	  evaluation board.

config SH_UNKNOWN
	bool "BareCPU"
	help
@@ -364,10 +378,25 @@ depends on !GENERIC_TIME

config SH_TMU
	bool "TMU timer support"
	depends on CPU_SH3 || CPU_SH4
	default y
	help
	  This enables the use of the TMU as the system timer.

config SH_CMT
	bool "CMT timer support"
	depends on CPU_SH2
	default y
	help
	  This enables the use of the CMT as the system timer.

config SH_MTU2
	bool "MTU2 timer support"
	depends on CPU_SH2A
	default n
	help
	  This enables the use of the MTU2 as the system timer.

endmenu

source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
@@ -378,17 +407,25 @@ source "arch/sh/boards/renesas/r7780rp/Kconfig"

config SH_PCLK_FREQ
	int "Peripheral clock frequency (in Hz)"
	default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
	default "31250000" if CPU_SUBTYPE_SH7619
	default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
			      CPU_SUBTYPE_SH7206
	default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
	default "60000000" if CPU_SUBTYPE_SH7751
	default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705
	default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
	default "66000000" if CPU_SUBTYPE_SH4_202
	help
	  This option is used to specify the peripheral clock frequency.
	  This is necessary for determining the reference clock value on
	  platforms lacking an RTC.

config SH_CLK_MD
	int "CPU Mode Pin Setting"
	depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
	help
	  MD2 - MD0 Setting.

menu "CPU Frequency scaling"

source "drivers/cpufreq/Kconfig"
+3 −0
Original line number Diff line number Diff line
@@ -109,6 +109,8 @@ machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev
machdir-$(CONFIG_SH_LANDISK)			:= landisk
machdir-$(CONFIG_SH_TITAN)			:= titan
machdir-$(CONFIG_SH_SHMIN)			:= shmin
machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE)	:= se/7206
machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)	:= se/7619
machdir-$(CONFIG_SH_UNKNOWN)			:= unknown

incdir-y			:= $(notdir $(machdir-y))
@@ -124,6 +126,7 @@ core-$(CONFIG_HD64465) += arch/sh/cchips/hd6446x/hd64465/
core-$(CONFIG_VOYAGERGX)	+= arch/sh/cchips/voyagergx/

cpuincdir-$(CONFIG_CPU_SH2)	:= cpu-sh2
cpuincdir-$(CONFIG_CPU_SH2A)	:= cpu-sh2a
cpuincdir-$(CONFIG_CPU_SH3)	:= cpu-sh3
cpuincdir-$(CONFIG_CPU_SH4)	:= cpu-sh4

+2 −1
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
 */

#include <asm/uaccess.h>
#include <asm/addrspace.h>
#ifdef CONFIG_SH_STANDARD_BIOS
#include <asm/sh_bios.h>
#endif
@@ -228,7 +229,7 @@ long* stack_start = &user_stack[STACK_SIZE];
void decompress_kernel(void)
{
	output_data = 0;
	output_ptr = (unsigned long)&_text+0x20001000;
	output_ptr = P2SEGADDR((unsigned long)&_text+0x1000);
	free_mem_ptr = (unsigned long)&_end;
	free_mem_end_ptr = free_mem_ptr + HEAP_SIZE;

+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@

extra-y	:= head.o init_task.o vmlinux.lds

obj-y	:= process.o signal.o entry.o traps.o irq.o \
obj-y	:= process.o signal.o traps.o irq.o \
	ptrace.o setup.o time.o sys_sh.o semaphore.o \
	io.o io_generic.o sh_ksyms.o syscalls.o

+6 −5
Original line number Diff line number Diff line
@@ -2,11 +2,12 @@
# Makefile for the Linux/SuperH CPU-specifc backends.
#

obj-y	+= irq/ init.o clock.o

obj-$(CONFIG_CPU_SH2)		+= sh2/
obj-$(CONFIG_CPU_SH3)		+= sh3/
obj-$(CONFIG_CPU_SH4)		+= sh4/
obj-$(CONFIG_CPU_SH2)		= sh2/
obj-$(CONFIG_CPU_SH2A)		= sh2a/
obj-$(CONFIG_CPU_SH3)		= sh3/
obj-$(CONFIG_CPU_SH4)		= sh4/

obj-$(CONFIG_UBC_WAKEUP)	+= ubc.o
obj-$(CONFIG_SH_ADC)		+= adc.o

obj-y	+= irq/ init.o clock.o
Loading