[U-Boot] [PATCH v2 11/11] riscv: Add SiFive FU540 board support
Atish Patra
atish.patra at wdc.com
Wed Jan 23 19:01:48 UTC 2019
On 1/22/19 1:30 AM, Andreas Schwab wrote:
> On Jan 21 2019, Anup Patel <anup at brainfault.org> wrote:
>
>> On Mon, Jan 21, 2019 at 10:40 PM Andreas Schwab <schwab at suse.de> wrote:
>>>
>>> On Jan 21 2019, Anup Patel <anup at brainfault.org> wrote:
>>>
>>>> There is a fix required in BBL for real board. We have not send
>>>> this fix to riscv-pk.
>>>
Just to clarify, we hacked U-boot to add the serial driver not BBL.
Later, we modified the DT directly in OpenSBI to add the required node.
>>> Where can I find the patch?
>>
>> The fix is to set following DT prop in /chosen DT node:
>> stdout-path = "/soc/serial at 10010000:115200"
>
> How can I do that?I cannot find any function in fdt.c to add new
> nodes.
>
There are several ways to do the hack.
BBL doesn't have libfdt included by default. Libfdt is included in
u-boot. You can try adding that node in u-boot.
or
Here is another hack in U-boot until the OpenSBI is available (Early
next week).
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index ffcd6d15..aa5ee2cc 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -54,6 +54,16 @@ static int serial_check_stdout(const void *blob,
struct udevice **devp)
}
if (node < 0)
node = fdt_path_offset(blob, "console");
+
+ if (node < 0) {
+ const char *sname;
+ sname = fdt_get_alias(blob, "serial0");
+ printf("sname = [%s]\n", sname);
+ if (sname)
+ node = fdt_path_offset(blob, sname);
+ printf("node = [%d]\n", node);
+ }
+
if (!uclass_get_device_by_of_offset(UCLASS_SERIAL, node, devp))
return 0;
or you can try to edit the DT directly and update the FSBL if you are
comfortable with it.
Apologies, for the inconvenience. Sending these patches to U-boot
doesn't make any sense its very board specific. In an ideal world, DT
should be fixed directly to address these issues.
Regards,
Atish
> Andreas.
>
More information about the U-Boot
mailing list