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.hris...@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.r...@gmail.com >>> <mailto:mluis.r...@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.hris...@microchip.com >>> <mailto:eugen.hris...@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.hris...@microchip.com >>> <mailto:eugen.hris...@microchip.com> >>> > <mailto:eugen.hris...@microchip.com >>> <mailto:eugen.hris...@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@f0000000 >>> > > blk 0 [ ] mmc_blk | `-- >>> m...@f0000000.blk >>> > > mmc 1 [ ] atmel-mci |-- mmc@f8000000 >>> > > blk 1 [ ] mmc_blk | `-- >>> m...@f8000000.blk >>> > > serial 0 [ ] serial_atmel |-- >>> serial@ffffee00 >>> > > pinctrl 0 [ ] atmel_sama5d3_pinctrl |-- >>> > pinctrl@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@fffff200 >>> > > gpio 1 [ ] atmel_at91rm9200_gpio |-- >>> gpio@fffff400 >>> > > gpio 2 [ ] atmel_at91rm9200_gpio |-- >>> gpio@fffff600 >>> > > gpio 3 [ ] atmel_at91rm9200_gpio |-- >>> gpio@fffff800 >>> > > gpio 4 [ ] atmel_at91rm9200_gpio |-- >>> gpio@fffffa00 >>> > > simple_bus 2 [ ] at91-pmc `-- >>> pmc@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@2 >>> > > clk 3 [ ] periph-clk |-- >>> pioA_clk@6 >>> > > clk 4 [ ] periph-clk |-- >>> pioB_clk@7 >>> > > clk 5 [ ] periph-clk |-- >>> pioC_clk@8 >>> > > clk 6 [ ] periph-clk |-- >>> pioD_clk@9 >>> > > clk 7 [ ] periph-clk |-- >>> pioE_clk@10 >>> > > clk 8 [ ] periph-clk |-- >>> mci0_clk@21 >>> > > clk 9 [ ] periph-clk |-- >>> mci1_clk@22 >>> > > clk 10 [ ] periph-clk |-- >>> spi0_clk@24 >>> > > clk 11 [ ] periph-clk `-- >>> spi1_clk@25 >>> > > Could not initialize timer (err -19) >>> > > >>> > >>> >>