diff options
author | Fugang Duan <B38611@freescale.com> | 2013-11-04 04:37:05 -0500 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 09:06:05 -0400 |
commit | 27acf0fa630ebdbb571b8e5bd46b37df770387b8 (patch) | |
tree | c1dd78db8d4025c40c08a9050621215efd4d1086 | |
parent | 30551f42db511a87dcefd7f366065916b84298eb (diff) |
ENGR00286060 arm: imx6q/dl: fix 1588 clock init fail
Bug log during kernel boot:
...
failed to find fsl,imx6q-iomux-gpr regmap
...
The issue is imx6q_1588_init() is called before of_platform_populate().
of_platform_populate() walks the device tree and creates devices from
nodes. imx6q_1588_init() call syscon_regmap_lookup_by_compatible() to
get the device base on the given device node, since the device cannot
created for the node, so it is failed.
So, move the 1588 init function to behind of of_platform_populate().
Signed-off-by: Fugang Duan <B38611@freescale.com>
-rw-r--r-- | arch/arm/mach-imx/mach-imx6q.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index 74767851e74e..8df7de7cf7ea 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c | |||
@@ -328,10 +328,9 @@ static void __init imx6q_init_machine(void) | |||
328 | if (parent == NULL) | 328 | if (parent == NULL) |
329 | pr_warn("failed to initialize soc device\n"); | 329 | pr_warn("failed to initialize soc device\n"); |
330 | 330 | ||
331 | imx6q_enet_init(); | ||
332 | |||
333 | of_platform_populate(NULL, of_default_bus_match_table, NULL, parent); | 331 | of_platform_populate(NULL, of_default_bus_match_table, NULL, parent); |
334 | 332 | ||
333 | imx6q_enet_init(); | ||
335 | imx_anatop_init(); | 334 | imx_anatop_init(); |
336 | imx6_pm_init(); | 335 | imx6_pm_init(); |
337 | imx6q_csi_mux_init(); | 336 | imx6q_csi_mux_init(); |