Post Go back to editing

[Yocto] DMA error on channel 43, stat = 0x3b400

Category: Software
Product Number: Yocto linux 2.1.0

Hi team,

Context:

  • I'm running your embedded linux distro built by yocto
  • SC572 on a custom board
  • Running linux on arm core and baremetal application on SHARC core
  • Linux app running on ARM core compiled with SDK provided by yocto
  • Bare metal app running on SHARC core using windows CCES 2.11.1
  • Used mcapi_example to build and debug baremetal sharc core app
  • Used Generate LDR and load ldr to generate and load the ldr to board
  • Using the ICE1000 debugger with Windows CCES2.11.1 for loading dxe during debugging, and ssh for the arm side

Problem: After successfully running the linux and sharc application following the above process (using windows CCES to load baremetal app at linux runtime), i have generated a LDR from that DXE and tried to load that in Linux userspace. However, the application crashes with the following error when I run echo start > ...

adi-dma 3109b000.dma: DMA error on channel 43, stat = 0x3b400

Modifying the remoteproc code to add debug messages, i see the following, which shows that its going through the LDR and creating DMA descriptors for each section, but its failing to do DMA on channel 43, which i believe is a MDMA channel. I couldn't find any information on what that stat corresponds to:

remoteproc remoteproc0: powering up core1-rproc
remoteproc remoteproc0: Booting fw image rdau_sharc_sampler_core1.ldr, size 137736
adi_remoteproc 28240000.core1-rproc: In adi_rproc_load, detected ldr, calling adi_ldr_load
adi_remoteproc 28240000.core1-rproc: In adi_ldr_load, firmware size: 137736
adi_remoteproc 28240000.core1-rproc: In adi_ldr_load, calling ldr_load
adi_remoteproc 28240000.core1-rproc: In ldr_load()
adi_remoteproc 28240000.core1-rproc: Finding dma channel: DMA_MEMCPY
adi_remoteproc 28240000.core1-rproc: About to read the headers
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi-dma 3109b000.dma: DMA ERROR, irq = 87
adi-dma 3109b000.dma: DMA error on channel 43, stat = 0x3b400
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 1
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is true, so do memset
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
adi_remoteproc 28240000.core1-rproc: bFlag_fill is 0
adi_remoteproc 28240000.core1-rproc: block_hdr is not empty, start dma transfer, bflag_fill is false, so do memcopy
adi_remoteproc 28240000.core1-rproc: is final block header, setting callback
adi_remoteproc 28240000.core1-rproc: DMA engine submitted
systemd-journald[120]: /dev/kmsg buffer overrun, some messages lost.
schedule_timeout: wrong timeout value ffffffff
CPU: 0 PID: 240 Comm: rdau Not tainted 5.4.183-yocto-standard #1
Hardware name: SC57x-EZKIT (Device Tree Support)
[<c010ccec>] (unwind_backtrace) from [<c010af5c>] (show_stack+0x10/0x14)
[<c010af5c>] (show_stack) from [<c0734020>] (schedule_timeout+0x12c/0x14c)
[<c0734020>] (schedule_timeout) from [<c052c2e8>] (icc_ioctl+0x1278/0x1b58)
[<c052c2e8>] (icc_ioctl) from [<c01e378c>] (do_vfs_ioctl+0x3ec/0x8c8)
[<c01e378c>] (do_vfs_ioctl) from [<c01e3c9c>] (ksys_ioctl+0x34/0x60)
[<c01e3c9c>] (ksys_ioctl) from [<c0101000>] (ret_fast_syscall+0x0/0x54)
Exception stack(0xc94c5fa8 to 0xc94c5ff0)
5fa0:                   beae1b38 b6f4602c 00000003 00006d0f beae1b38 beae1b30
5fc0: beae1b38 b6f4602c 0000017c 00000036 00000000 00000000 00483f80 00000000
5fe0: b6f45ec8 beae1b34 b6f333d3 b6ea5158

Can you please provide some steps to debug this further?

Attached is my device tree if that's helpful:

/*
 * Device tree for RDAU board
 */

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/adi-adsp.h>
#include <dt-bindings/pinctrl/adi-adsp-sru.h>
#include "sc57x.dtsi"

