SAMA5D3 Xplained: SPL broken after panic added to /lib/time.c:94
Claudiu.Beznea at microchip.com
Claudiu.Beznea at microchip.com
Thu Mar 25 11:25:50 CET 2021
On 23.03.2021 18:54, Manuel Luís Reis wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Hi again,
>
>> There are timers on the board. How come it used to work, before the
>> commit that breaks it ?
>>
>> I understand that nobody registers a driver in the UCLASS_TIMER , but
>> why was this enforced? and if this enforcement breaks our board, we can
>> either:
>> 1/ stop the enforcement
>> 2/ comply
>>
>> Either way, I think we have to see how we can get one timer to register
>> itself as an UCLASS_TIMER
>
> I understand.
>
>> This timer is a new hardware timer which is not present in the sama5d3 SoC.
>>
>> Sama5d3 should have old PIT timers, (programmable interrupt timer)
>> and most likely that code has not been converted to DM (UCLASSes)
>>
>> One possible approach is to convert specific old PIT code to comply with
>> DM requirements (or if that code is already available, we have to
>> use/enable it ).
>>
>> I add Claudiu in the mail thread, as he is more familiar with PIT and
>> timers than I am, and maybe he has some opinion related to this issue.
>
> Thanks for clarifying this for me.
>
> Look forward to hearing from Claudiu.
As it seems from the dump of dm_dump_all() the atmel_pit_timer is not
probed. I did a bit of debug and the dm_timer_init() ->
uclass_first_device() -> uclass_find_first_device() found zero timers
registered for UCLASS_TIMER. The driver is compiled. Also checked that
atmel_pit_timer probe function is not called at all. The question should be
why it is not probed at all?
>
> Cheers,
>
>
>
>
> On Tue, 23 Mar 2021 at 16:26, <Eugen.Hristev at microchip.com> wrote:
>>
>> On 3/23/21 6:08 PM, Manuel Luís Reis wrote:
>>> Hi again,
>>>
>>> FYI: As a small test I commented out the change you mentioned but got
>>> the same mistake. Begs to wonder if it is
>>> related to the issue at hand.
>>>
>>> Going back to
>>> http://u-boot.10912.n7.nabble.com/PATCH-v2-time-Fix-get-ticks-being-non-monotonic-td426172.html
>>>
>>> Sean Anderson asks:
>>>
>>> "So nothing here is probed, but additionally nothing has UCLASS_TIMER.
>>> What do you expect the timer device to be?"
>>
>> There are timers on the board. How come it used to work, before the
>> commit that breaks it ?
>>
>> I understand that nobody registers a driver in the UCLASS_TIMER , but
>> why was this enforced? and if this enforcement breaks our board, we can
>> either:
>> 1/ stop the enforcement
>> 2/ comply
>>
>> Either way, I think we have to see how we can get one timer to register
>> itself as an UCLASS_TIMER
>>
>>
>>>
>>> Is the timer missing for SAMA5D3 board? I cannot find it in
>>> /drivers/timer, other than mchp-pit64b-timer.c, which doesn't
>>> seem to be used ins this particular board as far as I could tell.
>>
>> This timer is a new hardware timer which is not present in the sama5d3 SoC.
>>
>> Sama5d3 should have old PIT timers, (programmable interrupt timer)
>> and most likely that code has not been converted to DM (UCLASSes)
>>
>> One possible approach is to convert specific old PIT code to comply with
>> DM requirements (or if that code is already available, we have to
>> use/enable it ).
>>
>> I add Claudiu in the mail thread, as he is more familiar with PIT and
>> timers than I am, and maybe he has some opinion related to this issue.
>>
>> Eugen
>>
>>>
>>> Any thoughts on how to fix this? Anything I can do to help?
>>>
>>> Cheers
>>>
>>>
>>> On Tue, 23 Mar 2021 at 13:20, Manuel Luís Reis <mluis.reis at gmail.com
>>> <mailto:mluis.reis at gmail.com>> wrote:
>>>
>>>
>>> > The change may be dedicated to sama5d2 devices. Could you have a look
>>> > please if your device (sama5d3) needs this change as well ? I
>>> mean, does
>>> > doing something similar for sama5d3 fixes your problem ?
>>>
>>> I am not quite sure how to check what you suggest to be honest.
>>>
>>> The commit you've sent seems to be board independent ->
>>> mach-at91/spl_atmel.c. Doesn't it apply to all of the at91 boards,
>>> sama5d3 inclusive?
>>> I don't see where else I could make a change like that.
>>>
>>> Thanks for your patience.
>>>
>>>
>>>
>>> On Tue, 23 Mar 2021 at 11:38, <Eugen.Hristev at microchip.com
>>> <mailto:Eugen.Hristev at microchip.com>> wrote:
>>>
>>> On 3/23/21 1:28 PM, Manuel Luís Reis wrote:
>>>
>>> > Hi,
>>> >
>>> > Thanks for your reply.
>>> >
>>> > > Can you please check if this commit is in your tree, or,
>>> if the same has
>>> > > to be applied in your case (sama5d3), to make it work ?
>>> >
>>> > I've got that change in my tree, but I'm still getting the
>>> error message.
>>>
>>> The change may be dedicated to sama5d2 devices. Could you have a
>>> look
>>> please if your device (sama5d3) needs this change as well ? I
>>> mean, does
>>> doing something similar for sama5d3 fixes your problem ?
>>>
>>> Thanks,
>>> Eugen
>>>
>>> >
>>> > I am using up-to-date mainline U-Boot.
>>> >
>>> > Thanks
>>> >
>>> >
>>> >
>>> > On Tue, 23 Mar 2021 at 11:14, <Eugen.Hristev at microchip.com
>>> <mailto:Eugen.Hristev at microchip.com>
>>> > <mailto:Eugen.Hristev at microchip.com
>>> <mailto:Eugen.Hristev at microchip.com>>> wrote:
>>> >
>>> > Hi,
>>> >
>>> > Can you please check if this commit is in your tree, or,
>>> if the same
>>> > has
>>> > to be applied in your case (sama5d3), to make it work ?
>>> >
>>> > Here is the commit :
>>> >
>>> >
>>> >
>>> https://source.denx.de/u-boot/custodians/u-boot-atmel/-/commit/786f35b619ddbfb88e4532d11a56413f5dab473f
>>> >
>>> >
>>> >
>>> > On 3/23/21 1:06 PM, Manuel Luís Reis wrote:
>>> > > Hello,
>>> > >
>>> > > I've been having issues with SPL booting in the
>>> SAMA5D3 Xplained
>>> > board
>>> > > getting the following error, with up-to-date mainline
>>> U-boot and
>>> > > sama5d3_xplained _mmc_defconfig:
>>> > >
>>> > > -----------------------------------------------
>>> > > RomBOOT
>>> > >
>>> > > <debug_uart>
>>> > > Could not initialize timer (err -19)
>>> > > .....
>>> > > -----------------------------------------------
>>> > >
>>> > > I could trace back the error to commit 4b2be78.
>>> > >
>>> > > This topic has been raised before on
>>> > >
>>> >
>>> http://u-boot.10912.n7.nabble.com/PATCH-v2-time-Fix-get-ticks-being-non-monotonic-td426172.html
>>> > > Tried the suggestions there with the same result.
>>> > >
>>> > > I'm am not too knowledgeable with U-Boot nor this
>>> board. Could
>>> > you shed
>>> > > some light on this? Any pointers would be appreciated.
>>> > >
>>> > > Let me know if you require additional information.
>>> > >
>>> > > Cheers,
>>> > > Manuel
>>> > >
>>> > > Output from dm_dump_all():
>>> > >
>>> > > Class Index Probed Driver Name
>>> > >
>>> -----------------------------------------------------------
>>> > > root 0 [ + ] root_driver root_driver
>>> > > simple_bus 0 [ ] simple_bus `-- ahb
>>> > > simple_bus 1 [ ] simple_bus `-- apb
>>> > > mmc 0 [ ] atmel-mci |-- mmc at f0000000
>>> > > blk 0 [ ] mmc_blk | `--
>>> mmc at f0000000.blk
>>> > > mmc 1 [ ] atmel-mci |-- mmc at f8000000
>>> > > blk 1 [ ] mmc_blk | `--
>>> mmc at f8000000.blk
>>> > > serial 0 [ ] serial_atmel |--
>>> serial at ffffee00
>>> > > pinctrl 0 [ ] atmel_sama5d3_pinctrl |--
>>> > pinctrl at fffff200
>>> > > pinconfig 0 [ ] pinconfig | |-- dbgu
>>> > > pinconfig 1 [ ] pinconfig | | `--
>>> dbgu-0
>>> > > pinconfig 2 [ ] pinconfig | |-- mmc0
>>> > > pinconfig 3 [ ] pinconfig | | |--
>>> > mmc0_clk_cmd_dat0
>>> > > pinconfig 4 [ ] pinconfig | | |--
>>> mmc0_dat1_3
>>> > > pinconfig 5 [ ] pinconfig | | `--
>>> mmc0_dat4_7
>>> > > pinconfig 6 [ ] pinconfig | |-- mmc1
>>> > > pinconfig 7 [ ] pinconfig | | |--
>>> > mmc1_clk_cmd_dat0
>>> > > pinconfig 8 [ ] pinconfig | | `--
>>> mmc1_dat1_3
>>> > > pinconfig 9 [ ] pinconfig | |-- spi0
>>> > > pinconfig 10 [ ] pinconfig | |
>>> `-- spi0-0
>>> > > pinconfig 11 [ ] pinconfig | |-- spi1
>>> > > pinconfig 12 [ ] pinconfig | |
>>> `-- spi1-0
>>> > > pinconfig 13 [ ] pinconfig | `-- board
>>> > > pinconfig 14 [ ] pinconfig |
>>> |-- mmc0_cd
>>> > > pinconfig 15 [ ] pinconfig |
>>> `-- mmc1_cd
>>> > > gpio 0 [ ] atmel_at91rm9200_gpio |--
>>> gpio at fffff200
>>> > > gpio 1 [ ] atmel_at91rm9200_gpio |--
>>> gpio at fffff400
>>> > > gpio 2 [ ] atmel_at91rm9200_gpio |--
>>> gpio at fffff600
>>> > > gpio 3 [ ] atmel_at91rm9200_gpio |--
>>> gpio at fffff800
>>> > > gpio 4 [ ] atmel_at91rm9200_gpio |--
>>> gpio at fffffa00
>>> > > simple_bus 2 [ ] at91-pmc `--
>>> pmc at fffffc00
>>> > > clk 0 [ ] at91sam9x5-utmi-clk |--
>>> utmick
>>> > > clk 1 [ ] at91-master-clk |--
>>> masterck
>>> > > misc 0 [ ] sam9x5-periph-clk `--
>>> periphck
>>> > > clk 2 [ ] periph-clk |--
>>> dbgu_clk at 2
>>> > > clk 3 [ ] periph-clk |--
>>> pioA_clk at 6
>>> > > clk 4 [ ] periph-clk |--
>>> pioB_clk at 7
>>> > > clk 5 [ ] periph-clk |--
>>> pioC_clk at 8
>>> > > clk 6 [ ] periph-clk |--
>>> pioD_clk at 9
>>> > > clk 7 [ ] periph-clk |--
>>> pioE_clk at 10
>>> > > clk 8 [ ] periph-clk |--
>>> mci0_clk at 21
>>> > > clk 9 [ ] periph-clk |--
>>> mci1_clk at 22
>>> > > clk 10 [ ] periph-clk |--
>>> spi0_clk at 24
>>> > > clk 11 [ ] periph-clk `--
>>> spi1_clk at 25
>>> > > Could not initialize timer (err -19)
>>> > >
>>> >
>>>
>>
More information about the U-Boot
mailing list