forked from zephyrproject-rtos/zephyr
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Minimal HSDK4xD support Signed-off-by: Nikolay Agishev <[email protected]>
- Loading branch information
1 parent
898a59e
commit 0d8292a
Showing
23 changed files
with
599 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# | ||
# Copyright (c) 2023 Synopsys, Inc. All rights reserved. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# DesignWare ARC HSDK4XD Development Kit board configuration | ||
|
||
# Copyright (c) 2023 Synopsys, Inc. All rights reserved. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config BOARD_HSDK4XD | ||
bool "ARC HSDK4XD Development Kit" | ||
depends on SOC_ARC_HSDK4XD | ||
help | ||
The ARC HS4x/4xD Development Kit is a ready-to-use software development | ||
platform for the ARC HS4x/4xD family of processor IP. It includes | ||
a multicore ARC HS4x/HS4xD-based chip and integrates a wide range | ||
of interfaces. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Copyright (c) 2023 Synopsys, Inc. All rights reserved. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
if BOARD_HSDK4XD | ||
|
||
config BOARD | ||
default "hsdk4xd" | ||
|
||
endif #BOARD_HSDK4XD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
board_runner_args(openocd "--use-elf") | ||
|
||
board_runner_args(mdb-hw "--jtag=digilent" "--cores=${CONFIG_MP_MAX_NUM_CPUS}") | ||
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) | ||
include(${ZEPHYR_BASE}/boards/common/mdb-hw.board.cmake) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/* | ||
* Copyright (c) 2023, Synopsys, Inc. All rights reserved. | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include "hsdk4xd.dtsi" | ||
|
||
/ { | ||
model = "hsdk4xd"; | ||
compatible = "snps,hsdk4xd"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
/* | ||
* Copyright (c) 2023, Synopsys, Inc. All rights reserved. | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include <synopsys/arc_hs4xd.dtsi> | ||
|
||
/ { | ||
|
||
aliases { | ||
uart-dbg = &uart_dbg; | ||
}; | ||
|
||
chosen { | ||
zephyr,sram = &ddr0; | ||
zephyr,console = &uart_dbg; | ||
zephyr,shell-uart = &uart_dbg; | ||
}; | ||
|
||
}; | ||
|
||
arduino_spi: &spi2 {}; | ||
|
||
&uart_dbg { | ||
status = "okay"; | ||
current-speed = <115200>; | ||
}; | ||
|
||
&creg_gpio { | ||
status = "okay"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
identifier: hsdk4xd | ||
name: HS4xD Development Kit | ||
type: mcu | ||
arch: arc | ||
toolchain: | ||
- zephyr | ||
- cross-compile | ||
- xtools | ||
- arcmwdt | ||
testing: | ||
ignore_tags: | ||
- net | ||
- bluetooth |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
CONFIG_SOC_ARC_HSDK4XD=y | ||
CONFIG_BOARD_HSDK4XD=y | ||
CONFIG_SYS_CLOCK_TICKS_PER_SEC=100 | ||
CONFIG_BUILD_NO_GAP_FILL=y | ||
CONFIG_BUILD_OUTPUT_BIN=n | ||
CONFIG_ARCV2_INTERRUPT_UNIT=y | ||
CONFIG_ARCV2_TIMER=y | ||
CONFIG_CONSOLE=y | ||
CONFIG_UART_CONSOLE=y | ||
CONFIG_SERIAL=y | ||
CONFIG_GPIO=y | ||
CONFIG_SMP=y | ||
CONFIG_MP_MAX_NUM_CPUS=4 | ||
CONFIG_ARC_DSP_TURNED_OFF=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# Copyright (C) 2019-2023 Synopsys, Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
|
||
# Configure JTAG cable | ||
# SDP has built-in FT2232 chip, which is similar to Digilent HS-1, except that | ||
# it uses channel B for JTAG, instead of channel A. | ||
adapter driver ftdi | ||
|
||
# Only specify FTDI serial number if it is specified via | ||
# "set _ZEPHYR_BOARD_SERIAL 12345" before reading this script | ||
if { [info exists _ZEPHYR_BOARD_SERIAL] } { | ||
adapter serial $_ZEPHYR_BOARD_SERIAL | ||
} | ||
|
||
ftdi vid_pid 0x0403 0x6010 | ||
ftdi layout_init 0x0088 0x008b | ||
ftdi channel 1 | ||
|
||
|
||
adapter speed 10000 | ||
|
||
# ARCs supports only JTAG. | ||
transport select jtag | ||
|
||
|
||
# | ||
# HS Development Kit SoC. | ||
# | ||
# Contains quad-core ARC HS4x. | ||
# | ||
|
||
source [find cpu/arc/hs.tcl] | ||
|
||
set _coreid 0 | ||
set _dbgbase [expr {0x00000000 | ($_coreid << 13)}] | ||
|
||
# CHIPNAME will be used to choose core family (600, 700 or EM). As far as | ||
# OpenOCD is concerned EM and HS are identical. | ||
set _CHIPNAME arc-em | ||
|
||
# OpenOCD discovers JTAG TAPs in reverse order. | ||
|
||
set _TARGETNAME4 $_CHIPNAME.cpu4 | ||
jtag newtap $_CHIPNAME cpu4 -irlen 4 -ircapture 0x1 -expected-id 0x100c54b1 | ||
set _TARGETNAME3 $_CHIPNAME.cpu3 | ||
jtag newtap $_CHIPNAME cpu3 -irlen 4 -ircapture 0x1 -expected-id 0x100854b1 | ||
set _TARGETNAME2 $_CHIPNAME.cpu2 | ||
jtag newtap $_CHIPNAME cpu2 -irlen 4 -ircapture 0x1 -expected-id 0x100454b1 | ||
set _TARGETNAME1 $_CHIPNAME.cpu1 | ||
jtag newtap $_CHIPNAME cpu1 -irlen 4 -ircapture 0x1 -expected-id 0x100054b1 | ||
|
||
################################ | ||
# ARC HS4x core 2 | ||
################################ | ||
|
||
target create $_TARGETNAME2 arcv2 -chain-position $_TARGETNAME2 | ||
$_TARGETNAME2 configure -coreid $_coreid | ||
$_TARGETNAME2 configure -dbgbase $_dbgbase | ||
$_TARGETNAME2 configure -event reset-assert "arc_common_reset $_TARGETNAME2" | ||
set _coreid [expr {$_coreid + 1}] | ||
set _dbgbase [expr {0x00000000 | ($_coreid << 13)}] | ||
arc_hs_init_regs | ||
|
||
# Enable L2 cache support for core 2. | ||
$_TARGETNAME2 arc cache l2 auto 1 | ||
|
||
################################ | ||
# ARC HS4x core 3 | ||
################################ | ||
|
||
target create $_TARGETNAME3 arcv2 -chain-position $_TARGETNAME3 | ||
$_TARGETNAME3 configure -coreid $_coreid | ||
$_TARGETNAME3 configure -dbgbase $_dbgbase | ||
$_TARGETNAME3 configure -event reset-assert "arc_common_reset $_TARGETNAME3" | ||
set _coreid [expr {$_coreid + 1}] | ||
set _dbgbase [expr {0x00000000 | ($_coreid << 13)}] | ||
arc_hs_init_regs | ||
|
||
# Enable L2 cache support for core 3. | ||
$_TARGETNAME3 arc cache l2 auto 1 | ||
|
||
################################ | ||
# ARC HS4x core 4 | ||
################################ | ||
|
||
target create $_TARGETNAME4 arcv2 -chain-position $_TARGETNAME4 | ||
$_TARGETNAME4 configure -coreid $_coreid | ||
$_TARGETNAME4 configure -dbgbase $_dbgbase | ||
# Flush L2$. | ||
$_TARGETNAME4 configure -event reset-assert "arc_hs_reset $_TARGETNAME4" | ||
set _coreid [expr {$_coreid + 1}] | ||
set _dbgbase [expr {0x00000000 | ($_coreid << 13)}] | ||
arc_hs_init_regs | ||
|
||
# Enable L2 cache support for core 4. | ||
$_TARGETNAME4 arc cache l2 auto 1 | ||
|
||
################################ | ||
# ARC HS4x core 1 | ||
################################ | ||
|
||
target create $_TARGETNAME1 arcv2 -chain-position $_TARGETNAME1 | ||
$_TARGETNAME1 configure -coreid $_coreid | ||
$_TARGETNAME1 configure -dbgbase $_dbgbase | ||
$_TARGETNAME1 configure -event reset-assert "arc_common_reset $_TARGETNAME1" | ||
set _coreid [expr {$_coreid + 1}] | ||
set _dbgbase [expr {0x00000000 | ($_coreid << 13)}] | ||
arc_hs_init_regs | ||
|
||
# Enable L2 cache support for core 1. | ||
$_TARGETNAME1 arc cache l2 auto 1 | ||
|
||
target smp $_TARGETNAME1 $_TARGETNAME2 $_TARGETNAME3 $_TARGETNAME4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.