clk: imx51-imx53: Fix UART4/5 registration on i.MX50 and i.MX53
Since commit 59dc3d8c8673 ("clk: imx51: uart4, uart5 gates only exist on
imx50, imx53") the following warnings are seen on i.MX53:
[ 2.776190] ------------[ cut here ]------------
[ 2.780948] WARNING: CPU: 0 PID: 1 at ../drivers/clk/clk.c:811 clk_core_disable+0xc4/0xe0
[ 2.789145] Modules linked in:
[ 2.792236] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180115 #1
[ 2.799735] Hardware name: Freescale i.MX53 (Device Tree Support)
[ 2.805845] Backtrace:
[ 2.808329] [<c010d1a0>] (dump_backtrace) from [<c010d460>] (show_stack+0x18/0x1c)
[ 2.815919] r7:00000000 r6:60000093 r5:00000000 r4:c10798d4
[ 2.821607] [<c010d448>] (show_stack) from [<c0a353ec>] (dump_stack+0xb4/0xe8)
[ 2.828854] [<c0a35338>] (dump_stack) from [<c0126144>] (__warn+0xf0/0x11c)
[ 2.835837] r9:00000000 r8:0000032b r7:00000009 r6:c0d429f8 r5:00000000 r4:00000000
[ 2.843601] [<c0126054>] (__warn) from [<c0126288>] (warn_slowpath_null+0x44/0x50)
[ 2.851191] r8:c1008908 r7:c0e08874 r6:c04bfac8 r5:0000032b r4:c0d429f8
[ 2.857913] [<c0126244>] (warn_slowpath_null) from [<c04bfac8>] (clk_core_disable+0xc4/0xe0)
[ 2.866369] r6:dc02bb00 r5:dc02a980 r4:dc02a980
[ 2.871011] [<c04bfa04>] (clk_core_disable) from [<c04c0e54>] (clk_core_disable_lock+0x20/0x2c)
[ 2.879726] r5:dc02a980 r4:80000013
[ 2.883323] [<c04c0e34>] (clk_core_disable_lock) from [<c04c0e84>] (clk_disable+0x24/0x28)
[ 2.891604] r5:c0f6b3e4 r4:0000001c
[ 2.895209] [<c04c0e60>] (clk_disable) from [<c0f2340c>] (imx_clk_disable_uart+0x50/0x68)
[ 2.903412] [<c0f233bc>] (imx_clk_disable_uart) from [<c010277c>] (do_one_initcall+0x50/0x19c)
[ 2.912043] r7:c0e08874 r6:c0f63854 r5:c0f233bc r4:ffffe000
[ 2.917726] [<c010272c>] (do_one_initcall) from [<c0f00f00>] (kernel_init_freeable+0x118/0x1d0)
[ 2.926447] r9:c0f63858 r8:000000f0 r7:c0e08874 r6:c0f63854 r5:c107b500 r4:c0f75260
[ 2.934220] [<c0f00de8>] (kernel_init_freeable) from [<c0a4a5f0>] (kernel_init+0x10/0x118)
[ 2.942506] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0a4a5e0
[ 2.950351] r4:00000000
[ 2.952908] [<c0a4a5e0>] (kernel_init) from [<c01010b4>] (ret_from_fork+0x14/0x20)
[ 2.960496] Exception stack(0xdc05dfb0 to 0xdc05dff8)
[ 2.965569] dfa0: 00000000 00000000 00000000 00000000
[ 2.973768] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2.981965] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 2.988596] r5:c0a4a5e0 r4:00000000
[ 2.992188] ---[ end trace 346e26f708876edd ]---
[ 2.997420] ------------[ cut here ]------------
In order to fix the problem UART4/5 registration needs to happen only on
i.MX50 and i.MX53.
So let mx51_clocks_init() register only UART1-3 and
mx50_clocks_init()/mx53_clocks_init register all the UART1-5 ports.
Fixes: 59dc3d8c8673 ("clk: imx51: uart4, uart5 gates only exist on imx50, imx53")
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
1 file changed