This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: IPU and DSP reset fails

Part Number: AM5728

Hi,

I encountered a IPU and DSP loading problem. When system is ready, I manually insert cmemk, virtio_ring, virtio, virtio_rpmsg_bus, remoteproc, and  omap_remoteproc modules.

There is a error occurred which leads to drive DSP and IPU all failed. As I know, DSP and IPU subsystem all belong to CPU. Kernel and device-tree won't affect these components.

I did enable IPUs and DSPs devices. I tried to use pre-built images(zImage, dtb) on our target board. The error is same as my images. My image are built under SDK-03.02 version.

Furthermore, I've tried to put my images(zImage, dtb) on evm board. It worked well. I use the same DSP and IPU firmware and same filesystem on these boards.

The error always happens while CPU or DSP tried to do hardreset no mater I use built-in module image or manually inserted modules. I can't figure out what the reason leads device to be busy? 

Could be any hardware issue? Or do I need to build a specific firmware for our own? 

By the way, we only have 1GB ram on target board. Is it a memory issue?

Here is error message after I insert modules.

[ 928.971149] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000
[ 928.971209] remoteproc0: 58820000.ipu is available
[ 928.971219] remoteproc0: Note: remoteproc is still under development and considered experimental.
[ 928.971227] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 928.972640] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
[ 928.972692] remoteproc1: 55020000.ipu is available
[ 928.972701] remoteproc1: Note: remoteproc is still under development and considered experimental.
[ 928.972708] remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 928.974948] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[ 928.974999] remoteproc2: 40800000.dsp is available
[ 928.975007] remoteproc2: Note: remoteproc is still under development and considered experimental.
[ 928.975014] remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 928.976174] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000
[ 928.976228] remoteproc3: 41000000.dsp is available
[ 928.976237] remoteproc3: Note: remoteproc is still under development and considered experimental.
[ 928.976246] remoteproc3: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 929.485514] remoteproc1: powering up 55020000.ipu
[ 929.485533] remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3743072
[ 929.485562] omap_device_deassert_hardreset: mmu_cache is doing hardreset...
[ 929.485573] omap_hwmod: mmu_ipu2: _lookup_hardreset: mmu_cache rst 2 st 0
[ 929.485603] omap_hwmod: mmu_ipu2: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.485613] omap_hwmod: mmu_ipu2: successed to hardreset!!!
[ 929.485613]
[ 929.485629] omap_device_deassert_hardreset: mmu_cache[0/1], ret=0...
[ 929.485629]
[ 929.485639] omap_hwmod: mmu_ipu2: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.485669] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
[ 929.549200] omap_device_deassert_hardreset: cpu0 is doing hardreset...
[ 929.549216] omap_hwmod: ipu2: _lookup_hardreset: cpu0: rst 0 st 0
[ 929.565685] omap_hwmod: ipu2: failed to hardreset
[ 929.566161] omap_device_deassert_hardreset: cpu0[0/1], ret=-16...
[ 929.566161]
[ 929.566174] omap_rproc_device_enable: failed for proc 55020000.ipu
[ 929.613516] remoteproc1: rproc_boot() failed -16
[ 929.572428] omap-rproc 55020000.ipu: omap_device_enble failed: -16
[ 929.579714] remoteproc1: can't start rproc 55020000.ipu: -16
[ 929.613449] omap_hwmod: mmu_ipu2: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.613475] omap_hwmod: mmu_ipu2: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.613494] omap_hwmod: mmu_ipu2: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.613516] remoteproc1: rproc_boot() failed -16
[ 929.680136] virtio_rpmsg_bus: probe of virtio0 failed with error -16
[ 929.680161] remoteproc1: registered virtio0 (type 7)
[ 929.816424] omap_rproc_device_enable: failed for proc 58820000.ipu
[ 929.822673] omap-rproc 58820000.ipu: omap_device_enable failed: -16
[ 929.829187] remoteproc0: can't start rproc 58820000.ipu: -16
[ 929.838156] remoteproc0: rproc_boot() failed -16
[ 929.793725] remoteproc0: powering up 58820000.ipu
[ 929.793741] remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4890352
[ 929.793776] omap_device_deassert_hardreset: mmu_cache is doing hardreset...
[ 929.793785] omap_hwmod: mmu_ipu1: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.793814] omap_hwmod: mmu_ipu1: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.793823] omap_hwmod: mmu_ipu1: successed to hardreset!!!
[ 929.793823]
[ 929.793839] omap_device_deassert_hardreset: mmu_cache[0/1], ret=0...
[ 929.793839]
[ 929.793847] omap_hwmod: mmu_ipu1: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.793878] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
[ 929.799375] omap_device_deassert_hardreset: cpu0 is doing hardreset...
[ 929.799385] omap_hwmod: ipu1: _lookup_hardreset: cpu0: rst 0 st 0
[ 929.815761] omap_hwmod: ipu1: failed to hardreset
[ 929.816413] omap_device_deassert_hardreset: cpu0[0/1], ret=-16...
[ 929.816413]
[ 929.816424] omap_rproc_device_enable: failed for proc 58820000.ipu
[ 929.822673] omap-rproc 58820000.ipu: omap_device_enable failed: -16
[ 929.829187] remoteproc0: can't start rproc 58820000.ipu: -16
[ 929.838096] omap_hwmod: mmu_ipu1: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.838115] omap_hwmod: mmu_ipu1: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.838136] omap_hwmod: mmu_ipu1: _lookup_hardreset: mmu_cache: rst 2 st 0
[ 929.838156] remoteproc0: rproc_boot() failed -16
[ 929.843510] virtio_rpmsg_bus: probe of virtio1 failed with error -16
[ 929.843529] remoteproc0: registered virtio1 (type 7)
[ 931.346222] omap_rproc_device_enable: failed for proc 41000000.dsp
[ 931.352685] omap-rproc 41000000.dsp: omap_device_enable failed: -16
[ 931.309156] remoteproc3: powering up 41000000.dsp
[ 931.309175] remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 21998880
[ 931.359086] remoteproc3: can't start rproc 41000000.dsp: -16
[ 931.309234] omap_device_deassert_hardreset: mmu_cache is doinghardreset...
[ 931.309246] omap_hwmod: mmu0_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.309324] omap_hwmod: mmu0_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.316253] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
[ 931.316261] omap_hwmod: mmu0_dsp2: successed to hardreset!!!
[ 931.316261]
[ 931.316277] omap_device_deassert_hardreset: mmu_cache[0/1], ret=0...
[ 931.316277]
[ 931.316288] omap_hwmod: mmu0_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.316321] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
[ 931.316347] omap_hwmod: mmu1_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.316376] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
[ 931.329388] omap_device_deassert_hardreset: dsp is doing hardreset...
[ 931.329405] omap_hwmod: dsp2: _lookup_hardreset: dsp: rst 0 st 0
[ 931.345968] omap_hwmod: dsp2: failed to hardreset
[ 931.346210] omap_device_deassert_hardreset: dsp[0/1], ret=-16...
[ 931.346210]
[ 931.346222] omap_rproc_device_enable: failed for proc 41000000.dsp
[ 931.352685] omap-rproc 41000000.dsp: omap_device_enable failed: -16
[ 931.397081] remoteproc3: rproc_boot() failed -16
[ 931.359086] remoteproc3: can't start rproc 41000000.dsp: -16
[ 931.382775] omap_hwmod: mmu1_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.382799] omap_hwmod: mmu1_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.389855] omap_hwmod: mmu1_dsp2: _wait_target_disable failed
[ 931.389943] omap_hwmod: mmu0_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.389965] omap_hwmod: mmu0_dsp2: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.397028] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
[ 931.397046] omap_hwmod: mmu0_dsp2: _lookup_hardreset: mmu_cach
[ 931.553567] omap_rproc_device_enable: failed for proc 40800000.dsp
[ 931.397081] remoteproc3: rproc_boot() failed -6
[ 931.486807] virtio_rpmsg_bus: probe of virtio2 failed with error -16
[ 931.486834] remoteproc3: registered virtio2 (type 7)
[ 931.585070] omap-rproc 40800000.dsp: omap_device_enable failed: -16
[ 931.608761] remoteproc2: can't start rproc 40800000.dsp: -16
[ 931.517537] remoteproc2: powering up 40800000.dsp
[ 931.51752] remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 21998880
[ 931.517597] omap_device_deassert_hardreset: mmu_cache is doing hardreset...
[ 931.517605] omap_hwmod: mmu0_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.517680] omap_hwmod: mmu0_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.524404] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 931.524411] omap_hwmod: mmu0_dsp1: successed to hardreset!!!
[ 931.524411]
[ 931.524426] omap_device_deassert_hardreset: mmu_cache[0/1], ret=0...
[ 931.524426]
[ 931.524435] omap_hwmod: mmu0_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.524467] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 931.524535] omap_hwmod: mmu1_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.524564] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 931.536500] omap_device_deassert_hardreset: dsp is doing hardreset...
[ 931.536514] omap_hwmod: dsp1: _lookup_hardreset: dsp: rst 0 st 0
[ 931.553221] omap_hwmod: dsp1: failed to hardreset
[ 931.553556] omap_device_deassert_hardreset: dsp[0/1], ret=-16...
[ 931.553556]
[ 931.553567] omap_rproc_device_enable: failed for proc 40800000.dsp
[ 931.585070] omap-rproc 40800000.dsp: omap_device_enable failed: -16
[ 931.608761] remoteproc2: can't start rproc 40800000.dsp: -16
[ 931.620245] omap_hwmod: mmu1_dsp1: _lookup_hardreset: mmu_cach: rst 1 st 0
[ 931.620266] omap_hwmod: mmu1_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.626950] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
[ 931.626998] omap_hwmod: mmu0_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.627014] omap_hwmod: mmu0_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.633703] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 931.633719] omap_hwmod: mmu0_dsp1: _lookup_hardreset: mmu_cache: rst 1 st 0
[ 931.634034] remoteproc2: rproc_boot() failed -16
[ 931.744779] virtio_rpmsg_bus: probe of virtio3 failed with error -16
[ 931.744798] remoteproc2: registered virtio3 (type 7)

