# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

if BOARD_GPMRB

config MULTIBOOT
	default n

config BOARD
	default "gpmrb"

config BUILD_OUTPUT_STRIPPED
	default y

if UART_NS16550

config UART_NS16550_PORT_0
	default y

config UART_NS16550_PORT_1
	default y

config UART_NS16550_PORT_2
	default y

config UART_NS16550_PORT_3
	default y

endif # UART_NS16550

if I2C

config I2C_0
	default y

config I2C_1
	default y

endif # I2C

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 19200000 if HPET_TIMER		# guess
	default 1100000000 if LOAPIC_TIMER	# another guess

endif # BOARD_GPMRB
