Hi,
I have a custom K2L board. I have been trying to figure out how to load the firmware binary for the Keystone navigator qmss pdsp.
I have found the binary package "k2-fw-initrd.cpio.gz" from the SDK site and included it into my UBI filesystem volumes "boot" and "rootfs" (both of them to make sure it is found from somewhere) before ubinizing them and burning into the NAND.
In addition to this I have also tried adding this in the device tree, although not directly adviced in the TI documentation:
pdsps {
#address-cells = <1>;
#size-cells = <1>;
ranges;
pdsp0@0x2a10000 {
firmware = "/lib/firmware/ks2_qmss_pdsp_acc48.bin";
syscon-intd = <&pdsp_intd>;
reg = <0x2a10000 0x1000 /*iram */
0x2a0f000 0x100 /*reg*/
0x2a20000 0x4000>; /*cmd*/
id = <0>;
};
pdsp3@0x2a13000 {
firmware = "/lib/firmware/ks2_qmss_pdsp_acc48.bin";
firmware_type = "qos";
syscon-intd = <&pdsp_intd>;
reg = <0x2a13000 0x1000>,
<0x2a0f300 0x100>,
<0x2a2c000 0x4000>;
reg-names = "iram", "regs", "command";
id = <3>;
};
pdsp7@0x2a17000 {
firmware = "/lib/firmware/ks2_qmss_pdsp_acc48.bin";
firmware_type = "qos";
syscon-intd = <&pdsp_intd>;
reg = <0x2a17000 0x1000>,
<0x2a0f700 0x100>,
<0x2a3c000 0x4000>;
reg-names = "iram", "regs", "command";
id = <7>;
};
};
I am really lost. Please help. All I get is a kernel panic:
[ 0.566660] keystone-navigator-qmss soc:qmss@2a40000: failed to get firmware for pdsp pdsp0
[ 0.575176] keystone-navigator-qmss soc:qmss@2a40000: failed to get firmware for pdsp pdsp3
[ 0.583684] keystone-navigator-qmss soc:qmss@2a40000: failed to get firmware for pdsp pdsp7
[ 0.592745] keystone-navigator-qmss soc:qmss@2a40000: pdsp id 3 not started for range qos-inputs-0
[ 0.601864] keystone-navigator-qmss soc:qmss@2a40000: pdsp id 7 not started for range qos-inputs-1
[ 0.610955] keystone-navigator-qmss soc:qmss@2a40000: pdsp id 0 not started for range acc-low-0
[ 0.629161] Unhandled fault: asynchronous external abort (0x211) at 0x0000000
[ 0.636481] pgd = c0003000
[ 0.639272] [00000000] *pgd=80000800004003, *pmd=00000000
[ 0.644770] Internal error: : 211 [#1] PREEMPT SMP ARM
[ 0.650000] Modules linked in:
[ 0.653143] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.19-gdb0b54cdad #9
[ 0.660201] Hardware name: Keystone
[ 0.663777] task: de478000 ti: de466000 task.ti: de466000
[ 0.669272] PC is at knav_dma_hw_init+0x4c/0xc0
[ 0.673896] LR is at get_parent_ip+0x10/0x2c
[ 0.678255] pc : [<c0422238>] lr : [<c0048228>] psr: 60000013
[ 0.678255] sp : de467e48 ip : f09a6000 fp : de64ddf8
[ 0.689930] r10: c0881944 r9 : debe6b50 r8 : c0881944
[ 0.695246] r7 : debe696c r6 : 00000080 r5 : de64de08 r4 : de64dd90
[ 0.701869] r3 : 0000445c r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 0.708493] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 0.715900] Control: 30c5387d Table: 00003000 DAC: fffffffd
[ 0.721739] Process swapper/0 (pid: 1, stack limit = 0xde466210)
[ 0.727839] Stack: (0xde467e48 to 0xde468000)
[ 0.732286] 7e40: 00000095 de64dd90 de64de00 c0305868 00000000 00000000
[ 0.740565] 7e60: 00000000 c016d518 00000095 de60b010 debe696c de64ddd4 00000b60 00000000
[ 0.748843] 7e80: 00000080 00000000 00000008 0000445c 00001000 00000000 c07ed83c ffffffef
[ 0.757121] 7ea0: de60b010 fffffdfb c082d97c 00000000 c07ed83c c07a6598 00000000 c0335d2c
[ 0.765400] 7ec0: c0335cdc de60b010 c088314c 00000000 c082d97c c0334a48 de60b010 c082d97c
[ 0.773678] 7ee0: de60b044 00000000 c07ceea0 c0334b9c 00000000 c082d97c c0334b10 c033317c
[ 0.781957] 7f00: de406f5c de5604b4 c082d97c de7eaf80 c08354b0 c0334148 c07040c4 c082d97c
[ 0.790235] 7f20: 00000006 c082d97c 00000006 2282743c 00000000 c033513c c0335c70 c07f9af0
[ 0.798514] 7f40: 00000006 c00096e0 000139a1 00000000 2282743c 00000000 00000006 c07f9af0
[ 0.806792] 7f60: 00000006 c07ed830 c085d000 00000095 c07a6598 c07a6dbc 00000006 00000006
[ 0.815070] 7f80: 00000000 c07a6598 00000000 c057ae30 00000000 00000000 00000000 00000000
[ 0.823348] 7fa0: 00000000 c057ae38 00000000 c000f668 00000000 00000000 00000000 00000000
[ 0.831626] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.839904] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 0.848194] [<c0422238>] (knav_dma_hw_init) from [<c0305868>] (knav_dma_probe+0x62c/0x6c0)
[ 0.856564] [<c0305868>] (knav_dma_probe) from [<c0335d2c>] (platform_drv_probe+0x50/0xb0)
[ 0.864932] [<c0335d2c>] (platform_drv_probe) from [<c0334a48>] (driver_probe_device+0x1e0/0x2a8)
[ 0.873911] [<c0334a48>] (driver_probe_device) from [<c0334b9c>] (__driver_attach+0x8c/0x90)
[ 0.882453] [<c0334b9c>] (__driver_attach) from [<c033317c>] (bus_for_each_dev+0x54/0x88)
[ 0.890734] [<c033317c>] (bus_for_each_dev) from [<c0334148>] (bus_add_driver+0xec/0x1f8)
[ 0.899015] [<c0334148>] (bus_add_driver) from [<c033513c>] (driver_register+0x78/0xf4)
[ 0.907123] [<c033513c>] (driver_register) from [<c00096e0>] (do_one_initcall_debug+0x40/0x88)
[ 0.915841] [<c00096e0>] (do_one_initcall_debug) from [<c07a6dbc>] (kernel_init_freeable+0x118/0x1e4)
[ 0.925169] [<c07a6dbc>] (kernel_init_freeable) from [<c057ae38>] (kernel_init+0x8/0xf8)
[ 0.933363] [<c057ae38>] (kernel_init) from [<c000f668>] (ret_from_fork+0x14/0x2c)
[ 0.941033] Code: e594300c e7f03053 e1823003 e58c3004 (e5942008)
[ 0.947231] ---[ end trace 7166a7bfb948fa03 ]---
[ 0.951941] note: swapper/0[1] exited with preempt_count 1
[ 0.957561] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 0.957561]
[ 0.966888] CPU1: stopping
[ 0.969683] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D 4.4.19-gdb0b54cdad #9
[ 0.977960] Hardware name: Keystone
[ 0.981547] [<c0016320>] (unwind_backtrace) from [<c0012980>] (show_stack+0x10/0x14)
[ 0.989396] [<c0012980>] (show_stack) from [<c02aa2fc>] (dump_stack+0x74/0x94)
[ 0.996719] [<c02aa2fc>] (dump_stack) from [<c00152a0>] (handle_IPI+0x1bc/0x36c)
[ 1.004216] [<c00152a0>] (handle_IPI) from [<c0009454>] (gic_handle_irq+0x80/0x8c)
[ 1.011888] [<c0009454>] (gic_handle_irq) from [<c0580d80>] (__irq_svc+0x40/0x74)
[ 1.019468] Exception stack(0xde49df90 to 0xde49dfd8)
[ 1.024611] df80: 00000001 00000000 de49dfe8 c001f420
[ 1.032890] dfa0: c08595c0 c058522c c08595c0 c07fa3a4 c0858d86 c080394c 00000000 00000001
[ 1.041168] dfc0: 00000001 de49dfe0 c0010084 c0010088 60000013 ffffffff
[ 1.047881] [<c0580d80>] (__irq_svc) from [<c0010088>] (arch_cpu_idle+0x30/0x3c)
[ 1.055386] [<c0010088>] (arch_cpu_idle) from [<c005c33c>] (cpu_startup_entry+0x120/0x340)
[ 1.063754] [<c005c33c>] (cpu_startup_entry) from [<800094ec>] (0x800094ec)
[ 1.070815] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 1.070815]
Best regards,
Ari