# SPDX-License-Identifier: GPL-2.0
config MACH_TX39XX
	bool
	select MACH_TXX9
	select SYS_HAS_CPU_TX39XX

config MACH_TX49XX
	bool
	select MACH_TXX9
	select CEVT_R4K
	select CSRC_R4K
	select IRQ_MIPS_CPU
	select SYS_HAS_CPU_TX49XX
	select SYS_SUPPORTS_64BIT_KERNEL

config MACH_TXX9
	bool
	select DMA_NONCOHERENT
	select SWAP_IO_SPACE
	select SYS_HAS_EARLY_PRINTK
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_BIG_ENDIAN
	select COMMON_CLK

config TOSHIBA_JMR3927
	bool "Toshiba JMR-TX3927 board"
	depends on MACH_TX39XX
	select SOC_TX3927

config TOSHIBA_RBTX4927
	bool "Toshiba RBTX49[23]7 board"
	depends on MACH_TX49XX
	select SOC_TX4927
	# TX4937 is subset of TX4938
	select SOC_TX4938
	help
	  This Toshiba board is based on the TX4927 processor. Say Y here to
	  support this machine type

config TOSHIBA_RBTX4938
	bool "Toshiba RBTX4938 board"
	depends on MACH_TX49XX
	select SOC_TX4938
	help
	  This Toshiba board is based on the TX4938 processor. Say Y here to
	  support this machine type

config TOSHIBA_RBTX4939
	bool "Toshiba RBTX4939 board"
	depends on MACH_TX49XX
	select SOC_TX4939
	select TXX9_7SEGLED
	help
	  This Toshiba board is based on the TX4939 processor. Say Y here to
	  support this machine type

config SOC_TX3927
	bool
	select CEVT_TXX9
	select HAS_TXX9_SERIAL
	select HAVE_PCI
	select IRQ_TXX9
	select GPIO_TXX9

config SOC_TX4927
	bool
	select CEVT_TXX9
	select HAS_TXX9_SERIAL
	select HAVE_PCI
	select IRQ_TXX9
	select PCI_TX4927
	select GPIO_TXX9
	select HAS_TXX9_ACLC

config SOC_TX4938
	bool
	select CEVT_TXX9
	select HAS_TXX9_SERIAL
	select HAVE_PCI
	select IRQ_TXX9
	select PCI_TX4927
	select GPIO_TXX9
	select HAS_TXX9_ACLC

config SOC_TX4939
	bool
	select CEVT_TXX9
	select HAS_TXX9_SERIAL
	select HAVE_PCI
	select PCI_TX4927
	select HAS_TXX9_ACLC

config TXX9_7SEGLED
	bool

config TOSHIBA_FPCIB0
	bool "FPCIB0 Backplane Support"
	depends on PCI && MACH_TXX9
	select I8259

config PICMG_PCI_BACKPLANE_DEFAULT
	bool "Support for PICMG PCI Backplane"
	depends on PCI && MACH_TXX9
	default y if !TOSHIBA_FPCIB0

if TOSHIBA_RBTX4938

comment "Multiplex Pin Select"
choice
	prompt "PIO[58:61]"
	default TOSHIBA_RBTX4938_MPLEX_PIO58_61

config TOSHIBA_RBTX4938_MPLEX_PIO58_61
	bool "PIO"
config TOSHIBA_RBTX4938_MPLEX_NAND
	bool "NAND"
config TOSHIBA_RBTX4938_MPLEX_ATA
	bool "ATA"
config TOSHIBA_RBTX4938_MPLEX_KEEP
	bool "Keep firmware settings"

endchoice

endif

config PCI_TX4927
	bool
