# Might be removed (alongside with the PS/2 init code) once payloads
# reliably support PS/2 init themselves.
config DRIVERS_PS2_KEYBOARD
	bool "PS/2 keyboard init"
	default y
	help
	  Enable this option to initialize PS/2 keyboards found connected
	  to the PS/2 port.

	  Some payloads (eg, filo) require this option.  Other payloads
	  (eg, SeaBIOS, Linux) do not require it.
	  Initializing a PS/2 keyboard can take several hundred milliseconds.

	  If you know you will only use a payload which does not require
	  this option, then you can say N here to speed up boot time.
	  Otherwise say Y.

config LPC_TPM
	bool
	default n
	help
	  Enable this option to enable TPM support in coreboot.

	  If unsure, say N.