/ {
	model = "ADI sc572-rdau";
	compatible = "adi,sc572-rdau", "adi,sc57x";

	aliases {
		/* serial2 = &uart2; */
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0xF000000>;
	};

	scb {
// 		button0: button@0 {
// 			compatible = "adi,button-led";
// //			en-pins = <&ssw1 2 GPIO_ACTIVE_LOW>,	/* PUSHBUTTON1_EN */
// //			          <&ssw1 3 GPIO_ACTIVE_LOW>;	/* LEDS_EN */
// //			button_gpio = <40>;
// //			led_gpio = <77>;
// 		};
// 		button1: button@1 {
// 			compatible = "adi,button-led";
// //			en-pins = <&ssw1 1 GPIO_ACTIVE_LOW>,	/* PUSHBUTTON2_EN */
// //			          <&ssw1 3 GPIO_ACTIVE_LOW>;	/* LEDS_EN */
// //			button_gpio = <41>;
// //			led_gpio = <9>;
// 		};
// 		button2: button@2 {
// 			compatible = "adi,button-led";
// //			en-pins = <&ssw1 0 GPIO_ACTIVE_LOW>,	/* PUSHBUTTON3_EN */
// //			          <&ssw1 3 GPIO_ACTIVE_LOW>;	/* LEDS_EN */
// //			button_gpio = <42>;
// //			led_gpio = <65>;
// 		};

		core1-rproc@0x3108C000 {
			compatible = "adi,remoteproc";
			reg = <0x28240000 0x2000>,
			      <0x20000000 0x200000>;
			core-id = <1>;
			core-irq = <84>;
			firmware-name = "adi_adsp_core1_fw.ldr";
			interrupts = <GIC_SPI 206 IRQ_TYPE_EDGE_RISING>;
			adi,rcu = <&rcu>;
			adi,l1-da = <0x240000 0x3a0000>;
			adi,l2-da = <0x20080000 0x200C0000>;
			adi,tru = <&tru>;
			adi,tru-master-id = <71>; /* trigger master SOFT4 */
		};

		// core2-rproc@0x3108C000 {
		// 	compatible = "adi,remoteproc";
		// 	reg = <0x28A40000 0x2000>,
		// 	      <0x20000000 0x200000>;
		// 	core-id = <2>;
		// 	core-irq = <85>;
		// 	firmware-name = "adi_adsp_core2_fw.ldr";
		// 	interrupts = <GIC_SPI 206 IRQ_TYPE_EDGE_RISING>;
		// 	adi,rcu = <&rcu>;
		// 	adi,l1-da = <0x240000 0x3a0000>;
		// 	adi,l2-da = <0x20080000 0x200C0000>;
		// 	adi,tru = <&tru>;
		// 	adi,tru-master-id = <72>; /* trigger master SOFT5 */
		// };

		// sound {
		// 	compatible = "sc5xx,asoc-card";
		// 	adi,cpu-dai = <&i2s0>;
		// 	adi,codec = <&adau1962>, <&adau1979>;
		// 	status = "okay";
		// };
	};
};

&tru {
	mcapi_to_a5: channel@0 {
		adi,tru-master-id = <70>; /* trigger master SOFT3 */
		adi,tru-slave-id = <71>; /* TRU0_IRQ3 */
	};
	mcapi_to_sharc0: channel@1 {
		adi,tru-master-id = <71>; /* trigger master SOFT4 */
		adi,tru-slave-id = <75>; /* TRU0_IRQ7 */
	};
	// mcapi_to_sharc1: channel@2 {
	// 	adi,tru-master-id = <72>; /* trigger master SOFT5 */
	// 	adi,tru-slave-id = <79>; /* TRU0_IRQ11 */
	// };
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_default>;
	status = "okay";
};

// &spi0 {
// 	pinctrl-names = "default";
// 	pinctrl-0 = <&spi0_default>;
// 	status = "okay";
// 	cs-gpios = <&gpc 6 GPIO_ACTIVE_LOW>;

// 	spidev@0 {
// 		#address-cells = <1>;
// 		size-cells = <1>;
// 		/* this is actually being used to control a tja1145 can transceiver */
// 		compatible = "rohm,dh2228fv";
// 		spi-max-frequency = <5000000>;
// 		reg = <0>;
// 	};
// };

//TODO: we dont actually want to assign spi to linux, we want to save it for the SHARC core
// &spi0 {
// 	#address-cells = <1>;
// 	#size-cells = <0>;
// 	pinctrl-names = "default";
// 	pinctrl-0 = <&spi0_default>;
// 	status = "okay"; 
	
