# Copyright (c) 2019 Synopsys, Inc. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if SOC_ARC_HSDK

config SOC
	default "snps_arc_hsdk"

config NUM_IRQ_PRIO_LEVELS
	# This processor supports 2 priority levels:
	# 0 for Fast Interrupts (FIRQs) and 1 for Regular Interrupts (IRQs).
	default 2

config NUM_IRQS
	# must be > the highest interrupt number used
	default 88

config RGF_NUM_BANKS
	default 2

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 500000000

config ARC_FIRQ
	default y

config CODE_DENSITY
	default y

config ARCV2_TIMER_IRQ_PRIORITY
	default 1

config ARC_CONNECT
	default y

config MP_NUM_CPUS
	default 4

config UART_NS16550
	default y
	depends on SERIAL

config UART_NS16550_ACCESS_WORD_ONLY
	default y
	depends on UART_NS16550

endif # ARC_HSDK
