[U-Boot] microblaze: Do not call timer init that early

Message ID 6fae244def93e5d473f876478c1287a5441c9d97.1531319526.git.michal.simek@xilinx.com
State Superseded
Delegated to: Michal Simek
Headers show
Series
  • [U-Boot] microblaze: Do not call timer init that early
Related show

Commit Message

Michal Simek July 11, 2018, 2:32 p.m.
Timer needs to be converted to DM but as of now it can't be called so
early because intc controller is not ready. Call it later in board_r.c.
Before this patch timer_init is called twice which is wrong.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 common/board_f.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Simon Glass July 11, 2018, 8:13 p.m. | #1
Hi Michal,

On 11 July 2018 at 08:32, Michal Simek <michal.simek@xilinx.com> wrote:
> Timer needs to be converted to DM but as of now it can't be called so
> early because intc controller is not ready. Call it later in board_r.c.
> Before this patch timer_init is called twice which is wrong.
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
>
>  common/board_f.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Instead of this, can you change your timer_init() function to check
GD_FLG_RELOC in gd->flags and decide whether to init now or later?

We want to get rid of all arch-specific #ifdefs in board_f/r.c

Regards,
Simon
Michal Simek July 12, 2018, 6:44 a.m. | #2
Hi Simon,

On 11.7.2018 22:13, Simon Glass wrote:
> Hi Michal,
> 
> On 11 July 2018 at 08:32, Michal Simek <michal.simek@xilinx.com> wrote:
>> Timer needs to be converted to DM but as of now it can't be called so
>> early because intc controller is not ready. Call it later in board_r.c.
>> Before this patch timer_init is called twice which is wrong.
>>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>> ---
>>
>>  common/board_f.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Instead of this, can you change your timer_init() function to check
> GD_FLG_RELOC in gd->flags and decide whether to init now or later?
> 
> We want to get rid of all arch-specific #ifdefs in board_f/r.c

Sure not a problem. v2 sent.

Thanks,
Michal

Patch

diff --git a/common/board_f.c b/common/board_f.c
index e943347ce3df..ccca794fc82b 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -775,7 +775,7 @@  static const init_fnc_t init_sequence_f[] = {
 	/* get CPU and bus clocks according to the environment variable */
 	get_clocks,		/* get CPU and bus clocks (etc.) */
 #endif
-#if !defined(CONFIG_M68K)
+#if !defined(CONFIG_MICROBLAZE) && !defined(CONFIG_M68K)
 	timer_init,		/* initialize timer */
 #endif
 #if defined(CONFIG_BOARD_POSTCLK_INIT)