// 	cs-gpios = <&gpc 4 GPIO_ACTIVE_LOW>, <&gpc 5 GPIO_ACTIVE_LOW>;

// 	// spidev@0 {
// 	// 	#address-cells = <1>;
// 	// 	size-cells = <1>;
// 	// 	/* this is actually being used to control a tja1145 can transceiver */
// 	// 	compatible = "rohm,dh2228fv";
// 	// 	spi-max-frequency = <5000000>;
// 	// 	reg = <0>;
// 	// };
// 	// this works. node 0 and 1 uses the right registers
// 	adc@0 {
// 	compatible = "ti,ads8688", "adi,generic-spidev";
// 	reg = <4>;
// 	// vref-supply = <&vdd_supply>;
// 	spi-max-frequency = <17000000>; //setting frequency to 1MHz, can go up to 17MHz
// 	};

// 	adc@1 {
// 	compatible = "ti,ads8688", "adi,generic-spidev";
// 	reg = <5>;
// 	// vref-supply = <&vdd_supply>;
// 	spi-max-frequency = <17000000>;
// 	};	


// 	// spidev@0 {
// 	// 	#address-cells = <1>;
// 	// 	size-cells = <1>;
// 	// 	/* this is actually being used to control a tja1145 can transceiver */
// 	// 	compatible = "rohm,dh2228fv";
// 	// 	spi-max-frequency = <5000000>;
// 	// 	reg = <0>;
// 	// };
// };


&spi2 {
	pinctrl-names = "default";
	pinctrl-0 = <&spi2_quad>;
	status = "okay";
	cs-gpios = <&gpb 15 GPIO_ACTIVE_LOW>;

	flash: w25q256@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "winbond,w25q256";
		spi-max-frequency = <50000000>;
		reg = <0>;
		spi-cpol;
		spi-cpha;
		spi-tx-bus-width = <4>;
		spi-rx-bus-width = <4>;

		partition@0 {
			label = "uboot (spi)";
			reg = <0x0 0x80000>;
		};
		partition@1 {
			label = "kernel (spi)";
			reg = <0x80000 0x580000>;
		};
		partition@2 {
			label = "root file system (spi)";
			reg = <0x600000 0xa00000>;
		};
		partition@3 {
			label = "software (spi)";
			reg = <0x1000000 0xE84700>;
		};
	};
};

// &i2c0 {
// 	status = "okay";

// 	ssw0: gpio@0x21 {
// 		compatible = "microchip,mcp23017";
// 		gpio-controller;
// 		#gpio-cells = <2>;
// 		reg = <0x21>;

// 		eeprom-en {
// 			gpio-hog;
// 			gpios = <0 0>;
// 			output-high;
// 			line-name = "~eeprom_en";
// 		};

// 		uart0-flow-en {
// 			gpio-hog;
// 			gpios = <1 0>;
// 			output-high;
// 			line-name = "~uart0-flow-en";
// 		};

// 		mlb3-en {
// 			gpio-hog;
// 			gpios = <5 0>;
// 			output-high;
// 			line-name = "~mlb3-en";
// 		};

// 		can0-en {
// 			gpio-hog;
// 			gpios = <6 0>;
// 			output-high;
// 			line-name = "~can0-en";
// 		};

// 		can1-en {
// 			gpio-hog;
// 			gpios = <7 0>;
// 			output-high;
// 			line-name = "~can1-en";
// 		};

// 		adau1962-en {
// 			gpio-hog;
// 			gpios = <8 0>;
// 			output-low;
// 			line-name = "adau1962-en";
// 		};

// 		adau1979-en {
// 			gpio-hog;
// 			gpios = <9 0>;
// 			output-low;
// 			line-name = "adau1979-en";
// 		};

// 		sd-wp-en {
// 			gpio-hog;
// 			gpios = <11 0>;
// 			output-high;
// 			line-name = "~sd-wp-en";
// 		};

// 		spi2flash-cs-en {
// 			gpio-hog;
// 			gpios = <12 0>;
// 			output-low;
// 			line-name = "~spi2flash-cs-en";
// 		};

// 		spi2d2-d3-en {
// 			gpio-hog;
// 			gpios = <13 0>;
// 			output-low;
// 			line-name = "~spi2-d2-d3-en";
// 		};

// 		spdif-optical-en {
// 			gpio-hog;
// 			gpios = <14 0>;
// 			output-high;
// 			line-name = "~spdif-optical-en";
// 		};

