All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Six <mario.six@gdsys.cc>
To: u-boot@lists.denx.de
Subject: dm, serial: problem with using ns16550 driver before relocation on mpc83xx
Date: Mon, 10 Feb 2020 07:16:34 +0100	[thread overview]
Message-ID: <CAN1kZortc-_Y=P0YvQPNpRPLJRzZwJC8MQUetPQwrxvEwZ9_4g@mail.gmail.com> (raw)
In-Reply-To: <1b1905b5-b696-dbe9-2708-5ed9ea6bf1ac@denx.de>

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/MAINTAINERS#L2
>
> 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 at 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 at denx.de

  parent reply	other threads:[~2020-02-10  6:16 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-05  9:04 dm, serial: problem with using ns16550 driver before relocation on mpc83xx Heiko Schocher
2020-02-05 17:59 ` Simon Glass
2020-02-06  5:19   ` Heiko Schocher
2020-02-06 17:46     ` Simon Glass
2020-02-07  5:53       ` Heiko Schocher
2020-02-07 17:37         ` Simon Glass
2020-02-10  6:16         ` Mario Six [this message]
2020-02-10  7:24           ` Heiko Schocher
2020-02-12  6:36           ` Heiko Schocher
2020-02-12 17:14             ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN1kZortc-_Y=P0YvQPNpRPLJRzZwJC8MQUetPQwrxvEwZ9_4g@mail.gmail.com' \
    --to=mario.six@gdsys.cc \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.