##
## This file is part of the coreboot project.
##
## Copyright (C) 2013 DMP Electronics Inc.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##

if BOARD_DMP_EX

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select CPU_DMP_VORTEX86EX
	select NORTHBRIDGE_DMP_VORTEX86EX
	select SOUTHBRIDGE_DMP_VORTEX86EX
	select HAVE_PIRQ_TABLE
	select BOARD_ROMSIZE_KB_256
	select ROMCC
	select HAVE_DEBUG_RAM_SETUP

config MAINBOARD_DIR
	string
	default dmp/vortex86ex

config MAINBOARD_PART_NUMBER
	string
	default "Vortex86EX"

config IRQ_SLOT_COUNT
	int
	default 12

config ID_SECTION_OFFSET
	# Vortex86 ROM fixed data areas used too big range, we need
	# to move ID from default address to another place.
	# 18K below top of ROM should be ok.
	hex
	default 0x4800

# SPI I/O base address control.
config I2C_BASE
	hex
	default 0xfb00

menu "On-Chip Device Power Down Control"

	config TEMP_POWERDOWN
	bool "Temperature sensor power-down"

	config SATA_POWERDOWN
	bool "SATA power-down"

	config ADC_POWERDOWN
	bool "ADC power-down"

	config PCIE0_POWERDOWN
	bool "PCIE0 power-down"

	config MAC_POWERDOWN
	bool "MAC power-down"

	config USB1_POWERDOWN
	bool "USB2.0 Host Controller 1 power-down"

	config IDE_POWERDOWN
	bool "IDE power-down"

endmenu

menu "Watchdog Timer setting"

config WDT1_INITIALIZE
	bool "Initialize WDT1"
	default n

config WDT1_ENABLE
	depends on WDT1_INITIALIZE
	bool "Enable WDT1"
	default n

choice
	depends on WDT1_INITIALIZE
	prompt "WDT1 Signal Select"
	default WDT1_SIGNAL_RESET

config WDT1_SINGAL_NMI
	bool "NMI"
config WDT1_SIGNAL_RESET
	bool "Reset"
config WDT1_SIGNAL_SMI
	bool "SMI"

endchoice

endmenu

menu "IDE controller setting"

choice
	prompt "Operation Mode"
	default IDE_NATIVE_MODE

config IDE_NATIVE_MODE
	bool "Native Mode"
config IDE_LEGACY_MODE
	bool "Legacy Mode"

endchoice

config IDE1_ENABLE
	bool "IDE Primary channel Enable"
	default y

config IDE2_ENABLE
	bool "IDE Secondary channel Enable"
	default y

config IDE_STANDARD_COMPATIBLE
	bool "Standard IDE Compatible"
	default n
	help
	  Built-in IDE controller PCI vendor/device ID is 17F3:1012, which
	  is not recognized by some OSes.

	  This option can change IDE controller PCI vendor/device ID to
	  other value for software compatibility.

config IDE_COMPATIBLE_SELECTION
	depends on IDE_STANDARD_COMPATIBLE
	hex "IDE Compatible Selection"
	default 0x808624db
	help
	  IDE controller PCI vendor/device ID value setting.

	  Higher 16-bit is vendor ID, lower 16-bit is device ID.

endmenu

# GPIO setting :
menu "GPIO setting"

# Begin of GPIO0
config GPIO_P0_ENABLE
	bool "GPIO port 0 Enable"
	default n

config GPIO_P0_DATA_ADDR
	hex "GPIO port 0 data address"
	depends on GPIO_P0_ENABLE

config GPIO_P0_DIR_ADDR
	hex "GPIO port 0 direction address"
	depends on GPIO_P0_ENABLE

config GPIO_P0_INIT_DIR
	hex "GPIO port 0 initial direction"
	default 0x00
	depends on GPIO_P0_ENABLE

config GPIO_P0_INIT_DATA
	hex "GPIO port 0 initial data"
	depends on GPIO_P0_ENABLE
# end of GPIO0

# Begin of GPIO1
config GPIO_P1_ENABLE
	bool "GPIO port 1 Enable"
	default n

config GPIO_P1_DATA_ADDR
	hex "GPIO port 1 data address"
	depends on GPIO_P1_ENABLE

config GPIO_P1_DIR_ADDR
	hex "GPIO port 1 direction address"
	depends on GPIO_P1_ENABLE

config GPIO_P1_INIT_DIR
	hex "GPIO port 1 initial direction"
	default 0x00
	depends on GPIO_P1_ENABLE

config GPIO_P1_INIT_DATA
	hex "GPIO port 1 initial data"
	depends on GPIO_P1_ENABLE
