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

if SOC_ARC_HSDK

config SOC
	string
	default "snps_arc_hsdk"

config CPU_HS38_LINUX
	def_bool 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

if SERIAL

config UART_NS16550
	default y

endif # SERIAL

if UART_CONSOLE

config UART_NS16550_PORT_0
	default y

config UART_NS16550_ACCESS_WORD_ONLY
	default y

endif # UART_CONSOLE

endif # ARC_HSDK
