# SPDX-License-Identifier: GPL-2.0-only

config EC_CLEVO_IT5570E
	bool
	select EC_ACPI
	help
	  IT5570E embedded controller in Clevo notebooks

if EC_CLEVO_IT5570E

config EC_CLEVO_IT5570E_MEM_BASE
	hex
	help
	  Memory address for the EC memory region mapped via LGMR

config EC_CLEVO_IT5570E_AC_FAN_ALWAYS_ON
	bool "Fan always on with AC attached"
	default n
	help
	  Never turn the fan fully off when AC is attached.

	  This setting can be overridden by cmos option `ac_fan_always_on`.

config EC_CLEVO_IT5570E_KBLED_BOOTEFFECT
	bool "Keyboard boot effect"
	default n
	help
	  Enable the "breathing" boot effect of the LED keyboard.

	  This setting can be overridden by cmos option `kbled_booteffect`.

config EC_CLEVO_IT5570E_KBLED_TIMEOUT
	int "Keyboard backlight timeout"
	default 15
	help
	  Keyboard backlight timeout in seconds. 0 keeps the backlight
	  always on.

	  This setting can be overridden by cmos option `kbled_timeout`.

config EC_CLEVO_IT5570E_FN_WIN_SWAP
	bool "Swap Fn/Windows keys"
	default n
	help
	  Swap the Fn and Windows key.

	  This setting can be overridden by cmos option `fn_win_swap`.

config EC_CLEVO_IT5570E_FLEXICHARGER
	bool "Flexicharger"
	default n
	help
	  Enable the Flexicharger functionality.

	  This setting can be overridden by cmos option `flexicharger`.

if EC_CLEVO_IT5570E_FLEXICHARGER

config EC_CLEVO_IT5570E_FLEXICHG_START
	int "Start charge threshold"
	default 95
	help
	  Start charge threshold in percent.

	  This setting can be overridden by cmos option `flexicharger_start`.

config EC_CLEVO_IT5570E_FLEXICHG_STOP
	int "Stop charge threshold"
	default 100
	help
	  Stop charge threshold in percent.

	  This setting can be overridden by cmos option `flexicharger_stop`.

endif

choice
	prompt "Camera default state"
	default EC_CLEVO_IT5570E_CAM_BOOT_STATE_KEEP
	help
	  Camera default state.

	  This setting can be overridden by cmos option `camera_boot_state`.

config EC_CLEVO_IT5570E_CAM_BOOT_STATE_KEEP
	bool "Keep previous state"

config EC_CLEVO_IT5570E_CAM_BOOT_STATE_DISABLE
	bool "Disable"

config EC_CLEVO_IT5570E_CAM_BOOT_STATE_ENABLE
	bool "Enable"

endchoice

config EC_CLEVO_IT5570E_CAM_BOOT_STATE
	int
	default 0 if EC_CLEVO_IT5570E_CAM_BOOT_STATE_DISABLE
	default 1 if EC_CLEVO_IT5570E_CAM_BOOT_STATE_ENABLE
	default 2

choice
	prompt "Touchpad toggle mode"
	default EC_CLEVO_IT5570E_TP_TOGGLE_MODE_CTRLALTF9
	help
	  There are two modes for the touchpad toggle (Fn-F1):
	    - Ctrl-Alt-F9 mode sends the windows-native touchpad toggle keyboard shortcut.
	    - Keycode mode sends special key codes f7/f8 which can be configured in udev
	      to be handled as touchpad toggle.

	  This setting can be overridden by cmos option `tp_toggle_mode`.

config EC_CLEVO_IT5570E_TP_TOGGLE_MODE_CTRLALTF9
	bool "Ctrl-Alt-F9"

config EC_CLEVO_IT5570E_TP_TOGGLE_MODE_KEYOCDE_F7F8
	bool "Keycode f7/f8"

endchoice

config EC_CLEVO_IT5570E_TP_TOGGLE_MODE
	int
	default 0 if EC_CLEVO_IT5570E_TP_TOGGLE_MODE_CTRLALTF9
	default 1 if EC_CLEVO_IT5570E_TP_TOGGLE_MODE_KEYOCDE_F7F8

endif