# end of GPIO1

# Begin of GPIO2
config GPIO_P2_ENABLE
	bool "GPIO port 2 Enable"
	default n

config GPIO_P2_DATA_ADDR
	hex "GPIO port 2 data address"
	depends on GPIO_P2_ENABLE

config GPIO_P2_DIR_ADDR
	hex "GPIO port 2 direction address"
	depends on GPIO_P2_ENABLE

config GPIO_P2_INIT_DIR
	hex "GPIO port 2 initial direction"
	default 0x00
	depends on GPIO_P2_ENABLE

config GPIO_P2_INIT_DATA
	hex "GPIO port 2 initial data"
	depends on GPIO_P2_ENABLE
# end of GPIO2

# Begin of GPIO3
config GPIO_P3_ENABLE
	bool "GPIO port 3 Enable"
	default n

config GPIO_P3_DATA_ADDR
	hex "GPIO port 3 data address"
	depends on GPIO_P3_ENABLE

config GPIO_P3_DIR_ADDR
	hex "GPIO port 3 direction address"
	depends on GPIO_P3_ENABLE

config GPIO_P3_INIT_DIR
	hex "GPIO port 3 initial direction"
	default 0x00
	depends on GPIO_P3_ENABLE

config GPIO_P3_INIT_DATA
	hex "GPIO port 3 initial data"
	depends on GPIO_P3_ENABLE
# end of GPIO3

# Begin of GPIO4
config GPIO_P4_ENABLE
	bool "GPIO port 4 Enable"
	default n

config GPIO_P4_DATA_ADDR
	hex "GPIO port 4 data address"
	depends on GPIO_P4_ENABLE

config GPIO_P4_DIR_ADDR
	hex "GPIO port 4 direction address"
	depends on GPIO_P4_ENABLE

config GPIO_P4_INIT_DIR
	hex "GPIO port 4 initial direction"
	default 0x00
	depends on GPIO_P4_ENABLE

config GPIO_P4_INIT_DATA
	hex "GPIO port 4 initial data"
	depends on GPIO_P4_ENABLE
# end of GPIO4

# Begin of GPIO5
config GPIO_P5_ENABLE
	bool "GPIO port 5 Enable"
	default n

config GPIO_P5_DATA_ADDR
	hex "GPIO port 5 data address"
	depends on GPIO_P5_ENABLE

config GPIO_P5_DIR_ADDR
	hex "GPIO port 5 direction address"
	depends on GPIO_P5_ENABLE

config GPIO_P5_INIT_DIR
	hex "GPIO port 5 initial direction"
	default 0x00
	depends on GPIO_P5_ENABLE

config GPIO_P5_INIT_DATA
	hex "GPIO port 5 initial data"
	depends on GPIO_P5_ENABLE
# end of GPIO5

# Begin of GPIO6
config GPIO_P6_ENABLE
	bool "GPIO port 6 Enable"
	default n

config GPIO_P6_DATA_ADDR
	hex "GPIO port 6 data address"
	depends on GPIO_P6_ENABLE

config GPIO_P6_DIR_ADDR
	hex "GPIO port 6 direction address"
	depends on GPIO_P6_ENABLE

config GPIO_P6_INIT_DIR
	hex "GPIO port 6 initial direction"
	default 0x00
	depends on GPIO_P6_ENABLE

config GPIO_P6_INIT_DATA
	hex "GPIO port 6 initial data"
	depends on GPIO_P6_ENABLE
# end of GPIO6

# Begin of GPIO7
config GPIO_P7_ENABLE
	bool "GPIO port 7 Enable"
	default n

config GPIO_P7_DATA_ADDR
	hex "GPIO port 7 data address"
	depends on GPIO_P7_ENABLE

config GPIO_P7_DIR_ADDR
	hex "GPIO port 7 direction address"
	depends on GPIO_P7_ENABLE

config GPIO_P7_INIT_DIR
	hex "GPIO port 7 initial direction"
	default 0x00
	depends on GPIO_P7_ENABLE

config GPIO_P7_INIT_DATA
	hex "GPIO port 7 initial data"
	depends on GPIO_P7_ENABLE
# end of GPIO7

# Begin of GPIO8
config GPIO_P8_ENABLE
	bool "GPIO port 8 Enable"
	default n

config GPIO_P8_DATA_ADDR
	hex "GPIO port 8 data address"
	depends on GPIO_P8_ENABLE

config GPIO_P8_DIR_ADDR
	hex "GPIO port 8 direction address"
	depends on GPIO_P8_ENABLE

config GPIO_P8_INIT_DIR
	hex "GPIO port 8 initial direction"
	default 0x00
	depends on GPIO_P8_ENABLE

