menu "Board support"

config SOLUTION_ENGINE
	bool

config SH_ALPHA_BOARD
	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_7724_SOLUTION_ENGINE
	bool "SolutionEngine7724"
	select SOLUTION_ENGINE
	depends on CPU_SUBTYPE_SH7724
	select ARCH_REQUIRE_GPIOLIB
	select SND_SOC_AK4642 if SND_SIMPLE_CARD
	help
	  Select 7724 SolutionEngine if configuring for a Hitachi SH7724
	  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_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 if MMU
	help
	  Select RTS7751R2D if configuring for a Renesas Technology
	  Sales SH-Graphics board.

config SH_RSK
	bool "Renesas Starter Kit"
	depends on CPU_SUBTYPE_SH7201 || CPU_SUBTYPE_SH7203 || \
	  CPU_SUBTYPE_SH7264 || CPU_SUBTYPE_SH7269
	help
	 Select this option if configuring for any of the RSK+ MCU
	 evaluation platforms.

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_SDK7786
	bool "SDK7786"
	depends on CPU_SUBTYPE_SH7786
	select SYS_SUPPORTS_PCI
	select NO_IOPORT if !PCI
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select HAVE_SRAM_POOL
	help
	  Select SDK7786 if configuring for a Renesas Technology Europe
	  SH7786-65nm board.

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

config SH_SH7757LCR
	bool "SH7757LCR"
	depends on CPU_SUBTYPE_SH7757
	select ARCH_REQUIRE_GPIOLIB

config SH_SH7785LCR
	bool "SH7785LCR"
	depends on CPU_SUBTYPE_SH7785
	select SYS_SUPPORTS_PCI

config SH_SH7785LCR_29BIT_PHYSMAPS
	bool "SH7785LCR 29bit physmaps"
	depends on SH_SH7785LCR && 29BIT
	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_SH7785LCR_PT
	bool "SH7785LCR prototype board on 32-bit MMU mode"
	depends on SH_SH7785LCR && 32BIT
	default n
	help
	  If you use prototype board, this option is enabled.

config SH_URQUELL
	bool "Urquell"
	depends on CPU_SUBTYPE_SH7786
	select ARCH_REQUIRE_GPIOLIB
	select SYS_SUPPORTS_PCI
	select NO_IOPORT if !PCI

config SH_MIGOR
	bool "Migo-R"
	depends on CPU_SUBTYPE_SH7722
	select ARCH_REQUIRE_GPIOLIB
	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 ARCH_REQUIRE_GPIOLIB
	help
	  Renesas "AP-325RXA" support.
	  Compatible with ALGO SYSTEM CO.,LTD. "AP-320A"

config SH_KFR2R09
	bool "KFR2R09"
	depends on CPU_SUBTYPE_SH7724
	select ARCH_REQUIRE_GPIOLIB
	help
	  "Kit For R2R for 2009" support.

config SH_ECOVEC
	bool "EcoVec"
	depends on CPU_SUBTYPE_SH7724
	select ARCH_REQUIRE_GPIOLIB
	select SND_SOC_DA7210 if SND_SIMPLE_CARD
	help
	  Renesas "R0P7724LC0011/21RL (EcoVec)" support.

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

config SH_ESPT
	bool "ESPT"
	depends on CPU_SUBTYPE_SH7763
	help
	  Select ESPT if configuring for a Renesas SH7763
	  with gigabit ether 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
	select NO_IOPORT if !PCI

config SH_MAGIC_PANEL_R2
	bool "Magic Panel R2"
	depends on CPU_SUBTYPE_SH7720
	select ARCH_REQUIRE_GPIOLIB
	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

config SH_POLARIS
	bool "SMSC Polaris"
	select CPU_HAS_IPR_IRQ
	depends on CPU_SUBTYPE_SH7709
	help
	  Select if configuring for an SMSC Polaris development board

config SH_SH2007
	bool "SH-2007 board"
	select NO_IOPORT
	depends on CPU_SUBTYPE_SH7780
	help
	  SH-2007 is a single-board computer based around SH7780 chip
	  intended for embedded applications.
	  It has an Ethernet interface (SMC9118), direct connected
	  Compact Flash socket, two serial ports and PC-104 bus.
	  More information at <http://sh2000.sh-linux.org>.

config SH_APSH4A3A
	bool "AP-SH4A-3A"
	select SH_ALPHA_BOARD
	depends on CPU_SUBTYPE_SH7785
	help
	  Select AP-SH4A-3A if configuring for an ALPHAPROJECT AP-SH4A-3A.

config SH_APSH4AD0A
	bool "AP-SH4AD-0A"
	select SH_ALPHA_BOARD
	select SYS_SUPPORTS_PCI
	depends on CPU_SUBTYPE_SH7786
	help
	  Select AP-SH4AD-0A if configuring for an ALPHAPROJECT AP-SH4AD-0A.

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"
source "arch/sh/boards/mach-rsk/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

endmenu
