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

Hannes Schmelzer hannes at schmelzer.or.at
Fri Feb 1 12:59:40 UTC 2019



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.


> Please CC me if you fix this by a patch adding a am33xx-u-boot.dtsi file.
>
> regards Felix
>
>



More information about the U-Boot mailing list