config GPIO_P8_INIT_DATA
	hex "GPIO port 8 initial data"
	depends on GPIO_P8_ENABLE
# end of GPIO8

# Begin of GPIO9
config GPIO_P9_ENABLE
	bool "GPIO port 9 Enable"
	default n

config GPIO_P9_DATA_ADDR
	hex "GPIO port 9 data address"
	depends on GPIO_P9_ENABLE

config GPIO_P9_DIR_ADDR
	hex "GPIO port 9 direction address"
	depends on GPIO_P9_ENABLE

config GPIO_P9_INIT_DIR
	hex "GPIO port 9 initial direction"
	default 0x00
	depends on GPIO_P9_ENABLE

config GPIO_P9_INIT_DATA
	hex "GPIO port 9 initial data"
	depends on GPIO_P9_ENABLE
# end of GPIO9

endmenu

# UART setting :
menu "UART setting"

# Begin of UART1
config UART1_ENABLE
	bool "UART1 Enable"
	default y

choice
	prompt "UART1 I/O port"
	default UART1_IO_PORT_3F8
	depends on UART1_ENABLE

config UART1_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART1_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART1_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART1_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART1_IO_PORT_OTHER
	bool "Other"

endchoice

config UART1_IO_PORT_OTHER_INPUT
	hex "UART1 I/O port"
	depends on UART1_ENABLE && UART1_IO_PORT_OTHER

config UART1_IO
	hex
	depends on UART1_ENABLE
	default 0x3f8 if UART1_IO_PORT_3F8
	default 0x2f8 if UART1_IO_PORT_2F8
	default 0x3e8 if UART1_IO_PORT_3E8
	default 0x2e8 if UART1_IO_PORT_2E8
	default UART1_IO_PORT_OTHER_INPUT if UART1_IO_PORT_OTHER

choice
	prompt "UART1 IRQ"
	default UART1_IRQ4
	depends on UART1_ENABLE

config UART1_IRQ_DISABLE
	bool "Disable"
config UART1_IRQ3
	bool "IRQ3, COM2"
config UART1_IRQ4
	bool "IRQ4, COM1"
config UART1_IRQ5
	bool "IRQ5"
config UART1_IRQ6
	bool "IRQ6"
config UART1_IRQ7
	bool "IRQ7"
config UART1_IRQ9
	bool "IRQ9"
config UART1_IRQ10
	bool "IRQ10, COM3"
config UART1_IRQ11
	bool "IRQ11, COM4"
config UART1_IRQ12
	bool "IRQ12"
config UART1_IRQ14
	bool "IRQ14"
config UART1_IRQ15
	bool "IRQ15"

endchoice

config UART1_IRQ
	int
	depends on UART1_ENABLE
	default 0 if UART1_IRQ_DISABLE
	default 3 if UART1_IRQ3
	default 4 if UART1_IRQ4
	default 5 if UART1_IRQ5
	default 6 if UART1_IRQ6
	default 7 if UART1_IRQ7
	default 9 if UART1_IRQ9
	default 10 if UART1_IRQ10
	default 11 if UART1_IRQ11
	default 12 if UART1_IRQ12
	default 14 if UART1_IRQ14
	default 15 if UART1_IRQ15

# end of UART1

# Begin of UART2
config UART2_ENABLE
	bool "UART2 Enable"
	default y

choice
	prompt "UART2 I/O port"
	default UART2_IO_PORT_2F8
	depends on UART2_ENABLE

config UART2_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART2_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART2_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART2_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART2_IO_PORT_OTHER
	bool "Other"

endchoice

config UART2_IO_PORT_OTHER_INPUT
	hex "UART2 I/O port"
	depends on UART2_ENABLE && UART2_IO_PORT_OTHER

config UART2_IO
	hex
	depends on UART2_ENABLE
	default 0x3f8 if UART2_IO_PORT_3F8
	default 0x2f8 if UART2_IO_PORT_2F8
	default 0x3e8 if UART2_IO_PORT_3E8
	default 0x2e8 if UART2_IO_PORT_2E8
	default UART2_IO_PORT_OTHER_INPUT if UART2_IO_PORT_OTHER

choice
	prompt "UART2 IRQ"
	default UART2_IRQ3
	depends on UART2_ENABLE

config UART2_IRQ_DISABLE
	bool "Disable"
config UART2_IRQ3
	bool "IRQ3, COM2"
config UART2_IRQ4
	bool "IRQ4, COM1"
config UART2_IRQ5
	bool "IRQ5"
config UART2_IRQ6
	bool "IRQ6"