// 		spdif-digital-en {
// 			gpio-hog;
// 			gpios = <15 0>;
// 			output-high;
// 			line-name = "~spdif-digital-en";
// 		};

// 	};

// 	ssw1: gpio@0x22 {
// 		compatible = "microchip,mcp23017";
// 		gpio-controller;
// 		#gpio-cells = <2>;
// 		reg = <0x22>;

// 		pushbutton3-en {
// 			gpio-hog;
// 			gpios = <0 0>;
// 			output-high;
// 			line-name = "~pushbutton3-en";
// 		};

// 		pushbutton2-en {
// 			gpio-hog;
// 			gpios = <1 0>;
// 			output-high;
// 			line-name = "~pushbutton2-en";
// 		};

// 		pushbutton1-en {
// 			gpio-hog;
// 			gpios = <2 0>;
// 			output-high;
// 			line-name = "~pushbutton1-en";
// 		};

// 		leds-en {
// 			gpio-hog;
// 			gpios = <3 0>;
// 			output-high;
// 			line-name = "~leds-en";
// 		};

// 		flag0-loop {
// 			gpio-hog;
// 			gpios = <4 0>;
// 			output-high;
// 			line-name = "~flag0-loop";
// 		};

// 		flag1-loop {
// 			gpio-hog;
// 			gpios = <5 0>;
// 			output-high;
// 			line-name = "~flag1-loop";
// 		};

// 		flag2-loop {
// 			gpio-hog;
// 			gpios = <6 0>;
// 			output-high;
// 			line-name = "~flag2-loop";
// 		};

// 		flag3-loop {
// 			gpio-hog;
// 			gpios = <7 0>;
// 			output-high;
// 			line-name = "~flag3-loop";
// 		};

// 		adau1977-en {
// 			gpio-hog;
// 			gpios = <8 0>;
// 			output-high;
// 			line-name = "adau1977-en";
// 		};

// 		adau1977-fault-rst-en {
// 			gpio-hog;
// 			gpios = <9 0>;
// 			output-high;
// 			line-name = "~adau1977-fault-rst-en";
// 		};

// 		thumbwheel-oe {
// 			gpio-hog;
// 			gpios = <10 0>;
// 			output-high;
// 			line-name = "~thumbwheel-oe";
// 		};

// 		engine-rpm-oe {
// 			gpio-hog;
// 			gpios = <11 0>;
// 			output-high;
// 			line-name = "~engine-rpm-oe";
// 		};

// 	};

// 	adau1979: adau1979@0x11 {
// 		compatible = "adi,adau1977";
// 		reg = <0x11>;
// 	};

// 	adau1962: adau1962@0x4 {
// 		compatible = "adi,adau1962";
// 		reg = <0x4>;
// 		reset-gpios = <&gpa 6 GPIO_ACTIVE_LOW>;
// 	};
// };

&i2c1 {
	status = "okay";
};

&i2c2 {
	status = "okay";
};

// &i2s0 {
// 	pinctrl-names = "default";
// 	pinctrl-0 = <&sru_dai0>;
// 	status = "okay";
// };

&crc0 {
	status = "okay";
};

&crc1 {
	status = "okay";
};

&can0 {
	pinctrl-names = "default";
	pinctrl-0 = <&can0_default>;
	phy-name = "tja1055";
	phy-gpios = <&gpa 1 0>,		/* en PA1 */
		    <&gpa 2 0x1>;	/* stb PA2, GPIO_ACTIVE_LOW */
	status = "okay";
};

&can1 {
	pinctrl-names = "default";
	pinctrl-0 = <&can1_default>;
	phy-name = "tja1145";
	phy-spibus = /bits/ 16 <0>;
	phy-spiclk = <1000000>;
	phy-spics = /bits/ 16 <38>;	/* GPIO_PC6 */
	status = "okay";
};

&emac0 {
	// snps,reset-gpio = <&gpa 5 0>;
	// snps,reset-active-low;
	// snps,reset-delays-us = <0 10000 10000>;
	phy-handle = <&lan83c185>;
	phy-mode = "mii";
	pinctrl-names = "default";
	pinctrl-0 = <&eth0_default>;
	status = "okay";
	mdio0 {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;
		lan83c185: ethernet-phy@0 {
			reg = <0>;
			// ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
			// ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
			// ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
			// ti,dp83867-rxctrl-strap-quirk;
		};
	};
};

