menu "Board support"

config SOLUTION_ENGINE
	bool

config SH_SOLUTION_ENGINE
	bool "SolutionEngine"
	select SOLUTION_ENGINE
	select CPU_HAS_IPR_IRQ
	depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
	  CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
	  CPU_SUBTYPE_SH7750R 
	help
	  Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
	  SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.

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

config SH_7619_SOLUTION_ENGINE
	bool "SolutionEngine7619"
	select SOLUTION_ENGINE
	depends on CPU_SUBTYPE_SH7619
	help
	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
	  evaluation board.
	
config SH_7721_SOLUTION_ENGINE
	bool "SolutionEngine7721"
	select SOLUTION_ENGINE
	depends on CPU_SUBTYPE_SH7721
	help
	  Select 7721 SolutionEngine if configuring for a Hitachi SH7721
	  evaluation board.

config SH_7722_SOLUTION_ENGINE
	bool "SolutionEngine7722"
	select SOLUTION_ENGINE
	depends on CPU_SUBTYPE_SH7722
	help
	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
	  evaluation board.

config SH_7751_SOLUTION_ENGINE
	bool "SolutionEngine7751"
	select SOLUTION_ENGINE
	select CPU_HAS_IPR_IRQ
	depends on CPU_SUBTYPE_SH7751
	help
	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
	  evaluation board.
	  
config SH_7780_SOLUTION_ENGINE
	bool "SolutionEngine7780"
	select SOLUTION_ENGINE
	select SYS_SUPPORTS_PCI
	depends on CPU_SUBTYPE_SH7780
	help
	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
	  evaluation board.

config SH_7343_SOLUTION_ENGINE
	bool "SolutionEngine7343"
	select SOLUTION_ENGINE
	depends on CPU_SUBTYPE_SH7343
	help
	  Select 7343 SolutionEngine if configuring for a Hitachi
	  SH7343 (SH-Mobile 3AS) evaluation board.

config SH_7751_SYSTEMH
	bool "SystemH7751R"
	depends on CPU_SUBTYPE_SH7751R
	help
	  Select SystemH if you are configuring for a Renesas SystemH
	  7751R evaluation board.

config SH_HP6XX
	bool "HP6XX"
	select SYS_SUPPORTS_APM_EMULATION
	select HD6446X_SERIES
	depends on CPU_SUBTYPE_SH7709
	help
	  Select HP6XX if configuring for a HP jornada HP6xx.
	  More information (hardware only) at
	  <http://www.hp.com/jornada/>.

config SH_DREAMCAST
	bool "Dreamcast"
	select SYS_SUPPORTS_PCI
	depends on CPU_SUBTYPE_SH7091
	help
	  Select Dreamcast if configuring for a SEGA Dreamcast.
	  More information at <http://www.linux-sh.org>

config SH_SH03
	bool "Interface CTP/PCI-SH03"
	depends on CPU_SUBTYPE_SH7751
	select CPU_HAS_IPR_IRQ
	select SYS_SUPPORTS_PCI
	help
	  CTP/PCI-SH03 is a CPU module computer that is produced
	  by Interface Corporation.
	  More information at <http://www.interface.co.jp>

config SH_SECUREEDGE5410
	bool "SecureEdge5410"
	depends on CPU_SUBTYPE_SH7751R
	select CPU_HAS_IPR_IRQ
	select SYS_SUPPORTS_PCI
	help
	  Select SecureEdge5410 if configuring for a SnapGear SH board.
	  This includes both the OEM SecureEdge products as well as the
	  SME product line.

config SH_RTS7751R2D
	bool "RTS7751R2D"
	depends on CPU_SUBTYPE_SH7751R
	select SYS_SUPPORTS_PCI
	select IO_TRAPPED
	help
	  Select RTS7751R2D if configuring for a Renesas Technology
	  Sales SH-Graphics board.

config SH_RSK7203
	bool "RSK7203"
	select GENERIC_GPIO
	depends on CPU_SUBTYPE_SH7203

