Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions boards/arc/nsim/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0

zephyr_sources_ifdef(CONFIG_ARC_MPU_ENABLE arc_mpu_regions.c)
zephyr_sources_ifdef(CONFIG_ISA_ARCV3 haps_arcv3_init.c)
51 changes: 51 additions & 0 deletions boards/arc/nsim/haps_arcv3_init.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* Copyright (c) 2022 Synopsys
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <soc.h>
#include <zephyr/init.h>

#define ARC_CLN_MST_NOC_0_0_ADDR 292
#define ARC_CLN_MST_NOC_0_0_SIZE 293

#define ARC_CLN_MST_NOC_0_1_ADDR 2560
#define ARC_CLN_MST_NOC_0_1_SIZE 2561

#define ARC_CLN_MST_NOC_0_2_ADDR 2562
#define ARC_CLN_MST_NOC_0_2_SIZE 2563

#define ARC_CLN_MST_NOC_0_3_ADDR 2564
#define ARC_CLN_MST_NOC_0_3_SIZE 2565

#define ARC_CLN_MST_NOC_0_4_ADDR 2566
#define ARC_CLN_MST_NOC_0_4_SIZE 2567

#define ARC_CLN_PER0_BASE 2688
#define ARC_CLN_PER0_SIZE 2689

#define AUX_CLN_ADDR 0x640
#define AUX_CLN_DATA 0x641


static int haps_arcv3_init(const struct device *dev)
{
ARG_UNUSED(dev);

z_arc_v2_aux_reg_write(AUX_CLN_ADDR, ARC_CLN_PER0_BASE);
z_arc_v2_aux_reg_write(AUX_CLN_DATA, 0xF00);
z_arc_v2_aux_reg_write(AUX_CLN_ADDR, ARC_CLN_PER0_SIZE);
z_arc_v2_aux_reg_write(AUX_CLN_DATA, 1);

z_arc_v2_aux_reg_write(AUX_CLN_ADDR, ARC_CLN_MST_NOC_0_0_ADDR);
z_arc_v2_aux_reg_write(AUX_CLN_DATA, (DT_REG_ADDR(DT_CHOSEN(zephyr_sram)) / (1024 * 1024)));
z_arc_v2_aux_reg_write(AUX_CLN_ADDR, ARC_CLN_MST_NOC_0_0_SIZE);
z_arc_v2_aux_reg_write(AUX_CLN_DATA, (DT_REG_SIZE(DT_CHOSEN(zephyr_sram)) / (1024 * 1024)));


return 0;
}


SYS_INIT(haps_arcv3_init, PRE_KERNEL_1, 0);