blob: c6816e9ed4c358ca3aa0ec0e2dafa44469ff674b [file] [log] [blame]
Green Wana74e9d82021-05-27 06:52:07 -07001// SPDX-License-Identifier: GPL-2.0+
2/*
Zong Li662e3002021-08-02 15:34:14 +08003 * Copyright (C) 2020-2021 SiFive, Inc
Green Wana74e9d82021-05-27 06:52:07 -07004 * Pragnesh Patel <pragnesh.patel@sifive.com>
5 */
6
7#include <dm.h>
8#include <log.h>
Green Wanc552deb2021-05-27 06:52:14 -07009#include <asm/csr.h>
10
11#define CSR_U74_FEATURE_DISABLE 0x7c1
Green Wana74e9d82021-05-27 06:52:07 -070012
13int spl_soc_init(void)
14{
15 int ret;
16 struct udevice *dev;
17
18 /* DDR init */
19 ret = uclass_get_device(UCLASS_RAM, 0, &dev);
20 if (ret) {
21 debug("DRAM init failed: %d\n", ret);
22 return ret;
23 }
24
25 return 0;
26}
Green Wanc552deb2021-05-27 06:52:14 -070027
28void harts_early_init(void)
29{
30 /*
31 * Feature Disable CSR
32 *
33 * Clear feature disable CSR to '0' to turn on all features for
34 * each core. This operation must be in M-mode.
35 */
36 if (CONFIG_IS_ENABLED(RISCV_MMODE))
37 csr_write(CSR_U74_FEATURE_DISABLE, 0);
38}