forked from Mirrors/opensbi

Directly implement frequency discovery, making the sysctl code unnecessary. While at it, Move all macro definitions from platform.c into platform.h and cleanup that file, removing the need for the Apache 2.0 license and Canaan Inc copyright. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anup Patel <anup.patel@wdc.com>
38 lines
837 B
C
38 lines
837 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_HART_STACK_SIZE 4096
|
|
|
|
#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
|
|
|
|
static inline u32 k210_read_sysreg(u32 reg)
|
|
{
|
|
return readl((volatile void *)(K210_SYSCTL_BASE_ADDR + reg));
|
|
}
|
|
|
|
#endif /* _K210_PLATFORM_H_ */
|