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>