Hi again,

I guess I misunderstood things a bit. Apologies for that.
Nevertheless, timer_init in board_init_f is pointing to the weak timer_init in /lib/time.c, which is empty.

Is there a way we can force start the pit timer?
Any pointer would be very helpful. Let me know if you'd like me to do something in particular.

Thanks



On sex, 2 abr, 2021 at 18:15, Manuel Luís Reis <mluis.r...@gmail.com> wrote:
FYI:

the output from serial port:
<debug_uart>
board_init_f spl_atmel.c 130 mem_init 182 ddr2_init mpddr.c 66udelay
lib time.c 196__udelay lib time.c 177Could not initialize timer (err
-11)

udelay lib time.c 196__udelay lib time.c 177Could not initialize timer (err -11)

udelay lib time.c 196__udelay lib time.c 177Could not initialize timer (err -11)
...




On Fri, 2 Apr 2021 at 18:12, Manuel Luís Reis <mluis.r...@gmail.com> wrote:

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

 Hi,

 So, I put objdump and puts to some good use and could backtrace the
initial error to a udelay call in ddr2_init function on mpddr.c file.
 This function is called from mem_init on
 sama5d3_xplained/sama5d3_xplained.c, which in turn is called from
 board_init_f on spl_atmel.c.
 I couldn't, however, find which timer_init function is being called
 here. I still have a few to try, but disassembly gives me a pretty
 empty function:

 00303690 <timer_init>:
   303690:       e3a00000        mov     r0, #0
   303694:       e12fff1e        bx      lr

This work didn't give me many answers, but I got a couple of newbie questions:

 Why is it calling board_init_f from spl_atmel.c and not spl_at91.c?
 Isn't the latter the appropriate architecture for this board?
Do you know which timer_init function it is getting here? Could this
 be the reason timer isn't getting probed?

 Cheers,


Reply via email to