MLK-18208-2 clk: imx: imx8qxp: remove unused clocks

Latest SCFW has requirement that whenever trying
access a resource, its power MUST be turned ON,
otherwise, XRDC will block such access and cause
kernel dump like below, this patch removes those
unused clocks to avoid such dump during kernel clock
framework trying to disable unused clocks, as these
clocks' power domains are NOT enabled because no device
use them now.

[    7.236611] Unhandled fault: synchronous external abort (0x96000210) at 0xffff000009fb0000
[    7.244875] Internal error: : 96000210 [#1] PREEMPT SMP
[    7.250102] Modules linked in:
[    7.253165] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.9.88-04869-ga28143b-dirty #129
[    7.261082] Hardware name: Freescale i.MX8QXP MEK (DT)
[    7.266218] task: ffff80083a088000 task.stack: ffff80083a034000
[    7.272144] PC is at clk_gate2_scu_is_enabled+0x30/0x74
[    7.277365] LR is at clk_gate2_scu_is_enabled+0x5c/0x74
[    7.282585] pc : [<ffff0000084f462c>] lr : [<ffff0000084f4658>] pstate: 800000c5
[    7.289977] sp : ffff80083a037d40
[    7.293287] x29: ffff80083a037d40 x28: ffff0000091e3508
[    7.298612] x27: ffff0000093ea000 x26: ffff00000918045c
[    7.303937] x25: ffff0000091e3560 x24: ffff0000093ea000
[    7.309263] x23: ffff0000091743d0 x22: ffff0000094152f8
[    7.314588] x21: ffff000009415000 x20: ffff80083a48c500
[    7.319914] x19: ffff80083a48d800 x18: ffff000008e102f8
[    7.325239] x17: 0000000000000000 x16: 0000000000000000
[    7.330564] x15: 0000000000000000 x14: 0000000000000000
[    7.335890] x13: 0000000000000007 x12: 00000000000001ee
[    7.341215] x11: 0000000000000006 x10: 00000000000001ef
[    7.346541] x9 : 0000000000000006 x8 : 2c6e69616d6f645f
[    7.351866] x7 : 0000000000000020 x6 : ffff000008cb1400
[    7.357192] x5 : 0000000000000008 x4 : 0000000000000000
[    7.362517] x3 : 0000000000000000 x2 : 0000000000000001
[    7.367843] x1 : ffff000009fb0000 x0 : 0000000000000000
[    7.373167]
[    7.374655] Process swapper/0 (pid: 1, stack limit = 0xffff80083a034020)
[    7.381354] Stack: (0xffff80083a037d40 to 0xffff80083a038000)
[    7.387099] 7d40: ffff80083a037d60 ffff0000084e1994 0000000000000040 ffff80083a45c300
[    7.394934] 7d60: ffff80083a037d80 ffff0000084e1930 ffff80083a48c500 ffff80083a45c200
[    7.402770] 7d80: ffff80083a037da0 ffff0000084e1a0c ffff80083a4003a8 ffff80083a45c200
[    7.410606] 7da0: ffff80083a037dd0 ffff000008084144 ffff80083a034000 ffff0000084e19c8
[    7.418442] 7dc0: 0000000000000000 ffff0000091e34d0 ffff80083a037e40 ffff000009180d00
[    7.426278] 7de0: ffff000009251028 0000000000000007 0000000000000198 ffff0000091e34d0
[    7.434115] 7e00: ffff80083a037e00 ffff000008fd0198 ffff80083a037e20 ffff000008fcf9e8
[    7.441950] 7e20: 0000000700000007 0000000000000000 0000000000000000 ffff0000091743d0
[    7.449787] 7e40: ffff80083a037ea0 ffff000008c4b554 ffff000008c4b544 0000000000000000
[    7.457622] 7e60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.465459] 7e80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.473295] 7ea0: 0000000000000000 ffff000008083820 ffff000008c4b544 0000000000000000
[    7.481131] 7ec0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.488967] 7ee0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.496803] 7f00: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.504639] 7f20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.512475] 7f40: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.520311] 7f60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.528148] 7f80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.535984] 7fa0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.543820] 7fc0: 0000000000000000 0000000000000005 0000000000000000 0000000000000000
[    7.551656] 7fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.559489] Call trace:
[    7.561933] Exception stack(0xffff80083a037b70 to 0xffff80083a037ca0)
[    7.568370] 7b60:                                   ffff80083a48d800 0000ffffffffffff
[    7.576199] 7b80: ffff80083a037d40 ffff0000084f462c 0000000000000007 ffff000000000000
[    7.584034] 7ba0: ffff000009fb0000 0000000000000000 ffff0000093f41c8 00000000000000c0
[    7.591871] 7bc0: ffff80083a037cc0 ffff80083a037cc0 ffff80083a037c80 00000000ffffffc8
[    7.599707] 7be0: ffff80083a037c10 ffff00000816f824 ffff80083a037cc0 ffff80083a037cc0
[    7.607543] 7c00: ffff80083a037c80 00000000ffffffc8 0000000000000000 ffff000009fb0000
[    7.615379] 7c20: 0000000000000001 0000000000000000 0000000000000000 0000000000000008
[    7.623215] 7c40: ffff000008cb1400 0000000000000020 2c6e69616d6f645f 0000000000000006
[    7.631051] 7c60: 00000000000001ef 0000000000000006 00000000000001ee 0000000000000007
[    7.638887] 7c80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.646725] [<ffff0000084f462c>] clk_gate2_scu_is_enabled+0x30/0x74
[    7.652998] [<ffff0000084e1994>] clk_disable_unused_subtree+0x8c/0xc0
[    7.659442] [<ffff0000084e1930>] clk_disable_unused_subtree+0x28/0xc0
[    7.665888] [<ffff0000084e1a0c>] clk_disable_unused+0x44/0x130
[    7.671728] [<ffff000008084144>] do_one_initcall+0x38/0x128
[    7.677307] [<ffff000009180d00>] kernel_init_freeable+0x1ac/0x248
[    7.683403] [<ffff000008c4b554>] kernel_init+0x10/0xf8
[    7.688545] [<ffff000008083820>] ret_from_fork+0x10/0x30
[    7.693854] Code: b9418420 35000200 f9400e61 b40001c1 (b9400021)
[    7.699969] ---[ end trace 510c6d25aa9fc50a ]---
[    7.704600] note: swapper/0[1] exited with preempt_count 1
[    7.710119] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    7.710119]
[    7.719253] SMP: stopping secondary CPUs
[    7.723175] Kernel Offset: disabled
[    7.726662] Memory Limit: none
[    7.729715] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    7.729715]

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
This commit is contained in:
Anson Huang 2018-05-07 13:06:41 +08:00 committed by Jason Liu
parent 4874b797d7
commit e06889b73b

