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.

config HD6446X_SERIES
	bool

choice
	prompt "HD6446x options"
	depends on HD6446X_SERIES
	default HD64461

config HD64461
	bool "Hitachi HD64461 companion chip support"
	---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"
	---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_IOBASE
	hex "HD64461 start address"
	depends on HD64461
	default "0xb0000000"

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

