microblaze: Do not call timer init that early
authorMichal Simek <michal.simek@xilinx.com>
Wed, 11 Jul 2018 12:08:26 +0000 (14:08 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 19 Jul 2018 08:49:54 +0000 (10:49 +0200)
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.
The patch is blocking initialization before relocation.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/microblaze/cpu/timer.c

index ef229023bf08958647570f350312dc6eb9ae4965..58e5c307508528b81f9ba42419f361ffc0406f19 100644 (file)
@@ -51,6 +51,10 @@ int timer_init (void)
 
        debug("TIMER: Initialization\n");
 
+       /* Do not init before relocation */
+       if (!(gd->flags & GD_FLG_RELOC))
+               return 0;
+
        node = fdt_node_offset_by_compatible(blob, node,
                                "xlnx,xps-timer-1.00.a");
        if (node != -1) {