config UART2_IRQ7
	bool "IRQ7"
config UART2_IRQ9
	bool "IRQ9"
config UART2_IRQ10
	bool "IRQ10, COM3"
config UART2_IRQ11
	bool "IRQ11, COM4"
config UART2_IRQ12
	bool "IRQ12"
config UART2_IRQ14
	bool "IRQ14"
config UART2_IRQ15
	bool "IRQ15"

endchoice

config UART2_IRQ
	int
	depends on UART2_ENABLE
	default 0 if UART2_IRQ_DISABLE
	default 3 if UART2_IRQ3
	default 4 if UART2_IRQ4
	default 5 if UART2_IRQ5
	default 6 if UART2_IRQ6
	default 7 if UART2_IRQ7
	default 9 if UART2_IRQ9
	default 10 if UART2_IRQ10
	default 11 if UART2_IRQ11
	default 12 if UART2_IRQ12
	default 14 if UART2_IRQ14
	default 15 if UART2_IRQ15

# end of UART2

# Begin of UART3
config UART3_ENABLE
	bool "UART3 Enable"
	default y

choice
	prompt "UART3 I/O port"
	default UART3_IO_PORT_3E8
	depends on UART3_ENABLE

config UART3_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART3_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART3_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART3_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART3_IO_PORT_OTHER
	bool "Other"

endchoice

config UART3_IO_PORT_OTHER_INPUT
	hex "UART3 I/O port"
	depends on UART3_ENABLE && UART3_IO_PORT_OTHER

config UART3_IO
	hex
	depends on UART3_ENABLE
	default 0x3f8 if UART3_IO_PORT_3F8
	default 0x2f8 if UART3_IO_PORT_2F8
	default 0x3e8 if UART3_IO_PORT_3E8
	default 0x2e8 if UART3_IO_PORT_2E8
	default UART3_IO_PORT_OTHER_INPUT if UART3_IO_PORT_OTHER

choice
	prompt "UART3 IRQ"
	default UART3_IRQ10
	depends on UART3_ENABLE

config UART3_IRQ_DISABLE
	bool "Disable"
config UART3_IRQ3
	bool "IRQ3, COM2"
config UART3_IRQ4
	bool "IRQ4, COM1"
config UART3_IRQ5
	bool "IRQ5"
config UART3_IRQ6
	bool "IRQ6"
config UART3_IRQ7
	bool "IRQ7"
config UART3_IRQ9
	bool "IRQ9"
config UART3_IRQ10
	bool "IRQ10, COM3"
config UART3_IRQ11
	bool "IRQ11, COM4"
config UART3_IRQ12
	bool "IRQ12"
config UART3_IRQ14
	bool "IRQ14"
config UART3_IRQ15
	bool "IRQ15"

endchoice

config UART3_IRQ
	int
	depends on UART3_ENABLE
	default 0 if UART3_IRQ_DISABLE
	default 3 if UART3_IRQ3
	default 4 if UART3_IRQ4
	default 5 if UART3_IRQ5
	default 6 if UART3_IRQ6
	default 7 if UART3_IRQ7
	default 9 if UART3_IRQ9
	default 10 if UART3_IRQ10
	default 11 if UART3_IRQ11
	default 12 if UART3_IRQ12
	default 14 if UART3_IRQ14
	default 15 if UART3_IRQ15

# end of UART3

# Begin of UART4
config UART4_ENABLE
	bool "UART4 Enable"
	default y

choice
	prompt "UART4 I/O port"
	default UART4_IO_PORT_2E8
	depends on UART4_ENABLE

config UART4_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART4_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART4_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART4_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART4_IO_PORT_OTHER
	bool "Other"

endchoice

config UART4_IO_PORT_OTHER_INPUT
	hex "UART4 I/O port"
	depends on UART4_ENABLE && UART4_IO_PORT_OTHER

config UART4_IO
	hex
	depends on UART4_ENABLE
	default 0x3f8 if UART4_IO_PORT_3F8
	default 0x2f8 if UART4_IO_PORT_2F8
	default 0x3e8 if UART4_IO_PORT_3E8
	default 0x2e8 if UART4_IO_PORT_2E8
	default UART4_IO_PORT_OTHER_INPUT if UART4_IO_PORT_OTHER

choice
	prompt "UART4 IRQ"
	default UART4_IRQ11
	depends on UART4_ENABLE

config UART4_IRQ_DISABLE
	bool "Disable"
config UART4_IRQ3
	bool "IRQ3, COM2"
config UART4_IRQ4
	bool "IRQ4, COM1"
config UART4_IRQ5
	bool "IRQ5"