config SH_SDK7780
	bool "SDK7780R3"
	depends on CPU_SUBTYPE_SH7780
	select SYS_SUPPORTS_PCI
	help
	  Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
	  evaluation board.

config SH_HIGHLANDER
	bool "Highlander"
	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
	select SYS_SUPPORTS_PCI
	select IO_TRAPPED

config SH_SH7785LCR
	bool "SH7785LCR"
	depends on CPU_SUBTYPE_SH7785
	select SYS_SUPPORTS_PCI
	select IO_TRAPPED

config SH_SH7785LCR_29BIT_PHYSMAPS
	bool "SH7785LCR 29bit physmaps"
	depends on SH_SH7785LCR
	default y
	help
	  This board has 2 physical memory maps. It can be changed with
	  DIP switch(S2-5). If you set the DIP switch for S2-5 = ON,
	  you can access all on-board device in 29bit address mode.

config SH_MIGOR
	bool "Migo-R"
	depends on CPU_SUBTYPE_SH7722
	select GENERIC_GPIO
	help
	  Select Migo-R if configuring for the SH7722 Migo-R platform
          by Renesas System Solutions Asia Pte. Ltd.

config SH_AP325RXA
	bool "AP-325RXA"
	depends on CPU_SUBTYPE_SH7723
	select GENERIC_GPIO
	help
	  Renesas "AP-325RXA" support.
	  Compatible with ALGO SYSTEM CO.,LTD. "AP-320A"

config SH_SH7763RDP
	bool "SH7763RDP"
	depends on CPU_SUBTYPE_SH7763
	help
	  Select SH7763RDP if configuring for a Renesas SH7763
	  evaluation board.

config SH_EDOSK7705
	bool "EDOSK7705"
	depends on CPU_SUBTYPE_SH7705

config SH_EDOSK7760
	bool "EDOSK7760"
	depends on CPU_SUBTYPE_SH7760
	help
	  Select if configuring for a Renesas EDOSK7760
	  evaluation board.

config SH_SH4202_MICRODEV
	bool "SH4-202 MicroDev"
	depends on CPU_SUBTYPE_SH4_202
	help
	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
	  with an SH4-202 CPU.

config SH_LANDISK
	bool "LANDISK"
	depends on CPU_SUBTYPE_SH7751R
	select SYS_SUPPORTS_PCI
	help
	  I-O DATA DEVICE, INC. "LANDISK Series" support.

config SH_TITAN
	bool "TITAN"
	depends on CPU_SUBTYPE_SH7751R
	select CPU_HAS_IPR_IRQ
	select SYS_SUPPORTS_PCI
	help
	  Select Titan if you are configuring for a Nimble Microsystems
	  NetEngine NP51R.

config SH_SHMIN
	bool "SHMIN"
	depends on CPU_SUBTYPE_SH7706
	select CPU_HAS_IPR_IRQ
	help
	  Select SHMIN if configuring for the SHMIN board.

config SH_LBOX_RE2
	bool "L-BOX RE2"
	depends on CPU_SUBTYPE_SH7751R
	select SYS_SUPPORTS_PCI
	help
	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.

config SH_X3PROTO
	bool "SH-X3 Prototype board"
	depends on CPU_SUBTYPE_SHX3

config SH_MAGIC_PANEL_R2
	bool "Magic Panel R2"
	depends on CPU_SUBTYPE_SH7720
	select GENERIC_GPIO
	help
	  Select Magic Panel R2 if configuring for Magic Panel R2.

config SH_CAYMAN
	bool "Hitachi Cayman"
	depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
	select SYS_SUPPORTS_PCI

endmenu

source "arch/sh/boards/mach-r2d/Kconfig"
source "arch/sh/boards/mach-highlander/Kconfig"
source "arch/sh/boards/mach-sdk7780/Kconfig"
source "arch/sh/boards/mach-migor/Kconfig"

if SH_MAGIC_PANEL_R2

menu "Magic Panel R2 options"

config SH_MAGIC_PANEL_R2_VERSION
	int SH_MAGIC_PANEL_R2_VERSION
	default "3"
	help
	  Set the version of the Magic Panel R2

endmenu

endif