// &usb0_phy {
// 	status = "okay";
// };

// &usb0 {
// 	mode = <3>; /* OTG port */
// 	status = "okay";
// };

// &mmc0 {
// 	wp-en-pin = <&ssw0 11 GPIO_ACTIVE_LOW>;	/* SD_WP_EN */
// 	bus-width = <4>;
// 	pinctrl-names = "default";
// 	pinctrl-0 = <&mmc0_default>;
// 	status = "okay";
// };

&icc0 {
	status = "okay";
};

&video_decoder {
	pinctrl-names = "8bit", "16bit";
	pinctrl-0 = <&ppi0_8b>;
	pinctrl-1 = <&ppi0_16b>;
	status = "disabled";
};

&video_encoder {
	pinctrl-names = "8bit", "16bit";
	pinctrl-0 = <&ppi0_8b>;
	pinctrl-1 = <&ppi0_16b>;
	status = "disabled";
};

// &gp_counter {
// 	pinctrl-names = "default";
// 	pinctrl-0 = <&cnt0_default>;
// 	enable-pin = <&ssw1 10 GPIO_ACTIVE_LOW>;
// 	status = "okay";
// 	rotary_abs_code = <ABS_WHEEL>;		/* ABS_WHEEL */
// 	rotary_button_key = <KEY_ENTER>;	/* KEY_ENTER */
// 	debounce = /bits/ 16 <10>;			/* Debounce Prescale 0-17 */
// 	debounce_en = /bits/ 16 <1>;		/* Debounce Enable */
// 	cnt_mode = /bits/ 16 <QUAD_ENC>;	/* Counter Operating Mode: QUADENC */
// 	boundary_mode = /bits/ 16 <BD_COMP>;/* Boundary Register Mode: COMP */
// 	boundary_ranges =  <(-256) 256>;	/* Boundary upper/lower ranges */
// 	czm_zero_cnt_en = /bits/ 16 <1>;	/* CZM Pin Zeroes Counter Enable */
// 	invert_czm = /bits/ 16 <1>;			/* Default value of CZM Pin Polarity */
// 	invert_cud = /bits/ 16 <0>;			/* Default value of CUD Pin Polarity */
// 	invert_cdg = /bits/ 16 <0>;			/* Default value of CDG Pin Polarity */
// };

// &lp0 {
// 	pinctrl-names = "default";
// 	pinctrl-0 = <&lp0_default>;
// 	status = "okay";
// };

// &lp1 {
// 	pinctrl-names = "default";
// 	pinctrl-0 = <&lp1_default>;
// 	status = "okay";
// };

&sram_mmap {
	status = "okay";
};