config UART4_IRQ6
	bool "IRQ6"
config UART4_IRQ7
	bool "IRQ7"
config UART4_IRQ9
	bool "IRQ9"
config UART4_IRQ10
	bool "IRQ10, COM3"
config UART4_IRQ11
	bool "IRQ11, COM4"
config UART4_IRQ12
	bool "IRQ12"
config UART4_IRQ14
	bool "IRQ14"
config UART4_IRQ15
	bool "IRQ15"

endchoice

config UART4_IRQ
	int
	depends on UART4_ENABLE
	default 0 if UART4_IRQ_DISABLE
	default 3 if UART4_IRQ3
	default 4 if UART4_IRQ4
	default 5 if UART4_IRQ5
	default 6 if UART4_IRQ6
	default 7 if UART4_IRQ7
	default 9 if UART4_IRQ9
	default 10 if UART4_IRQ10
	default 11 if UART4_IRQ11
	default 12 if UART4_IRQ12
	default 14 if UART4_IRQ14
	default 15 if UART4_IRQ15

# end of UART4

# Begin of UART5
config UART5_ENABLE
	bool "UART5 Enable"
	default n

choice
	prompt "UART5 I/O port"
	default UART5_IO_PORT_OTHER
	depends on UART5_ENABLE

config UART5_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART5_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART5_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART5_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART5_IO_PORT_OTHER
	bool "Other"

endchoice

config UART5_IO_PORT_OTHER_INPUT
	hex "UART5 I/O port"
	depends on UART5_ENABLE && UART5_IO_PORT_OTHER

config UART5_IO
	hex
	depends on UART5_ENABLE
	default 0x3f8 if UART5_IO_PORT_3F8
	default 0x2f8 if UART5_IO_PORT_2F8
	default 0x3e8 if UART5_IO_PORT_3E8
	default 0x2e8 if UART5_IO_PORT_2E8
	default UART5_IO_PORT_OTHER_INPUT if UART5_IO_PORT_OTHER

choice
	prompt "UART5 IRQ"
	default UART5_IRQ_DISABLE
	depends on UART5_ENABLE

config UART5_IRQ_DISABLE
	bool "Disable"
config UART5_IRQ3
	bool "IRQ3, COM2"
config UART5_IRQ4
	bool "IRQ4, COM1"
config UART5_IRQ5
	bool "IRQ5"
config UART5_IRQ6
	bool "IRQ6"
config UART5_IRQ7
	bool "IRQ7"
config UART5_IRQ9
	bool "IRQ9"
config UART5_IRQ10
	bool "IRQ10, COM3"
config UART5_IRQ11
	bool "IRQ11, COM4"
config UART5_IRQ12
	bool "IRQ12"
config UART5_IRQ14
	bool "IRQ14"
config UART5_IRQ15
	bool "IRQ15"

endchoice

config UART5_IRQ
	int
	depends on UART5_ENABLE
	default 0 if UART5_IRQ_DISABLE
	default 3 if UART5_IRQ3
	default 4 if UART5_IRQ4
	default 5 if UART5_IRQ5
	default 6 if UART5_IRQ6
	default 7 if UART5_IRQ7
	default 9 if UART5_IRQ9
	default 10 if UART5_IRQ10
	default 11 if UART5_IRQ11
	default 12 if UART5_IRQ12
	default 14 if UART5_IRQ14
	default 15 if UART5_IRQ15

# end of UART5

# Begin of UART6
config UART6_ENABLE
	bool "UART6 Enable"
	default n

choice
	prompt "UART6 I/O port"
	default UART6_IO_PORT_OTHER
	depends on UART6_ENABLE

config UART6_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART6_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART6_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART6_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART6_IO_PORT_OTHER
	bool "Other"

endchoice

config UART6_IO_PORT_OTHER_INPUT
	hex "UART6 I/O port"
	depends on UART6_ENABLE && UART6_IO_PORT_OTHER

config UART6_IO
	hex
	depends on UART6_ENABLE
	default 0x3f8 if UART6_IO_PORT_3F8
	default 0x2f8 if UART6_IO_PORT_2F8
	default 0x3e8 if UART6_IO_PORT_3E8
	default 0x2e8 if UART6_IO_PORT_2E8
	default UART6_IO_PORT_OTHER_INPUT if UART6_IO_PORT_OTHER

choice
	prompt "UART6 IRQ"
	default UART6_IRQ_DISABLE
	depends on UART6_ENABLE

config UART6_IRQ_DISABLE
	bool "Disable"
config UART6_IRQ3
	bool "IRQ3, COM2"
config UART6_IRQ4
	bool "IRQ4, COM1"
