Files
Linux_Drivers/opensbi/platform/kendryte/k210/platform.h
sam.xiang 93f81bd490 [opensbi] create opensbi from T-Head official:
repo: https://github.com/T-head-Semi/opensbi
	commit: 89182b257c8798e15e4c685c1af0c2862d528d2a

Change-Id: I7b39d66729e0108661a6f4c9e28acbdb303684ea
2023-03-10 20:30:16 +08:00

46 lines
1006 B
C

/*
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (c) 2019 Western Digital Corporation or its affiliates.
*
* Authors:
* Damien Le Moal <damien.lemoal@wdc.com>
*/
#ifndef _K210_PLATFORM_H_
#define _K210_PLATFORM_H_
#include <sbi/riscv_io.h>
#define K210_HART_COUNT 2
#define K210_UART_BAUDRATE 115200
#define K210_CLK0_FREQ 26000000UL
#define K210_PLIC_NUM_SOURCES 65
/* Registers base address */
#define K210_SYSCTL_BASE_ADDR 0x50440000ULL
#define K210_UART_BASE_ADDR 0x38000000ULL
#define K210_CLINT_BASE_ADDR 0x02000000ULL
#define K210_PLIC_BASE_ADDR 0x0C000000ULL
/* Registers */
#define K210_PLL0 0x08
#define K210_CLKSEL0 0x20
#define K210_RESET 0x30
/* Register bit masks */
#define K210_RESET_MASK 0x01
static inline u32 k210_read_sysreg(u32 reg)
{
return readl((volatile void *)(K210_SYSCTL_BASE_ADDR + reg));
}
static inline void k210_write_sysreg(u32 val, u32 reg)
{
writel(val, (volatile void *)(K210_SYSCTL_BASE_ADDR + reg));
}
#endif /* _K210_PLATFORM_H_ */