&pinctrl0 {
	uart0_default: uart0_default_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('F', 8, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('F', 9, ADI_ADSP_PINFUNC_ALT0)>;
		};
	};
	uart0_hwflow: uart0_hwflow_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('F', 8, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('F', 9, ADI_ADSP_PINFUNC_ALT0)>,
					 <ADI_ADSP_PINMUX('D', 5, ADI_ADSP_PINFUNC_ALT2)>,
					 <ADI_ADSP_PINMUX('D', 6, ADI_ADSP_PINFUNC_ALT2)>;
		};
	};
	eth0_default: eth0_default_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('B', 7, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 8, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 6, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 5, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('A', 13, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('A', 12, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('A', 14, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('A', 15, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 9, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 4, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 0, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 2, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('A', 10, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('A', 11, ADI_ADSP_PINFUNC_ALT0)>;
		};
	};
	spi0_default: spi0_default_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('C', 1, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('C', 2, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('C', 3, ADI_ADSP_PINFUNC_ALT0)>;
		};
	};
	spi2_quad: spi2_quad_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('B', 14, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 10, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 11, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 12, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('B', 13, ADI_ADSP_PINFUNC_ALT0)>;
		};
	};
	can0_default: can0_default_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('C', 12, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('C', 13, ADI_ADSP_PINFUNC_ALT0)>;

		};
	};
	can1_default: can1_default_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('C', 14, ADI_ADSP_PINFUNC_ALT0)>,
			         <ADI_ADSP_PINMUX('C', 15, ADI_ADSP_PINFUNC_ALT0)>;
		};
	};
	// mmc0_default: mmc0_default_pins {
	// 	pins {
	// 		pinmux = <ADI_ADSP_PINMUX('E', 12, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('E', 13, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('E', 14, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('E', 15, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('F', 0, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('F', 1, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('F', 2, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('F', 3, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('F', 4, ADI_ADSP_PINFUNC_ALT0)>,
    //                  <ADI_ADSP_PINMUX('F', 7, ADI_ADSP_PINFUNC_ALT2)>,
    //                  <ADI_ADSP_PINMUX('C', 12, ADI_ADSP_PINFUNC_ALT1)>;
	// 	};
	// };
	ppi0_8b: ppi0_8b_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('D', 10, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 11, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 12, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 13, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 14, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 15, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 5, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 9, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 11, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 14, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 15, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 6, ADI_ADSP_PINFUNC_ALT2)>;
		};
	};
	ppi0_16b: ppi0_16b_pins {
		pins {
			pinmux = <ADI_ADSP_PINMUX('D', 10, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 11, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 12, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 13, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 14, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 15, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 5, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('D', 9, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 1, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 2, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 3, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 4, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('E', 0, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 7, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 8, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('E', 1, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 11, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 14, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 15, ADI_ADSP_PINFUNC_ALT1)>,
                     <ADI_ADSP_PINMUX('C', 6, ADI_ADSP_PINFUNC_ALT2)>;
		};
	};
	cnt0_default: cnt0_default_pins {
		pinmux = <ADI_ADSP_PINMUX('D', 7, ADI_ADSP_PINFUNC_ALT1)>,
		         <ADI_ADSP_PINMUX('E', 13, ADI_ADSP_PINFUNC_ALT2)>,
		         <ADI_ADSP_PINMUX('D', 8, ADI_ADSP_PINFUNC_ALT1)>;
	};
	// lp0_default: lp0_default_pins {
	// 	pinmux = <ADI_ADSP_PINMUX('E', 4, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 5, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 6, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 7, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 8, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 9, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 10, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 11, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 2, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('E', 3, ADI_ADSP_PINFUNC_ALT0)>;
	// };
	// lp1_default: lp1_default_pins {
	// 	pinmux = <ADI_ADSP_PINMUX('D', 10, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('D', 11, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('D', 12, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('D', 13, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('D', 14, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('D', 15, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('A', 9, ADI_ADSP_PINFUNC_ALT1)>,
	// 	         <ADI_ADSP_PINMUX('D', 9, ADI_ADSP_PINFUNC_ALT0)>,
	// 	         <ADI_ADSP_PINMUX('B', 3, ADI_ADSP_PINFUNC_ALT2)>,
	// 	         <ADI_ADSP_PINMUX('B', 1, ADI_ADSP_PINFUNC_ALT2)>;
	// };
};

&sru_ctrl_dai0 {
	status = "okay";

	sru_dai0: sru_dai0_mux {
		route {
			sru-routing =
				<DAI0_LOW_F          DAI0_PBEN02_I>,  /* set DAI0_PIN02 to input */
				<DAI0_PB02_O_ABCDE   SPT0_ACLK_I>,    /* route DAI0_PIN02 to SPT0_ACLK */
				<DAI0_LOW_F          DAI0_PBEN04_I>,  /* set DAI0_PIN04 to input */
				<DAI0_PB04_O_ABCDE   SPT0_AFS_I>,     /* route DAI0_PIN04 to SPT0_AFS */
				<DAI0_HIGH_F         DAI0_PBEN01_I>,  /* set DAI0_PIN01 to output */
				<SPT0_AD0_O_BD       DAI0_PB01_I>,    /* route SPT4_AD0 to DAI0_PIN01 */
				<DAI0_LOW_F          DAI0_PBEN12_I>,  /* set DAI0_PIN12 to input */
				<DAI0_PB12_O_ABCDE   SPT0_BCLK_I>,    /* route DAI0_PIN12 to SPT0_BCLK */
				<DAI0_LOW_F          DAI0_PBEN20_I>,  /* set DAI0_PIN20 to input */
				<DAI0_PB20_O_ABCDE   SPT0_BFS_I>,     /* route DAI0_PIN20 to SPT0_BFS */
				<DAI0_LOW_F          DAI0_PBEN06_I>,  /* set DAI0_PIN06 to input */
				<DAI0_PB06_O_ABCDE   SPT0_BD0_I>;     /* route DAI0_PIN06 to SPT0_BD0 */
		};
	};
};

&sru_ctrl_dai1 {
	status = "okay";
};

Cheers