diff options
author | Green Wan <green.wan@sifive.com> | 2021-05-02 23:23:05 -0700 |
---|---|---|
committer | Leo Yu-Chi Liang <ycliang@andestech.com> | 2021-05-05 16:11:27 +0800 |
commit | bc8bbb77f74f21582b3bfd790334397757f88575 (patch) | |
tree | 4447ce691bef6dd9d3bb165a031d42dfe5e50442 | |
parent | edd9ad81947d2136c71657be88d6cc35a56bd22f (diff) | |
download | u-boot-bc8bbb77f74f21582b3bfd790334397757f88575.zip u-boot-bc8bbb77f74f21582b3bfd790334397757f88575.tar.gz u-boot-bc8bbb77f74f21582b3bfd790334397757f88575.tar.bz2 |
riscv: cpu: fu740: clear feature disable CSR
Clear feature disable CSR to turn on all features of hart. The detail
is specified at section, 'SiFive Feature Disable CSR', in user manual
https://sifive.cdn.prismic.io/sifive/aee0dd4c-d156-496e-a6c4-db0cf54bbe68_sifive_U74MC_rtl_full_20G1.03.00_manual.pdf
Signed-off-by: Green Wan <green.wan@sifive.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
-rw-r--r-- | arch/riscv/cpu/fu540/spl.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/riscv/cpu/fu540/spl.c b/arch/riscv/cpu/fu540/spl.c index 45657b7..1740ef9 100644 --- a/arch/riscv/cpu/fu540/spl.c +++ b/arch/riscv/cpu/fu540/spl.c @@ -6,6 +6,9 @@ #include <dm.h> #include <log.h> +#include <asm/csr.h> + +#define CSR_U74_FEATURE_DISABLE 0x7c1 int spl_soc_init(void) { @@ -21,3 +24,15 @@ int spl_soc_init(void) return 0; } + +void harts_early_init(void) +{ + /* + * Feature Disable CSR + * + * Clear feature disable CSR to '0' to turn on all features for + * each core. This operation must be in M-mode. + */ + if (CONFIG_IS_ENABLED(RISCV_MMODE)) + csr_write(CSR_U74_FEATURE_DISABLE, 0); +} |