MLK-11830 ARM: dts: add tcm address info for imx7d 12x12 lpddr3 board
authorAnson Huang <Anson.Huang@freescale.com>
Fri, 6 Nov 2015 14:31:25 +0000 (22:31 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:49:57 +0000 (14:49 -0500)
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 <Anson.Huang@freescale.com>
(cherry picked from commit c3dc7c16660200f3de8cbbdd1f215ae6a779a039)

arch/arm/boot/dts/imx7d-12x12-lpddr3-arm2-m4.dts

index ae4a080..65821e6 100644 (file)
        gpio-keys {
                status = "disabled";
        };
+
+       m4_tcm: tcml@007f8000 {
+               compatible = "fsl, m4_tcml";
+               reg = <0x007f8000 0x8000>;
+       };
 };
 
 &adc1 {