menu "Companion Chips"

config VOYAGERGX
	bool "VoyagerGX chip support"
	depends on SH_RTS7751R2D
	help
	  Selecting this option will support Silicon Motion, Inc. SM501.
	  Designed to complement needs for the embedded industry, it
	  provides video and 2D capability. To reduce system cost a
	  wide variety of include I/O is supported, including analog RGB
	  and digital LCD Panel interface, 8-bit parallel interface, USB,
	  UART, IrDA, Zoom Video, AC97 or I2S, SSP, PWM, and I2C. There
	  are additional GPIO bits that can be used to interface to
	  external as well.

# A board must have defined HD6446X_SERIES in order to see these
config HD6446X_SERIES
	bool "HD6446x support"
	default n

choice
	prompt "HD6446x options"
	depends on HD6446X_SERIES
	default HD64461

config HD64461
	bool "Hitachi HD64461 companion chip support"
	depends on CPU_SUBTYPE_SH7709
	---help---
	  The Hitachi HD64461 provides an interface for
	  the SH7709 CPU, supporting a LCD controller,
	  CRT color controller, IrDA up to 4 Mbps, and a
	  PCMCIA controller supporting 2 slots.

	  More information is available at
	  <http://semiconductor.hitachi.com/windowsce/superh/sld013.htm>.

	  Say Y if you want support for the HD64461.
	  Otherwise, say N.

config HD64465
	bool "Hitachi HD64465 companion chip support"
	depends on CPU_SUBTYPE_SH7750
	---help---
	  The Hitachi HD64465 provides an interface for
	  the SH7750 CPU, supporting a LCD controller,
	  CRT color controller, IrDA, USB, PCMCIA,
	  keyboard controller, and a printer interface.

	  More information is available at
	  <http://global.hitachi.com/New/cnews/E/1998/981019B.html>.

	  Say Y if you want support for the HD64465.
	  Otherwise, say N.

endchoice

# These will also be split into the Kconfig's below
config HD64461_IRQ
	int "HD64461 IRQ"
	depends on HD64461
	default "36"
	help
	  The default setting of the HD64461 IRQ is 36.

	  Do not change this unless you know what you are doing.

config HD64461_ENABLER
	bool "HD64461 PCMCIA enabler"
	depends on HD64461
	help
	  Say Y here if you want to enable PCMCIA support
	  via the HD64461 companion chip.
	  Otherwise, say N.


config HD64465_IOBASE
	hex "HD64465 start address"
	depends on HD64465
	default "0xb0000000"
	help
	  The default setting of the HD64465 IO base address is 0xb0000000.

	  Do not change this unless you know what you are doing.

config HD64465_IRQ
	int "HD64465 IRQ"
	depends on HD64465
	default "5"
	help
	  The default setting of the HD64465 IRQ is 5.

	  Do not change this unless you know what you are doing.

endmenu