Best Regards, 

Neil

  • The software team have been notified. They will respond here.
  • HI, Neil,

    Those modules you manually started would start during kernel boot. Did you remove them from the boot sequence?
    During kernel boot up, the remoteproc will download DSP and IPU images if those images are in /lib/firmware. Are you able to have remoteproc to load the images?
    How do you hard reset the DSP and IPU?

    Rex
  • Hello Rex,

    I tried to load those modules during kernel booting procedure at beginning, but it showed -16 error message afterward. I do have those images in /lib/firmware folder. These log messages shows it loaded images from firmware folder, right?
    [ 928.971149] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000
    [ 928.971209] remoteproc0: 58820000.ipu is available
    ....
    [ 928.976228] remoteproc3: 41000000.dsp is available

    I've even copied those images from evm board to my target board. Unfortunately, it still not worked.
    I do not hard reset the DSP and IPU manually. The procedural of hard reset is a part of enabling device process(/arch/arm/mach-omap2/remoteproc.c - omap_rproc_device_enable()).
  • Neil,

    Is it possible you move the code base to the latest of ProcSDK 4.0.0.4? From your description, it seems you got the failure on your board. Are you able to bring up IPUs and DSPs on TI EVM? You should see the following messages interleaved in the logs.

    [ 11.126712] remoteproc remoteproc2: 40800000.dsp is available
    [ 12.104206] remoteproc remoteproc2: powering up 40800000.dsp
    [ 12.111345] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4681692
    [ 12.473757] remoteproc remoteproc2: remote processor 40800000.dsp is now up


    The logs related to IPU/DSP download in the kernel boot are shown below.


    [ 10.987332] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000
    [ 11.040159] remoteproc remoteproc0: 58820000.ipu is available
    [ OK ] Started udev Coldplug all Devices.
    [ 11.071870] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
    [ 11.087591] remoteproc remoteproc1: 55020000.ipu is available
    [ 11.109392] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
    [ OK ] Started Update UTMP about System Boot/Shutdown.

    [ 11.126712] remoteproc remoteproc2: 40800000.dsp is available
    [ OK ] Found device /dev/ttyS2.
    [ 11.175731] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000
    [ 11.204698] remoteproc remoteproc3: 41000000.dsp is available
    [ 11.385498] remoteproc remoteproc1: powering up 55020000.ipu
    [ 11.391224] remoteproc remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3743164
    [ 11.399513] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [ 11.407320] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
    [ 11.413488] omap-des 480a5000.des: will run requests pump with realtime priority
    [ 11.442802] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659 as rtc1
    [ 11.511433] input: pixcir_tangoc as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-005c/input/input1
    [ 11.549667] virtio_rpmsg_bus virtio0: rpmsg host is online
    [ 11.549687] remoteproc remoteproc1: registered virtio0 (type 7)
    [ 11.549691] remoteproc remoteproc1: remote processor 55020000.ipu is now up
    [ 11.553011] virtio_rpmsg_bus virtio0: creating channel rpmsg-rpc addr 0x65
    [ 11.553893] virtio_rpmsg_bus virtio0: creating channel rpmsg-rpc addr 0x66
    [ 11.659766] omap_rtc 48838000.rtc: rtc core: registered 48838000.rtc as rtc2
    Starting Synchronize System and HW clocks...
    [ 11.700493] remoteproc remoteproc0: powering up 58820000.ipu
    [ 11.708769] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4872056
    [ 11.724437] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
    [ 11.750247] virtio_rpmsg_bus virtio1: rpmsg host is online
    [ 11.758053] virtio_rpmsg_bus virtio1: creating channel rpmsg-client-sample addr 0x32
    [ 11.758166] virtio_rpmsg_bus virtio1: creating channel rpmsg-client-sample addr 0x33
    [ 11.758264] virtio_rpmsg_bus virtio1: creating channel rpmsg-omx addr 0x3c
    [ 11.758344] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x65
    [ 11.803190] remoteproc remoteproc0: registered virtio1 (type 7)
    [ 11.812038] remoteproc remoteproc0: remote processor 58820000.ipu is now up
    [ 11.950720] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 12.020051] omap-hdmi-audio omap-hdmi-audio.0.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
    [ 12.090738] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3

    [ 12.104206] remoteproc remoteproc2: powering up 40800000.dsp
    [ 12.111345] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4681692
    [ 12.135122] SCSI subsystem initialized
    [ 12.136205] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
    [ 12.140654] omap-aes 4b500000.aes: will run requests pump with realtime priority
    [ OK ] Started Synchronize System and HW clocks.
    [ 12.178488] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [ 12.184373] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [ 12.190296] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [ OK ] Created slice system-systemd\x2dbacklight.sli[ 12.200298] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
    ce.
    [ 12.220500] omap-aes 4b700000.aes: will run requests pump with realtime priority
    Starting Load/Save Screen Backlight...htness of backlight:backlight...
    [ 12.239746] virtio_rpmsg_bus virtio2: rpmsg host is online
    [ 12.241866] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3d
    [ 12.245706] [drm] Initialized pvr 1.14.3699939 20110701 on minor 1

    [ 12.264866] remoteproc remoteproc3: powering up 41000000.dsp
    [ 12.264874] remoteproc remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 4528816
    [ 12.271537] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [ 12.271572] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [ 12.271645] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [ 12.421568] remoteproc remoteproc2: registered virtio2 (type 7)

    [ 12.473757] remoteproc remoteproc2: remote processor 40800000.dsp is now up

    [ 12.540350] virtio_rpmsg_bus virtio3: rpmsg host is online
    [ 12.540373] remoteproc remoteproc3: registered virtio3 (type 7)
    [ 12.540378] remoteproc remoteproc3: remote processor 41000000.dsp is now up

    [ 12.540736] virtio_rpmsg_bus virtio3: creating channel rpmsg-proto addr 0x3d
    [ 12.550631] vip 48990000.vip: VPDMA firmware loaded
    [ 14.086442] rpmsg_rpc virtio0.rpmsg-rpc.-1.101: probing service dce-callback with src 1024 dst 101
    [ 14.086679] rpmsg_rpc virtio0.rpmsg-rpc.-1.102: probing service rpmsg-dce with src 1025 dst 102
    [ 14.087022] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: probing service rpc_example_2 with src 1024 dst 101
    [ 14.087051] rpmsg_rpc virtio0.rpmsg-rpc.-1.101: published functions = 4
    [ 14.087372] rpmsg_rpc virtio0.rpmsg-rpc.-1.102: published functions = 9
    [ 14.087742] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: published functions = 8
    [ 14.189238] NET: Registered protocol family 43
  • Hi Rex,

    I did got the failure on our target board and have no idea about what the root cause it is.
    As I mentioned above, either prebuilt images(SDK-03.02) or our images all worked well on TI EVM board.
    By your suggestion, I've tried the prebuilt images(SDK-04.01) on our target board. It shows these error messages below.
    [ 6.408355] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000
    [ 6.446361] remoteproc remoteproc0: 58820000.ipu is available
    [ 6.504357] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
    [ 6.564751] remoteproc remoteproc1: 55020000.ipu is available
    [ 6.611639] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
    [ 6.638104] remoteproc remoteproc2: 40800000.dsp is available
    [ 6.638440] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000
    [ 6.638516] remoteproc remoteproc3: 41000000.dsp is available
    [ 7.693682] remoteproc remoteproc1: powering up 55020000.ipu
    [ 7.699396] remoteproc remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3743164
    [ 7.708495] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [ 7.781012] omap_hwmod: ipu2: failed to hardreset
    [ 7.786459] omap_rproc_device_enable: failed for proc 55020000.ipu
    [ 7.792951] omap-rproc 55020000.ipu: omap_device_enable failed: -16
    [ 7.799826] remoteproc remoteproc1: can't start rproc 55020000.ipu: -16
    [ 8.185940] remoteproc remoteproc0: powering up 58820000.ipu
    [ 8.191650] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4872056
    [ 8.200785] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
    [ 8.242087] omap_hwmod: ipu1: failed to hardreset
    [ 8.247486] omap_rproc_device_enable: failed for proc 58820000.ipu
    [ 8.254069] omap-rproc 58820000.ipu: omap_device_enable failed: -16
    [ 8.261091] remoteproc remoteproc0: can't start rproc 58820000.ipu: -16
    [ 9.451446] remoteproc remoteproc2: powering up 40800000.dsp
    [ 9.457334] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 22220992
    [ 9.471908] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [ 9.477794] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [ 9.483703] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [ 9.516492] omap_hwmod: dsp1: failed to hardreset
    [ 9.521815] omap_rproc_device_enable: failed for proc 40800000.dsp
    [ 9.529339] omap-rproc 40800000.dsp: omap_device_enable failed: -16
    [ 9.535707] remoteproc remoteproc2: can't start rproc 40800000.dsp: -16
    [ 9.553036] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
    [ 9.565473] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [ 9.582908] remoteproc remoteproc3: powering up 41000000.dsp
    [ 9.619117] remoteproc remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 22220992
    [ 9.715825] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [ 9.721718] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [ 9.727672] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [ 9.891970] omap_hwmod: dsp2: failed to hardreset
    [ 9.952346] omap_rproc_device_enable: failed for proc 41000000.dsp
    [ 9.952353] omap-rproc 41000000.dsp: omap_device_enable failed: -16
    [ 9.952448] remoteproc remoteproc3: can't start rproc 41000000.dsp: -16
    [ 9.972577] omap_hwmod: mmu1_dsp2: _wait_target_disable failed
    [ 9.979204] omap_hwmod: mmu0_dsp2: _wait_target_disable failed

    Tracing those remoteproc codes, I knew if DSP or IPU did hardrest successful, then the module would work properly.
    However, it always fails to hardrest on either IPU or DSP.
    Is it a hardware issue caused hardrest failure or do I need to setup anything, for example clock, in uboot?
  • Hi, Neil,

    If you follow the error message "omap_hwmod: dsp1: failed to hardreset". It got printed in arch/arm/mach-omap2/omap_hwmod.c in which remoteproc tries to enable the device, Some IP like DSP, IPU, etc. contain processor that require an hardware reset line to be assert/deassert in order to enable fully the IP. 

    Since it works with TI EVM, it sounds to me it is the custom hardware issue. 

    Rex

  • Hi Rex,

    I was thinking it might be a hardware issue. However, there is only sysboot15 related to DSP clock and I've checked the CTRL_CORE_BOOTSTRAP(0x4a0026c4), our setting is same as evm's. Besides, IPU don't connect to any hardward pin. It's purely embedded in CPU. Is a CPU's problem or PRCM setting's problem? We really got lost in this problem.
  • Neil,

    You shouldn’t be seeing the “failed to hardreset” traces. This is mainly to do with the PRCM sequences. The reset and clock code in omap_hwmod is carefully crafted since omap_hwmod code handles peripherals much better than master initiators with reset lines. This used to be default behavior on very old kernels (pre-3.8), and the trace that shows up now is a “wait_target_disable failed” trace.

    Could you try with the latest ProcSDK? Also, did you modify the hwmod code by any chance? and are the remoteproc PRCM registers being touched in your bootloader?

    Rex
  • Hi Rex,

    Yes, I've tried the prebuilt images(SDK-04.01) on our target board with our own uboot image. We modified pinmux and emif parameter only in uboot. It showed same error message I had. Do you have any suggestion about CPU layout? Is it possible that we miss any reset line?
  • Hi Rex, 

    Do you have any comments or suggestions on CPU layout?

  • Hi, Neil,

    Sorry, I am not familiar with hardware layout and can't comment that. From the linux code, that was what seems to indicate.

    Rex