summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2023-03-20 17:51:10 -0400
committerTom Rini <[email protected]>2023-03-20 17:51:10 -0400
commit1a4f2cc55a2e8d12f7b5fe13a5ba167e48ef7a85 (patch)
treecc2c42f4ecece074870c2b5821c4041c7e24d7ce /board
parent95e0f9ac095bb250024c7648c3b0733d0a61a189 (diff)
parent6254c5f7e176311eb8bd57817f85d1eed1c362cb (diff)
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sh into next
Diffstat (limited to 'board')
-rw-r--r--board/renesas/falcon/falcon.c21
-rw-r--r--board/renesas/rcar-common/common.c6
2 files changed, 18 insertions, 9 deletions
diff --git a/board/renesas/falcon/falcon.c b/board/renesas/falcon/falcon.c
index b0cb4e747b6..ab7464d0ee3 100644
--- a/board/renesas/falcon/falcon.c
+++ b/board/renesas/falcon/falcon.c
@@ -14,6 +14,7 @@
#include <asm/mach-types.h>
#include <asm/processor.h>
#include <linux/errno.h>
+#include <asm/system.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -69,7 +70,8 @@ static void init_gic_v3(void)
void s_init(void)
{
- init_generic_timer();
+ if (current_el() == 3)
+ init_generic_timer();
}
int board_early_init_f(void)
@@ -81,20 +83,27 @@ int board_early_init_f(void)
return 0;
}
+#define RST_BASE 0xE6160000 /* Domain0 */
+#define RST_SRESCR0 (RST_BASE + 0x18)
+#define RST_SPRES 0x5AA58000
+#define RST_WDTRSTCR (RST_BASE + 0x10)
+#define RST_RWDT 0xA55A8002
+
int board_init(void)
{
/* address of boot parameters */
gd->bd->bi_boot_params = CONFIG_TEXT_BASE + 0x50000;
- init_gic_v3();
+ if (current_el() == 3) {
+ init_gic_v3();
+
+ /* Enable RWDT reset */
+ writel(RST_RWDT, RST_WDTRSTCR);
+ }
return 0;
}
-#define RST_BASE 0xE6160000 /* Domain0 */
-#define RST_SRESCR0 (RST_BASE + 0x18)
-#define RST_SPRES 0x5AA58000
-
void reset_cpu(void)
{
writel(RST_SPRES, RST_SRESCR0);
diff --git a/board/renesas/rcar-common/common.c b/board/renesas/rcar-common/common.c
index daa1beb14f8..0ddae95e230 100644
--- a/board/renesas/rcar-common/common.c
+++ b/board/renesas/rcar-common/common.c
@@ -73,9 +73,9 @@ static int is_mem_overlap(void *blob, int first_mem_node, int curr_mem_node)
if (curr_mem_res.start >= first_mem_res.end)
continue;
- printf("Overlap found: 0x%llx..0x%llx / 0x%llx..0x%llx\n",
- first_mem_res.start, first_mem_res.end,
- curr_mem_res.start, curr_mem_res.end);
+ log_debug("Overlap found: 0x%llx..0x%llx / 0x%llx..0x%llx\n",
+ first_mem_res.start, first_mem_res.end,
+ curr_mem_res.start, curr_mem_res.end);
return 1;
}