diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-09-19 00:21:33 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-09-19 13:58:44 +0300 |
| commit | 92e36b3995ce4a7e5ed6676373106d9aaad56816 (patch) | |
| tree | 8f63b05f49d9e29cbf7eb619bd29e6357787a77e /arch/riscv/init/init.c | |
| parent | 605c7d9258c129b66b76f1b55a8a6f3cea68c13e (diff) | |
| download | kmi-92e36b3995ce4a7e5ed6676373106d9aaad56816.tar.gz kmi-92e36b3995ce4a7e5ed6676373106d9aaad56816.zip | |
dbg initialized with path in /chosen/stdout-path
Diffstat (limited to 'arch/riscv/init/init.c')
| -rw-r--r-- | arch/riscv/init/init.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/riscv/init/init.c b/arch/riscv/init/init.c index 105a23d..73727a7 100644 --- a/arch/riscv/init/init.c +++ b/arch/riscv/init/init.c @@ -73,17 +73,20 @@ static enum serial_dev_t serial_dev_enum(const char *dev_name) static void init_debug(void *fdt) { - int offset = fdt_path_offset(fdt, "/soc/uart"); + int chosen_offset = fdt_path_offset(fdt, "/chosen"); + const char *stdout = fdt_getprop(fdt, chosen_offset, "stdout-path", 0); + + int stdout_offset = fdt_path_offset(fdt, stdout); /* get serial device type */ - const char *dev_name = (const char *)fdt_getprop(fdt, offset, + const char *dev_name = (const char *)fdt_getprop(fdt, stdout_offset, "compatible", NULL); enum serial_dev_t dev = serial_dev_enum(dev_name); /* get serial device address */ - struct cell_info ci = get_cellinfo(fdt, offset); - void *reg_ptr = (void *)fdt_getprop(fdt, offset, "reg", NULL); + struct cell_info ci = get_cellinfo(fdt, stdout_offset); + void *reg_ptr = (void *)fdt_getprop(fdt, stdout_offset, "reg", NULL); void *uart_ptr = 0; if (ci.addr_cells == 2) |