config UART6_IRQ5
	bool "IRQ5"
config UART6_IRQ6
	bool "IRQ6"
config UART6_IRQ7
	bool "IRQ7"
config UART6_IRQ9
	bool "IRQ9"
config UART6_IRQ10
	bool "IRQ10, COM3"
config UART6_IRQ11
	bool "IRQ11, COM4"
config UART6_IRQ12
	bool "IRQ12"
config UART6_IRQ14
	bool "IRQ14"
config UART6_IRQ15
	bool "IRQ15"

endchoice

config UART6_IRQ
	int
	depends on UART6_ENABLE
	default 0 if UART6_IRQ_DISABLE
	default 3 if UART6_IRQ3
	default 4 if UART6_IRQ4
	default 5 if UART6_IRQ5
	default 6 if UART6_IRQ6
	default 7 if UART6_IRQ7
	default 9 if UART6_IRQ9
	default 10 if UART6_IRQ10
	default 11 if UART6_IRQ11
	default 12 if UART6_IRQ12
	default 14 if UART6_IRQ14
	default 15 if UART6_IRQ15

# end of UART6

# Begin of UART7
config UART7_ENABLE
	bool "UART7 Enable"
	default n

choice
	prompt "UART7 I/O port"
	default UART7_IO_PORT_OTHER
	depends on UART7_ENABLE

config UART7_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART7_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART7_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART7_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART7_IO_PORT_OTHER
	bool "Other"

endchoice

config UART7_IO_PORT_OTHER_INPUT
	hex "UART7 I/O port"
	depends on UART7_ENABLE && UART7_IO_PORT_OTHER

config UART7_IO
	hex
	depends on UART7_ENABLE
	default 0x3f8 if UART7_IO_PORT_3F8
	default 0x2f8 if UART7_IO_PORT_2F8
	default 0x3e8 if UART7_IO_PORT_3E8
	default 0x2e8 if UART7_IO_PORT_2E8
	default UART7_IO_PORT_OTHER_INPUT if UART7_IO_PORT_OTHER

choice
	prompt "UART7 IRQ"
	default UART7_IRQ_DISABLE
	depends on UART7_ENABLE

config UART7_IRQ_DISABLE
	bool "Disable"
config UART7_IRQ3
	bool "IRQ3, COM2"
config UART7_IRQ4
	bool "IRQ4, COM1"
config UART7_IRQ5
	bool "IRQ5"
config UART7_IRQ6
	bool "IRQ6"
config UART7_IRQ7
	bool "IRQ7"
config UART7_IRQ9
	bool "IRQ9"
config UART7_IRQ10
	bool "IRQ10, COM3"
config UART7_IRQ11
	bool "IRQ11, COM4"
config UART7_IRQ12
	bool "IRQ12"
config UART7_IRQ14
	bool "IRQ14"
config UART7_IRQ15
	bool "IRQ15"

endchoice

config UART7_IRQ
	int
	depends on UART7_ENABLE
	default 0 if UART7_IRQ_DISABLE
	default 3 if UART7_IRQ3
	default 4 if UART7_IRQ4
	default 5 if UART7_IRQ5
	default 6 if UART7_IRQ6
	default 7 if UART7_IRQ7
	default 9 if UART7_IRQ9
	default 10 if UART7_IRQ10
	default 11 if UART7_IRQ11
	default 12 if UART7_IRQ12
	default 14 if UART7_IRQ14
	default 15 if UART7_IRQ15

# end of UART7

# Begin of UART8
config UART8_ENABLE
	bool "UART8 Enable"
	default n

choice
	prompt "UART8 I/O port"
	default UART8_IO_PORT_OTHER
	depends on UART8_ENABLE

config UART8_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART8_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART8_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART8_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART8_IO_PORT_OTHER
	bool "Other"

endchoice

config UART8_IO_PORT_OTHER_INPUT
	hex "UART8 I/O port"
	depends on UART8_ENABLE && UART8_IO_PORT_OTHER

config UART8_IO
	hex
	depends on UART8_ENABLE
	default 0x3f8 if UART8_IO_PORT_3F8
	default 0x2f8 if UART8_IO_PORT_2F8
	default 0x3e8 if UART8_IO_PORT_3E8
	default 0x2e8 if UART8_IO_PORT_2E8
	default UART8_IO_PORT_OTHER_INPUT if UART8_IO_PORT_OTHER

choice
	prompt "UART8 IRQ"
	default UART8_IRQ_DISABLE
	depends on UART8_ENABLE

config UART8_IRQ_DISABLE
	bool "Disable"
config UART8_IRQ3
	bool "IRQ3, COM2"
