
Hi Heiko,
On Fri, Feb 7, 2020 at 6:53 AM Heiko Schocher hs@denx.de wrote:
Hi Simon,
removed Dirk from cc and added Mario Six
@Mario: Dirk is maintainer of the gazerbeam board:
https://gitlab.denx.de/u-boot/u-boot/blob/master/board/gdsys/mpc8308/MAINTAI...
but EMail get not delivered to his EMail address ... so I added you to cc ... may you have a gazerbeam board? May you can try, if current U-Boot mainline works (in special serial console) on it?
Dirk no longer works as gdsys (which is also the reason why I'm much less active on the mailing list than I used to be).
I have a gazerbeam board. I'll try to get some time to test mainline on it some time this week.
thanks!
Regards, Mario
Am 06.02.2020 um 18:46 schrieb Simon Glass:
Hi Heiko,
On Wed, 5 Feb 2020 at 22:19, Heiko Schocher hs@denx.de wrote:
Hello Simon,
Am 05.02.2020 um 18:59 schrieb Simon Glass:
Hi Heiko,
On Wed, 5 Feb 2020 at 02:04, Heiko Schocher hs@denx.de wrote:
Hello Bin, Simon,
I just porting the mpc83xx based kmcoge5ne board support DTS and got problems using the serial ns16550 driver.
I need the serial driver before rolcation, so I enabled "u-boot,dm-pre-reloc;" as usual in the device tree, but board does not boot ...
I found the commit:
commit 4687919684e0e4390b9fc20d1809ecaa9dc3cb81 Author: Bin Meng bmeng.cn@gmail.com Date: Wed Oct 24 06:36:36 2018 -0700
serial: Remove DM_FLAG_PRE_RELOC flag in various drivers
which added to the ns16550 serial driver:
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 04b604fa2c..1e6fc6c668 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -487,7 +487,9 @@ U_BOOT_DRIVER(ns16550_serial) = { .priv_auto_alloc_size = sizeof(struct NS16550), .probe = ns16550_serial_probe, .ops = &ns16550_serial_ops, +#if !CONFIG_IS_ENABLED(OF_CONTROL) .flags = DM_FLAG_PRE_RELOC, +#endif }; #endif #endif /* SERIAL_PRESENT */
So, as OF_CONTROL is defined for me, the flag "u-boot,dm-pre-reloc" seems not working anymore ...
Adding this back:
hs@xmglap:u-boot-secu [20200205-temp] $ git diff diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 9851663dc5..386ca9cffa 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -528,7 +528,7 @@ U_BOOT_DRIVER(ns16550_serial) = { .priv_auto_alloc_size = sizeof(struct NS16550), .probe = ns16550_serial_probe, .ops = &ns16550_serial_ops, -#if !CONFIG_IS_ENABLED(OF_CONTROL) +#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA) .flags = DM_FLAG_PRE_RELOC, #endif };
and board boots fine with the flag "u-boot,dm-pre-reloc" in DTS ...
May I do something wrong here? I found in mainline for example the "arch/powerpc/dts/gdsys/gazerbeam-uboot.dtsi" board, which has the exactly same dts settings than I have now.
@Dirk: Can you check, if this board boots with current mainline?
Shouldn;t be the logic, that in case OF_CONTROL is enabled and if flag "u-boot,dm-pre-reloc" is set in DTS for the device, the device should be bound before relocation, and we do not need to check, if the driver sets DM_FLAG_PRE_RELOC ?
But may I miss here something ...
Any hints?
+Tom Rini
I found I needed this for rpi.
http://patchwork.ozlabs.org/patch/1202913/
But I still haven't gone back to figure out why Tom doesn't.
Hmm... I have added the "u-boot,dm-pre-reloc;" to the uart node.
Like it is for the gazerbeam board, see [1]
It works if "DM_FLAG_PRE_RELOC" is set the driver in flags... no need for a gpio node before relocation like it is inabove patch.
I wonder if we need DM_FLAG_PRE_RELOC at all in a driver and OF_CONTROL case. Shouldn't it be enough if the DTB node for the driver contains the "u-boot,dm-pre-reloc;" property?
Well in the rpi case it is the pinctrl that needs that property. I think you should dig into exactly what is going wrong on the board you have. Then it should be possible to see what is missing and add it.
Ok, I try to find out more, thanks!
bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs@denx.de