if MACH_LOONGSON1

choice
	prompt "Machine Type"

config LOONGSON1_LS1A
	bool "Loongson LS1A board"
	select CEVT_R4K if !MIPS_EXTERNAL_TIMER
	select CSRC_R4K if !MIPS_EXTERNAL_TIMER
	select SYS_HAS_CPU_LOONGSON1A
	select DMA_NONCOHERENT
	select BOOT_ELF32
	select IRQ_CPU
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_HIGHMEM
	select SYS_SUPPORTS_MIPS16
	select SYS_HAS_EARLY_PRINTK
	select USE_GENERIC_EARLY_PRINTK_8250
	select COMMON_CLK

config LOONGSON1_LS1B
	bool "Loongson LS1B board"
	select CEVT_R4K if !MIPS_EXTERNAL_TIMER
	select CSRC_R4K if !MIPS_EXTERNAL_TIMER
	select SYS_HAS_CPU_LOONGSON1B
	select DMA_NONCOHERENT
	select BOOT_ELF32
	select IRQ_CPU
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_HIGHMEM
	select SYS_SUPPORTS_MIPS16
	select SYS_HAS_EARLY_PRINTK
	select USE_GENERIC_EARLY_PRINTK_8250
	select COMMON_CLK

if LOONGSON1_LS1B

choice
	prompt "Loongson LS1B board config"
	default LS1B_DEV_BOARD

config LS1B_DEV_BOARD
	bool "LSGZ_1B_DEV board"

config LS1B_CORE_BOARD
	bool "LS1B_CORE board"
endchoice

endif

config LOONGSON1_LS1C
	bool "Loongson LS1C board"
	select CEVT_R4K if !MIPS_EXTERNAL_TIMER
	select CSRC_R4K if !MIPS_EXTERNAL_TIMER
	select SYS_HAS_CPU_LOONGSON1C
	select DMA_NONCOHERENT
	select BOOT_ELF32
	select IRQ_CPU
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_HIGHMEM
	select SYS_SUPPORTS_MIPS16
	select SYS_HAS_EARLY_PRINTK
	select USE_GENERIC_EARLY_PRINTK_8250
	select COMMON_CLK

if LOONGSON1_LS1C

choice
	prompt "Loongson LS1C board config"
	default LS1C_OPENLOONGSON_BOARD

config LS1C_CBII_V0A_BOARD
	bool "LS1C_CBII_V0A board (ls1c300b)"
	select LOONGSON1_LS1C300B

config LS1C_CBV0B_BOARD
	bool "LS1C_CB_V0B board (ls1c300a)"
	select LOONGSON1_LS1C300A

config LS1C_OPENLOONGSON_ROBOT_BOARD
	bool "openloongson robot ctrl board (ls1c300a)"
	select LOONGSON1_LS1C300A

config LS1C_OPENLOONGSON_BOARD
	bool "openloongson board (ls1c300) smartloongson v2.0-v3.4"
	select LOONGSON1_LS1C300B
	help

	  uart1 rx:p2,tx:p3
	  uart2 rx:p35,tx:p36
	  uart3 rx:p0,tx:p1
	  uart4 rx:p80,tx:p79
	  uart5 rx:p81(no_out),tx:p78
	  uart6 rx:p47,tx:p46
	  uart7 rx:p87,tx:p88
	  uart8 rx:p89,tx:p90
	  uart9 rx:p85,tx:p86
	  uart10 rx:p84,tx:p82
	  uart11 rx:p49,tx:p48
endchoice

config LOONGSON1_LS1C300A
	bool

config LOONGSON1_LS1C300B
	bool

endif

endchoice

config LS1X_CBUS_DUMP
	bool "ls1x cbus dump"

config LOONGSON1C_FIX_UART9_MCR
	bool "ls1c-300b fix uart9 mcr
	help
	  ls1c-300b bug , uart8_full_func reg address = uart9 mcr address, maybe.

config PWM_LS1X
	tristate "Loongson1 PWM support"
	select HAVE_PWM
	help
	  Generic PWM framework driver for Loongson1.

	  To compile this driver as a module, choose M here: the module
	  will be called pwm-ls1x.

config PWM_LS1X_PWM0
	bool "PWM0 support"
	depends on PWM_LS1X

config PWM_LS1X_PWM1
	bool "PWM1 support"
	depends on PWM_LS1X

config PWM_LS1X_PWM2
	bool "PWM2 support"
	depends on PWM_LS1X

config PWM_LS1X_PWM3
	bool "PWM3 support"
	depends on PWM_LS1X

config HAVE_PWM
	bool

endif # MACH_LOONGSON1
