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

Manuel Luís Reis mluis.reis at gmail.com
Tue Mar 23 17:54:43 CET 2021


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.

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