From b8e2454f1c7dae1b45fc47d9d8cbd614a43130c7 Mon Sep 17 00:00:00 2001 From: Anson Huang Date: Fri, 6 Nov 2015 22:31:25 +0800 Subject: [PATCH] MLK-11830 ARM: dts: add tcm address info for imx7d 12x12 lpddr3 board When M4 is enabled, Linux has to do save/restore for M4 TCM during suspend/resume, dtb should pass the TCM address for kernel, without this TCM info, kernel will boot up fail: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at arch/arm/mach-imx/pm-imx7.c:1030 imx7d_pm_init+0x58/0) Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.52-02791-g1babdb1-dirty #2093 [<80014b40>] (unwind_backtrace) from [<80011798>] (show_stack+0x10/0x14) [<80011798>] (show_stack) from [<807199ec>] (dump_stack+0x7c/0xbc) [<807199ec>] (dump_stack) from [<80032d78>] (warn_slowpath_common+0x6c/0x88) [<80032d78>] (warn_slowpath_common) from [<80032e30>] (warn_slowpath_null+0x1c/) [<80032e30>] (warn_slowpath_null) from [<80a09760>] (imx7d_pm_init+0x58/0x67c) [<80a09760>] (imx7d_pm_init) from [<80a08d3c>] (imx7d_init_machine+0x3c/0xe4) [<80a08d3c>] (imx7d_init_machine) from [<809e52e4>] (customize_machine+0x20/0x4) [<809e52e4>] (customize_machine) from [<800089bc>] (do_one_initcall+0xf8/0x144) [<800089bc>] (do_one_initcall) from [<809e2c4c>] (kernel_init_freeable+0x138/0x) [<809e2c4c>] (kernel_init_freeable) from [<807159b8>] (kernel_init+0x8/0xf0) [<807159b8>] (kernel_init) from [<8000e580>] (ret_from_fork+0x14/0x34) ---[ end trace fdb0885876d7ac0b ]--- Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = 80004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 3.14.52-02791-g1babdb1-dir3 task: a8084000 ti: a8090000 task.ti: a8090000 PC is at memcpy+0x48/0x330 LR is at imx7d_pm_init+0xd0/0x67c pc : [<8028e768>] lr : [<80a097d8>] psr: 20000013 sp : a8091e8c ip : 00000000 fp : 00000000 r10: a8090030 r9 : 0000010b r8 : 809e52c4 r7 : 80ab9380 r6 : 80ab9380 r5 : 80abb5a4 r4 : 80a411cc r3 : 00080000 r2 : 00007f80 r1 : 00000000 r0 : a8140000 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c53c7d Table: 8000406a DAC: 00000015 Process swapper/0 (pid: 1, stack limit = 0xa8090238) Signed-off-by: Anson Huang (cherry picked from commit c3dc7c16660200f3de8cbbdd1f215ae6a779a039) --- arch/arm/boot/dts/imx7d-12x12-lpddr3-arm2-m4.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/imx7d-12x12-lpddr3-arm2-m4.dts b/arch/arm/boot/dts/imx7d-12x12-lpddr3-arm2-m4.dts index ae4a080e6cda..65821e667375 100644 --- a/arch/arm/boot/dts/imx7d-12x12-lpddr3-arm2-m4.dts +++ b/arch/arm/boot/dts/imx7d-12x12-lpddr3-arm2-m4.dts @@ -11,6 +11,11 @@ gpio-keys { status = "disabled"; }; + + m4_tcm: tcml@007f8000 { + compatible = "fsl, m4_tcml"; + reg = <0x007f8000 0x8000>; + }; }; &adc1 { -- 2.17.1