blob: 16b307f0361ab4301fe4602b142d3d46d7ca877c [file] [log] [blame]
Green Wan7f337432021-05-27 06:52:07 -07001// SPDX-License-Identifier: GPL-2.0+
2/*
Zong Lif1ac8fa2021-08-02 15:34:14 +08003 * Copyright (C) 2020-2021 SiFive, Inc
Green Wan7f337432021-05-27 06:52:07 -07004 * Pragnesh Patel <pragnesh.patel@sifive.com>
5 */
6
7#include <dm.h>
8#include <log.h>
Green Wan26190b82021-05-27 06:52:14 -07009#include <asm/csr.h>
10
11#define CSR_U74_FEATURE_DISABLE 0x7c1
Green Wan7f337432021-05-27 06:52:07 -070012
Lukas Funke2e71a9e2024-04-24 09:43:38 +020013int spl_dram_init(void)
Green Wan7f337432021-05-27 06:52:07 -070014{
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 Wan26190b82021-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}