config UART8_IRQ4
	bool "IRQ4, COM1"
config UART8_IRQ5
	bool "IRQ5"
config UART8_IRQ6
	bool "IRQ6"
config UART8_IRQ7
	bool "IRQ7"
config UART8_IRQ9
	bool "IRQ9"
config UART8_IRQ10
	bool "IRQ10, COM3"
config UART8_IRQ11
	bool "IRQ11, COM4"
config UART8_IRQ12
	bool "IRQ12"
config UART8_IRQ14
	bool "IRQ14"
config UART8_IRQ15
	bool "IRQ15"

endchoice

config UART8_IRQ
	int
	depends on UART8_ENABLE
	default 0 if UART8_IRQ_DISABLE
	default 3 if UART8_IRQ3
	default 4 if UART8_IRQ4
	default 5 if UART8_IRQ5
	default 6 if UART8_IRQ6
	default 7 if UART8_IRQ7
	default 9 if UART8_IRQ9
	default 10 if UART8_IRQ10
	default 11 if UART8_IRQ11
	default 12 if UART8_IRQ12
	default 14 if UART8_IRQ14
	default 15 if UART8_IRQ15

# end of UART8

# Begin of UART9
config UART9_ENABLE
	bool "UART9 Enable"
	default n

choice
	prompt "UART9 I/O port"
	default UART9_IO_PORT_OTHER
	depends on UART9_ENABLE

config UART9_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART9_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART9_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART9_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART9_IO_PORT_OTHER
	bool "Other"

endchoice

config UART9_IO_PORT_OTHER_INPUT
	hex "UART9 I/O port"
	depends on UART9_ENABLE && UART9_IO_PORT_OTHER

config UART9_IO
	hex
	depends on UART9_ENABLE
	default 0x3f8 if UART9_IO_PORT_3F8
	default 0x2f8 if UART9_IO_PORT_2F8
	default 0x3e8 if UART9_IO_PORT_3E8
	default 0x2e8 if UART9_IO_PORT_2E8
	default UART9_IO_PORT_OTHER_INPUT if UART9_IO_PORT_OTHER

choice
	prompt "UART9 IRQ"
	default UART9_IRQ_DISABLE
	depends on UART9_ENABLE

config UART9_IRQ_DISABLE
	bool "Disable"
config UART9_IRQ3
	bool "IRQ3, COM2"
config UART9_IRQ4
	bool "IRQ4, COM1"
config UART9_IRQ5
	bool "IRQ5"
config UART9_IRQ6
	bool "IRQ6"
config UART9_IRQ7
	bool "IRQ7"
config UART9_IRQ9
	bool "IRQ9"
config UART9_IRQ10
	bool "IRQ10, COM3"
config UART9_IRQ11
	bool "IRQ11, COM4"
config UART9_IRQ12
	bool "IRQ12"
config UART9_IRQ14
	bool "IRQ14"
config UART9_IRQ15
	bool "IRQ15"

endchoice

config UART9_IRQ
	int
	depends on UART9_ENABLE
	default 0 if UART9_IRQ_DISABLE
	default 3 if UART9_IRQ3
	default 4 if UART9_IRQ4
	default 5 if UART9_IRQ5
	default 6 if UART9_IRQ6
	default 7 if UART9_IRQ7
	default 9 if UART9_IRQ9
	default 10 if UART9_IRQ10
	default 11 if UART9_IRQ11
	default 12 if UART9_IRQ12
	default 14 if UART9_IRQ14
	default 15 if UART9_IRQ15

# end of UART9

# Begin of UART10
config UART10_ENABLE
	bool "UART10 Enable"
	default n

choice
	prompt "UART10 I/O port"
	default UART10_IO_PORT_OTHER
	depends on UART10_ENABLE

config UART10_IO_PORT_3F8
	bool "0x3f8, COM1"
config UART10_IO_PORT_2F8
	bool "0x2f8, COM2"
config UART10_IO_PORT_3E8
	bool "0x3e8, COM3"
config UART10_IO_PORT_2E8
	bool "0x2e8, COM4"
config UART10_IO_PORT_OTHER
	bool "Other"

endchoice

config UART10_IO_PORT_OTHER_INPUT
	hex "UART10 I/O port"
	depends on UART10_ENABLE && UART10_IO_PORT_OTHER

config UART10_IO
	hex
	depends on UART10_ENABLE
	default 0x3f8 if UART10_IO_PORT_3F8
	default 0x2f8 if UART10_IO_PORT_2F8
	default 0x3e8 if UART10_IO_PORT_3E8
	default 0x2e8 if UART10_IO_PORT_2E8
	default UART10_IO_PORT_OTHER_INPUT if UART10_IO_PORT_OTHER

