SAMA5D3 Xplained: SPL broken after panic added to /lib/time.c:94

Sean Anderson seanga2 at gmail.com
Wed Mar 24 01:34:31 CET 2021


On 3/23/21 12:54 PM, Manuel Luís Reis wrote:
> 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

You can also track down the early call to get_ticks. Whatever is doing
it probably doesn't need to, considering that before this patch it was
getting back garbage.

--Sean

> 
> 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.
> 
> 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