[U-Boot] [PATCH] arm: dts: am33xx: add u-boot, dm-spl to ocp bus

Tom Rini trini at konsulko.com
Fri Feb 1 13:14:20 UTC 2019


On Fri, Feb 01, 2019 at 01:59:40PM +0100, Hannes Schmelzer wrote:
> 
> 
> On 2/1/19 12:15 PM, Felix Brack wrote:
> >Hi Hannes,
> >
> >On 31.01.2019 21:18, Hannes Schmelzer wrote:
> >>On 1/31/19 4:59 PM, Tom Rini wrote:
> >>>On Thu, Jan 31, 2019 at 04:48:10PM +0100, Hannes Schmelzer wrote:
> >>>
> >>>>On 1/31/19 3:57 PM, Tom Rini wrote:
> >>>>>On Thu, Jan 31, 2019 at 08:03:19AM +0100, Hannes Schmelzer wrote:
> >>>>>
> >>>>>>commit fdce9d35dc36 ("arm: dts: am33xx: Sync dts with Linux 4.20.0")
> >>>>>>did remove the "u-boot,dm-spl" flag from the 'ocp' bus which was
> >>>>>>introduced with
> >>>>>>commit 19aa4ac09db9 ("dts: am33xx: add u-boot, dm-spl to ocp bus")
> >>>>>>
> >>>>>>Due to this the brppt1_spi board is broken because it cannot
> >>>>>>bind/probe the spi-interface during SPL stage.
> >>>>>>
> >>>>>>This commit adds this flag again.
> >>>>>>
> >>>>>>This flag is needed for having access to the devices below this bus,
> >>>>>>most important is uart and boot-device (spi, mmc, ...) in SPL stage.
> >>>>>>
> >>>>>>Signed-off-by: Hannes Schmelzer <hannes.schmelzer at br-automation.com>
> >>>>>>
> >>>>>>---
> >>>>>>
> >>>>>>   arch/arm/dts/am33xx.dtsi | 1 +
> >>>>>>   1 file changed, 1 insertion(+)
> >>>>>>
> >>>>>>diff --git a/arch/arm/dts/am33xx.dtsi b/arch/arm/dts/am33xx.dtsi
> >>>>>>index d3dd6a1..0a6b177 100644
> >>>>>>--- a/arch/arm/dts/am33xx.dtsi
> >>>>>>+++ b/arch/arm/dts/am33xx.dtsi
> >>>>>>@@ -160,6 +160,7 @@
> >>>>>>        * the whole bus hierarchy.
> >>>>>>        */
> >>>>>>       ocp {
> >>>>>>+        u-boot,dm-spl;
> >>>>>>           compatible = "simple-bus";
> >>>>>>           #address-cells = <1>;
> >>>>>>           #size-cells = <1>;
> >>>>>We need to put this into one of the -u-boot.dtsi files and then
> >>>>>#include
> >>>>>it from the others, so that we don't keep dropping this flag.  Thanks!
> >>>>Hi Tom,
> >>>>i'm not sure if we can do that this way because the "ocp" bus has no
> >>>>valid
> >>>>label like other elements.
> >>>>So we have at least to adjust the am33xx.dtsi file like this:
> >>>>
> >>>>          ocp : ocp {
> >>>>                  compatible = "simple-bus";
> >>>>                  .....
> >>>>          }
> >>>>
> >>>>what do you suggest ?
> >>>Er, with the example of arch/arm/dts/am335x-pdu001-u-boot.dtsi should't
> >>>we be able to just do that, globally?  Or is that part _not_ working and
> >>>relied on the now removed hunk?
> >>Hi Tom,
> >>I'll verify this tomorrow. But the pdu001 looks good to me.
> >>This would be a solution for my boards too if it does the job.
> >>Keep you up to date.
> >>
> Hi Tom, Felix,
> 
> my boards are now up/running again.
> In fact the removed hunk really hurts all boards (which using dm in spl)
> with a few exceptions:
> 
> arch/arm/dts/am4372-generic-u-boot.dtsi:        ocp {
> arch/arm/dts/am437x-idk-evm-u-boot.dtsi:        ocp {
> arch/arm/dts/omap5-u-boot.dtsi: ocp {
> arch/arm/dts/am335x-pdu001-u-boot.dtsi: ocp {
> arch/arm/dts/am437x-gp-evm-u-boot.dtsi: ocp {
> arch/arm/dts/am437x-sk-evm-u-boot.dtsi: ocp {
> 
> Those do the trick within their own files, either with "u-boot,dm-spl;" or
> "u-boot,dm-pre-reloc;".
> 
> The ocp is in fact the root of all important peripheral, so they all have
> this within.
> Some files do also add the necessary "u-boot,dm-spl;" flag to some other
> devices which are needed for bring up SPL.
> 
> I would suggest to have a "am33xx-u-boot.dtsi" which provides the
> ""u-boot,dm-spl;" or "u-boot,dm-pre-reloc;" (not sure which one is the
> formal correct one),
> flag at least to the most important "ocp" and also to all devices from where
> the am335x can boot. Does anybody think that we may run into SPL size
> trouble,
> with this little bigger dtb blob in spl ?
> 
> So maybe we can finish the discussion during next week and then i will
> provide a patch adding/using some "am33xx-uboot.dtsi" file.

In this case, we want u-boot,dm-pre-reloc.  To figure out which we would
want in general, drivers/core/ofnode.c and drivers/core/util.c are easy
to search for the few functions that check for "u-boot,dm-pre-reloc" as
well as "u-boot,dm-spl" and "u-boot,dm-tpl".  In all functions dm-pre-reloc
is found in U-Boot, TPL and SPL while dm-spl/dm-tpl are found in their
respective builds and full U-Boot but not their counterpart (ie
u-boot,dm-tpl is true for TPL and U-Boot and false SPL).  Thanks again!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190201/0acce5ca/attachment.sig>


More information about the U-Boot mailing list