# 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 CPU_HS3X
	default y

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_ACCESS_WORD_ONLY
	default y
	depends on UART_NS16550

config ARC_HAS_ACCL_REGS
	default y

endif # ARC_HSDK