View file

@ -307,11 +307,6 @@ static int imx8qxp_clk_probe(struct platform_device *pdev)
clks[IMX8QXP_LSIO_GPIO5_IPG_S_CLK] = imx_clk_gate2_scu("gpio5_ipg_s_clk", "lsio_bus_clk_root", (void __iomem *)(GPIO_5_LPCG), 0x10, FUNCTION_NAME(PD_LSIO_GPIO_5));
clks[IMX8QXP_LSIO_GPIO6_IPG_S_CLK] = imx_clk_gate2_scu("gpio6_ipg_s_clk", "lsio_bus_clk_root", (void __iomem *)(GPIO_6_LPCG), 0x10, FUNCTION_NAME(PD_LSIO_GPIO_6));
clks[IMX8QXP_LSIO_GPIO7_IPG_S_CLK] = imx_clk_gate2_scu("gpio7_ipg_s_clk", "lsio_bus_clk_root", (void __iomem *)(GPIO_7_LPCG), 0x10, FUNCTION_NAME(PD_LSIO_GPIO_7));
clks[IMX8QXP_LSIO_ROMCP_REG_CLK] = imx_clk_gate2_scu("romcp_reg_clk", "lsio_bus_clk_root", (void __iomem *)(ROMCP_LPCG), 0x10, FUNCTION_NAME(PD_LSIO));
clks[IMX8QXP_LSIO_ROMCP_CLK] = imx_clk_gate2_scu("romcp_clk", "lsio_mem_clk_root", (void __iomem *)(ROMCP_LPCG), 0x0, FUNCTION_NAME(PD_LSIO));
clks[IMX8QXP_LSIO_96KROM_CLK] = imx_clk_gate2_scu("96krom_clk", "lsio_mem_clk_root", (void __iomem *)(ROMCP_LPCG), 0x4, FUNCTION_NAME(PD_LSIO));
clks[IMX8QXP_LSIO_OCRAM_MEM_CLK] = imx_clk_gate2_scu("ocram_lk", "lsio_mem_clk_root", (void __iomem *)(OCRAM_LPCG), 0x4, FUNCTION_NAME(PD_LSIO));
clks[IMX8QXP_LSIO_OCRAM_CTRL_CLK] = imx_clk_gate2_scu("ocram_ctrl_clk", "lsio_mem_clk_root", (void __iomem *)(OCRAM_LPCG), 0x0, FUNCTION_NAME(PD_LSIO));
/* ADMA SS */
clks[IMX8QXP_UART1_IPG_CLK] = imx_clk_gate2_scu("uart1_ipg_clk", "ipg_dma_clk_root", (void __iomem *)(LPUART_1_LPCG), 16, FUNCTION_NAME(PD_DMA_UART1));