choice
	prompt "UART10 IRQ"
	default UART10_IRQ_DISABLE
	depends on UART10_ENABLE

config UART10_IRQ_DISABLE
	bool "Disable"
config UART10_IRQ3
	bool "IRQ3, COM2"
config UART10_IRQ4
	bool "IRQ4, COM1"
config UART10_IRQ5
	bool "IRQ5"
config UART10_IRQ6
	bool "IRQ6"
config UART10_IRQ7
	bool "IRQ7"
config UART10_IRQ9
	bool "IRQ9"
config UART10_IRQ10
	bool "IRQ10, COM3"
config UART10_IRQ11
	bool "IRQ11, COM4"
config UART10_IRQ12
	bool "IRQ12"
config UART10_IRQ14
	bool "IRQ14"
config UART10_IRQ15
	bool "IRQ15"

endchoice

config UART10_IRQ
	int
	depends on UART10_ENABLE
	default 0 if UART10_IRQ_DISABLE
	default 3 if UART10_IRQ3
	default 4 if UART10_IRQ4
	default 5 if UART10_IRQ5
	default 6 if UART10_IRQ6
	default 7 if UART10_IRQ7
	default 9 if UART10_IRQ9
	default 10 if UART10_IRQ10
	default 11 if UART10_IRQ11
	default 12 if UART10_IRQ12
	default 14 if UART10_IRQ14
	default 15 if UART10_IRQ15

# end of UART10

endmenu

# LPT setting :
menu "LPT setting"

# Begin of LPT
config LPT_ENABLE
	bool "LPT Enable"
	default n

choice
	prompt "LPT I/O port"
	default LPT_IO_PORT_278
	depends on LPT_ENABLE

config LPT_IO_PORT_378
	bool "0x378, LPT1"
config LPT_IO_PORT_278
	bool "0x278, LPT2"
config LPT_IO_PORT_OTHER
	bool "Other"

endchoice

config LPT_IO_PORT_OTHER_INPUT
	hex "LPT I/O port"
	depends on LPT_ENABLE && LPT_IO_PORT_OTHER

config LPT_IO
	hex
	depends on LPT_ENABLE
	default 0x378 if LPT_IO_PORT_378
	default 0x278 if LPT_IO_PORT_278
	default LPT_IO_PORT_OTHER_INPUT if LPT_IO_PORT_OTHER

choice
	prompt "LPT IRQ"
	default LPT_IRQ_DISABLE
	depends on LPT_ENABLE

config LPT_IRQ_DISABLE
	bool "Disable"
config LPT_IRQ3
	bool "IRQ3"
config LPT_IRQ4
	bool "IRQ4"
config LPT_IRQ5
	bool "IRQ5"
config LPT_IRQ6
	bool "IRQ6"
config LPT_IRQ7
	bool "IRQ7"
config LPT_IRQ9
	bool "IRQ9"
config LPT_IRQ10
	bool "IRQ10"
config LPT_IRQ11
	bool "IRQ11"
config LPT_IRQ12
	bool "IRQ12"
config LPT_IRQ14
	bool "IRQ14"
config LPT_IRQ15
	bool "IRQ15"

endchoice

config LPT_IRQ
	int
	depends on LPT_ENABLE
	default 0 if LPT_IRQ_DISABLE
	default 3 if LPT_IRQ3
	default 4 if LPT_IRQ4
	default 5 if LPT_IRQ5
	default 6 if LPT_IRQ6
	default 7 if LPT_IRQ7
	default 9 if LPT_IRQ9
	default 10 if LPT_IRQ10
	default 11 if LPT_IRQ11
	default 12 if LPT_IRQ12
	default 14 if LPT_IRQ14
	default 15 if LPT_IRQ15

choice
	prompt "LPT Mode Setting"
	default LPT_MODE_SPP
	depends on LPT_ENABLE

config LPT_MODE_BPP
	bool "BPP mode"
config LPT_MODE_EPP_19_AND_SPP
	bool "EPP 1.9 and SPP mode"
config LPT_MODE_ECP
	bool "ECP Mode"
config LPT_MODE_ECP_AND_EPP_19
	bool "ECP and EPP 1.9 mode"
config LPT_MODE_SPP
	bool "SPP Mode"
config LPT_MODE_EPP_17_AND_SPP
	bool "EPP 1.7 and SPP mode"
config LPT_MODE_ECP_AND_EPP_17
	bool "ECP and EPP 1.7 mode"

endchoice

# end of LPT

endmenu

endif # BOARD_DMP_EX
