forked from OpenXiangShan/opensbi
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch factor-out SiFive test device related stuff into it's own source file from qemu/virt platform. In future, we can find SiFive test device address from device tree as well. Signed-off-by: Anup Patel <[email protected]> Reviewed-by: Atish Patra <[email protected]>
- Loading branch information
Showing
4 changed files
with
75 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
/* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
* | ||
* Copyright (c) 2020 Western Digital Corporation or its affiliates. | ||
* | ||
* Authors: | ||
* Anup Patel <[email protected]> | ||
*/ | ||
|
||
#ifndef __SYS_SIFIVE_TEST_H__ | ||
#define __SYS_SIFIVE_TEST_H__ | ||
|
||
#include <sbi/sbi_types.h> | ||
|
||
int sifive_test_system_reset(u32 type); | ||
|
||
int sifive_test_init(unsigned long base); | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,3 +9,4 @@ | |
|
||
libsbiutils-objs-y += sys/clint.o | ||
libsbiutils-objs-y += sys/htif.o | ||
libsbiutils-objs-y += sys/sifive_test.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
* | ||
* Copyright (c) 2020 Western Digital Corporation or its affiliates. | ||
* | ||
* Authors: | ||
* Anup Patel <[email protected]> | ||
*/ | ||
|
||
#include <sbi/riscv_io.h> | ||
#include <sbi/sbi_platform.h> | ||
#include <sbi_utils/sys/sifive_test.h> | ||
|
||
#define FINISHER_FAIL 0x3333 | ||
#define FINISHER_PASS 0x5555 | ||
#define FINISHER_RESET 0x7777 | ||
|
||
static void *sifive_test_base; | ||
|
||
int sifive_test_system_reset(u32 type) | ||
{ | ||
/* | ||
* Tell the "finisher" that the simulation | ||
* was successful so that QEMU exits | ||
*/ | ||
switch (type) { | ||
case SBI_PLATFORM_RESET_SHUTDOWN: | ||
writew(FINISHER_PASS, sifive_test_base); | ||
break; | ||
case SBI_PLATFORM_RESET_COLD: | ||
case SBI_PLATFORM_RESET_WARM: | ||
writew(FINISHER_RESET, sifive_test_base); | ||
break; | ||
} | ||
|
||
return 0; | ||
} | ||
|
||
int sifive_test_init(unsigned long base) | ||
{ | ||
sifive_test_base = (void *)base; | ||
|
||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters