blob: ba80b2e717a56475fc0fdadc76e0fb40ece6832d [file] [log] [blame]
/*
* Copyright (c) 2021 Henrik Brix Andersen <henrik@brixandersen.dk>
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/irq.h>
#include <soc.h>
#ifdef CONFIG_SOC_NEORV32_READ_FREQUENCY_AT_RUNTIME
extern unsigned int z_clock_hw_cycles_per_sec;
void soc_early_init_hook(void)
{
uint32_t base = DT_REG_ADDR(DT_NODELABEL(sysinfo));
z_clock_hw_cycles_per_sec = sys_read32(base + NEORV32_SYSINFO_CLK);
}
#endif /* CONFIG_SOC_NEORV32_READ_FREQUENCY_AT_RUNTIME */
#ifdef CONFIG_RISCV_SOC_INTERRUPT_INIT
void soc_interrupt_init(void)
{
(void)arch_irq_lock();
csr_write(mie, 0);
}
#endif /* CONFIG_RISCV_SOC_INTERRUPT_INIT */