From 45d34a248bf3b7a88ffe0b613fb1f19ffcf62a3f Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 4 Mar 2021 20:44:07 +0100 Subject: ARM: dts: colibri-imx7: add nodes related to the m4 Without these with a running M4 the kernel freezes early at memory initialization time. Note: There is no kernel output without earlycon. | Colibri iMX7 # load mmc 0:1 $loadaddr ${m4dir}/${m4elf} ; bootaux $loadaddr | 33420 bytes read in 44 ms (741.2 KiB/s) | ## Starting auxiliary core stack = 0x00000000, pc = 0x1FFF80B5... | Colibri iMX7 # boot | MMC: no card present | switch to partitions #0, OK | mmc0(part 0) is current device | Scanning mmc 0:1... | Found U-Boot script /boot.scr | 5125 bytes read in 14 ms (357.4 KiB/s) | ## Executing script at 87000000 | Loading DeviceTree: imx7d-colibri-emmc-eval-v3.dtb | 64305 bytes read in 17 ms (3.6 MiB/s) | 126 bytes read in 10 ms (11.7 KiB/s) | Applying Overlay: colibri-imx7_lcd-lt161010_overlay.dtbo | 892 bytes read in 27 ms (32.2 KiB/s) | Applying Overlay: colibri-imx7_ad7879_overlay.dtbo | 423 bytes read in 25 ms (15.6 KiB/s) | Applying Overlay: colibri-imx7_disable-uart-b_overlay.dtbo | 295 bytes read in 31 ms (8.8 KiB/s) | 6699784 bytes read in 225 ms (28.4 MiB/s) | Bootargs: root=PARTUUID=fe6beb3d-02 ro rootwait console=tty1 console=ttymxc0,115200n8 consoleblank=0 clk_ignore_unused earlycon | Kernel image @ 0x81000000 [ 0x000000 - 0x663b08 ] | ## Flattened Device Tree blob at 82000000 | Booting using the fdt blob at 0x82000000 | Loading Device Tree to 8ffcd000, end 8fffffff ... OK | | Starting kernel ... | | [ 0.000000] Booting Linux on physical CPU 0x0 | [ 0.000000] Linux version 5.4.91-06328-ge364f07d31ea-dirty (krm@linuxdev2.toradex.int) (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #4 SMP Wed Mar 3 22: | 03:45 CET 2021 | [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d | [ 0.000000] CPU: div instructions available: patching division code | [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache | [ 0.000000] OF: fdt: Machine model: Toradex Colibri iMX7D 1GB (eMMC) on Colibri Evaluation Board V3 | [ 0.000000] earlycon: ec_imx6q0 at MMIO 0x30860000 (options '115200n8') | [ 0.000000] printk: bootconsole [ec_imx6q0] enabled | [ 0.000000] Memory policy: Data cache writealloc | [ 0.000000] cma: Reserved 256 MiB at 0xb0000000 | [ 0.000000] 8<--- cut here --- | [ 0.000000] Unable to handle kernel paging request at virtual address 8ffcd000 | [ 0.000000] pgd = (ptrval) | [ 0.000000] [8ffcd000] *pgd=8fe1141e(bad) | [ 0.000000] Internal error: Oops: 5 [#1] SMP ARM | [ 0.000000] Modules linked in: | [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.4.91-06328-ge364f07d31ea-dirty #4 | [ 0.000000] Hardware name: Freescale i.MX7 Dual (Device Tree) | [ 0.000000] PC is at fdt_check_header+0x0/0x138 | [ 0.000000] LR is at __unflatten_device_tree+0x20/0x110 | [ 0.000000] pc : [<80930b10>] lr : [<8070c8a8>] psr: a00000d3 | [ 0.000000] sp : 80e01f38 ip : affffe58 fp : affffe00 | [ 0.000000] r10: 00000000 r9 : 80d26314 r8 : 80ebcd8c | [ 0.000000] r7 : 00000000 r6 : 8ffcd000 r5 : 80e0afd4 r4 : 80d26314 | [ 0.000000] r3 : 80d26314 r2 : 80ebcd8c r1 : 00000000 r0 : 8ffcd000 | [ 0.000000] Flags: NzCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment none | [ 0.000000] Control: 10c5387d Table: 8000406a DAC: 00000051 | [ 0.000000] Process swapper (pid: 0, stack limit = 0x(ptrval)) | [ 0.000000] Stack: (0x80e01f38 to 0x80e02000) | [ 0.000000] 1f20: 80d26314 80e0afd4 | [ 0.000000] 1f40: 80e64180 80e09b40 90000000 80c500e0 80e157c4 80d272cc 00000000 80e0afd4 | [ 0.000000] 1f60: 80d3367c 80d03654 ffffffff 10c5387d fffff000 80c50000 80ba67a8 80d3367c | [ 0.000000] 1f80: 410fc075 10c5387d 00000000 8016ab40 80ba516c 80e01fb4 00000000 80e64000 | [ 0.000000] 1fa0: 00000051 80e05f00 00000000 00000001 410fc075 10c5387d 00000000 80d00968 | [ 0.000000] 1fc0: 00000000 00000000 00000000 00000000 00000000 80d44a38 00000000 80d00330 | [ 0.000000] 1fe0: 00000051 10c0387d 00000000 8ffcd000 410fc075 00000000 00000000 00000000 | [ 0.000000] [<80930b10>] (fdt_check_header) from [<8070c8a8>] (__unflatten_device_tree+0x20/0x110) | [ 0.000000] [<8070c8a8>] (__unflatten_device_tree) from [<80d272cc>] (unflatten_device_tree+0x34/0x44) | [ 0.000000] [<80d272cc>] (unflatten_device_tree) from [<80d03654>] (setup_arch+0x8f0/0xb00) | [ 0.000000] [<80d03654>] (setup_arch) from [<80d00968>] (start_kernel+0x58/0x3e8) | [ 0.000000] [<80d00968>] (start_kernel) from [<00000000>] (0x0) | [ 0.000000] Code: e3a0001c e12fff1e e3a00020 e12fff1e (e5902000) | [ 0.000000] random: get_random_bytes called from print_oops_end_marker+0x28/0x50 with crng_init=0 | [ 0.000000] ---[ end trace 0000000000000000 ]--- | [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task! | [ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]--- Signed-off-by: Max Krummenacher --- arch/arm/boot/dts/imx7-colibri.dtsi | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi index 69b8c9f1e638..c3475cbdd37b 100644 --- a/arch/arm/boot/dts/imx7-colibri.dtsi +++ b/arch/arm/boot/dts/imx7-colibri.dtsi @@ -17,6 +17,11 @@ status = "okay"; }; + m4_tcm: tcml@007f8000 { + compatible = "fsl, m4_tcml"; + reg = <0x007f8000 0x8000>; + }; + pxp_v4l2_out { compatible = "fsl,imx7d-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", \ "fsl,imx6sl-pxp-v4l2"; @@ -39,6 +44,22 @@ regulator-always-on; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + m4_reserved: m4@0x9ff00000 { + no-map; + reg = <0x9ff00000 0x100000>; + }; + + rpmsg_reserved: rpmsg@0x8ff00000 { + no-map; + reg = <0x8ff00000 0x100000>; + }; + }; + sound { compatible = "simple-audio-card"; simple-audio-card,name = "imx7-sgtl5000"; -- cgit v1.2.3