# SPDX-License-Identifier: GPL-2.0-only
#
# MIPS Platform Specific Drivers
#

menuconfig MIPS_PLATFORM_DEVICES
	bool "MIPS Platform Specific Device Drivers"
	default y
	help
	  Say Y here to get to see options for device drivers of various
	  MIPS platforms, including vendor-specific netbook/laptop/desktop
	  extension and hardware monitor drivers. This option itself does
	  not add any kernel code.

	  If you say N, all options in this submenu will be skipped and disabled.

if MIPS_PLATFORM_DEVICES

config CPU_HWMON
	bool "Loongson-3 CPU HWMon Driver"
	depends on MACH_LOONGSON64
	select HWMON
	default y
	help
	  Loongson-3A/3B CPU Hwmon (temperature sensor) driver.

config RS780E_ACPI
	bool "Loongson RS780E ACPI Controller"
	depends on MACH_LOONGSON64 || COMPILE_TEST
	help
	  Loongson RS780E PCH ACPI Controller driver.

config LS2K_RESET
	bool "Loongson-2K1000 Reset Controller"
	depends on MACH_LOONGSON64 || COMPILE_TEST
	help
	  Loongson-2K1000 Reset Controller driver.

endif # MIPS_PLATFORM_DEVICES
