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

Commit c793c1b0 authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt
Browse files

ARM: mach-shmobile: SH-Mobile G3 support.



This adds preliminary support for the SH-Mobile G-series.

The SH-Mobile G-series is a series of ARM/SH multi-core CPUs that aside
from the ARM MPU are primarily composed of existing SH IP blocks.

This includes initial support for the SH7367 (SH-Mobile G3) CPU and
the G3EVM reference board.

Only timer, serial console, and NOR flash are supported at this point.
Patches for the interrupt controller, pinmux support, clock framework
and runtime pm will be submitted as feature patches on top of this.

Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 9e9622d1
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -584,6 +584,11 @@ config ARCH_MSM
	  interface to the ARM9 modem processor which runs the baseband stack
	  and controls some vital subsystems (clock and power control, etc).

config ARCH_SHMOBILE
	bool "Renesas SH-Mobile"
	help
	  Support for Renesas's SH-Mobile ARM platforms

config ARCH_RPC
	bool "RiscPC"
	select ARCH_ACORN
@@ -822,6 +827,8 @@ source "arch/arm/mach-s3c6400/Kconfig"
source "arch/arm/mach-s3c6410/Kconfig"
endif

source "arch/arm/mach-shmobile/Kconfig"

source "arch/arm/plat-stmp3xxx/Kconfig"

if ARCH_S5PC1XX
+1 −0
Original line number Diff line number Diff line
@@ -165,6 +165,7 @@ machine-$(CONFIG_ARCH_S3C64XX) := s3c6400 s3c6410
machine-$(CONFIG_ARCH_S5PC1XX)		:= s5pc100
machine-$(CONFIG_ARCH_SA1100)		:= sa1100
machine-$(CONFIG_ARCH_SHARK)		:= shark
machine-$(CONFIG_ARCH_SHMOBILE) 	:= shmobile
machine-$(CONFIG_ARCH_STMP378X)		:= stmp378x
machine-$(CONFIG_ARCH_STMP37XX)		:= stmp37xx
machine-$(CONFIG_ARCH_U300)		:= u300
+53 −0
Original line number Diff line number Diff line
if ARCH_SHMOBILE

comment "SH-Mobile System Type"

config ARCH_SH7367
	bool "SH-Mobile G3 (SH7367)"
	select CPU_V6
	select HAVE_CLK
	select COMMON_CLKDEV
	select GENERIC_TIME
	select GENERIC_CLOCKEVENTS

comment "SH-Mobile Board Type"

config MACH_G3EVM
	bool "G3EVM board"
	depends on ARCH_SH7367

comment "SH-Mobile System Configuration"

menu "Memory configuration"

config MEMORY_START
	hex "Physical memory start address"
	default "0x50000000" if MACH_G3EVM
	default "0x00000000"
	---help---
	  Tweak this only when porting to a new machine which does not
	  already have a defconfig. Changing it from the known correct
	  value on any of the known systems will only lead to disaster.

config MEMORY_SIZE
	hex "Physical memory size"
	default "0x08000000" if MACH_G3EVM
	default "0x04000000"
	help
	  This sets the default memory size assumed by your kernel. It can
	  be overridden as normal by the 'mem=' argument on the kernel command
	  line.

endmenu

menu "Timer and clock configuration"

config SH_TIMER_CMT
	bool "CMT timer driver"
	default y
	help
	  This enables build of the CMT timer driver.

endmenu

endif
+12 −0
Original line number Diff line number Diff line
#
# Makefile for the linux kernel.
#

# Common objects
obj-y				:= timer.o

# CPU objects
obj-$(CONFIG_ARCH_SH7367)	+= setup-sh7367.o clock-sh7367.o

# Board objects
obj-$(CONFIG_MACH_G3EVM)	+= board-g3evm.o
+9 −0
Original line number Diff line number Diff line
__ZRELADDR	:= $(shell /bin/bash -c 'printf "0x%08x" \
		     $$[$(CONFIG_MEMORY_START) + 0x8000]')

   zreladdr-y   := $(__ZRELADDR)

# Unsupported legacy stuff
#
#params_phys-y (Instead: Pass atags pointer in r2)
#initrd_phys-y (Instead: Use compiled-in initramfs)
Loading