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.

DRA71XEVM: DRA711 Board: VisionSDK earlyboot lateattach IPU2 mmufault

Part Number: DRA71XEVM
Other Parts Discussed in Thread: DRA718, DRA722

hi all experts,

my board is custom board with soc DRA711, and DDR3 is 512M, now i port earlyboot with VisionSDK0304 from J6entry EVM board.

now i encounter IPU2 lateattach mmufault, kernel log as following:

--------------------------------------------------------------------------------------------------------------------------------

[root@x ~]# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.54-01924-gfacc25e0-dirty (fanchenxin@hp) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #1 SMP PREEMPT Tue Apr 7 15:24:31 CST 2020
[    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: TI DRA718 DCARD
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000040300000, size 3 MiB
[    0.000000] OF: reserved mem: initialized node cmem@40300000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000084000000, size 128 MiB
[    0.000000] OF: reserved mem: initialized node vsdk_sr1_mem@84000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000095000000, size 80 MiB
[    0.000000] OF: reserved mem: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009a000000, size 28 MiB
[    0.000000] OF: reserved mem: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009c000000, size 16 MiB
[    0.000000] OF: reserved mem: initialized node png_resource_mem@9C000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
[    0.000000] OF: reserved mem: initialized node cmem@9D000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009f000000, size 5 MiB
[    0.000000] OF: reserved mem: initialized node vsdk_sr0_mem@9F000000, compatible id shared-dma-pool
[    0.000000] cma: Reserved 64 MiB at 0x0000000091000000
[    0.000000] OMAP4: Map 0x000000009fd00000 to fe600000 for dram barrier
[    0.000000] Hit pending asynchronous external abort (FSR=0x00000211) during first unmask, this is most likely caused by a firmware/bootloader bug.
[    0.000000] On node 0 totalpages: 56064
[    0.000000] free_area_init_node: node 0, pgdat c0c34000, node_mem_map d0b80000
[    0.000000]   DMA zone: 1146 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 56064 pages, LIFO batch:15
[    0.000000] DRA722 ES2.1
[    0.000000] percpu: Embedded 15 pages/cpu @dfc7c000 s31116 r8192 d22132 u61440
[    0.000000] pcpu-alloc: s31116 r8192 d22132 u61440 alloc=15*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 54918
[    0.000000] Kernel command line: console=ttyS2,115200n8 elevator=noop root=PARTUUID=2966335c-02 rw rootwait  fixrtc omapdrm.num_crtc=2 consoleblank=0 cma=64M rootfstype=ext4 snd.slots_reserved=1,1
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 145028K/224256K available (6144K kernel code, 216K rwdata, 1608K rodata, 2048K init, 371K bss, 13692K reserved, 65536K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0000000 - 0xff800000   ( 504 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xdfd00000   ( 509 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0800000   (8160 kB)
[    0.000000]       .init : 0xc0a00000 - 0xc0c00000   (2048 kB)
[    0.000000]       .data : 0xc0c00000 - 0xc0c363c0   ( 217 kB)
[    0.000000]        .bss : 0xc0c38000 - 0xc0c94d14   ( 372 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[    0.000000]  Tasks RCU enabled.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] OMAP clockevent source: timer1 at 31475 Hz
[    0.000000] arch_timer: cp15 timer(s) running at 5.90MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x15c70fb29, max_idle_ns: 440795202138 ns
[    0.000005] sched_clock: 56 bits at 5MHz, resolution 169ns, wraps every 4398046511093ns
[    0.000014] Switching to timer-based delay loop, resolution 169ns
[    0.000335] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.000340] OMAP clocksource: 32k_counter at 32768 Hz
[    0.000737] Console: colour dummy device 80x30
[    0.000759] Calibrating delay loop (skipped), value calculated using timer frequency.. 11.80 BogoMIPS (lpj=59016)
[    0.000773] pid_max: default: 32768 minimum: 301
[    0.000877] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000885] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001362] CPU: Testing write buffer coherency: ok
[    0.001569] /cpus/cpu@0 missing clock-frequency property
[    0.001579] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.039875] Setting up static identity map for 0x80200000 - 0x80200060
[    0.059878] Hierarchical SRCU implementation.
[    0.099930] smp: Bringing up secondary CPUs ...
[    0.099937] smp: Brought up 1 node, 1 CPU
[    0.099944] SMP: Total of 1 processors activated (11.80 BogoMIPS).
[    0.099950] CPU: All CPU(s) started in HYP mode.
[    0.099954] CPU: Virtualization extensions available.
[    0.100251] devtmpfs: initialized
[    0.116095] random: get_random_u32 called from bucket_table_alloc+0x108/0x230 with crng_init=0
[    0.116212] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    0.116401] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.116414] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.117800] pinctrl core: initialized pinctrl subsystem
[    0.118346] NET: Registered protocol family 16
[    0.120785] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.121436] omap_hwmod: l3_main_2 using broken dt data from ocp
[    0.172434] cpuidle: using governor ladder
[    0.172463] cpuidle: using governor menu
[    0.178898] platform 43300000.edma: Cannot lookup hwmod 'tpcc'
[    0.179157] platform 43400000.tptc: Cannot lookup hwmod 'tptc0'
[    0.179419] platform 43500000.tptc: Cannot lookup hwmod 'tptc1'
[    0.180095] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
[    0.180160] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
[    0.180223] OMAP GPIO hardware version 0.1
[    0.180881] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
[    0.180943] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
[    0.181592] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
[    0.181653] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
[    0.182313] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
[    0.182378] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
[    0.183028] gpio gpiochip4: (gpio): added GPIO chardev (254:4)
[    0.183093] gpiochip_setup_dev: registered GPIOs 128 to 159 on device: gpiochip4 (gpio)
[    0.183745] gpio gpiochip5: (gpio): added GPIO chardev (254:5)
[    0.183804] gpiochip_setup_dev: registered GPIOs 160 to 191 on device: gpiochip5 (gpio)
[    0.184455] gpio gpiochip6: (gpio): added GPIO chardev (254:6)
[    0.184516] gpiochip_setup_dev: registered GPIOs 192 to 223 on device: gpiochip6 (gpio)
[    0.185180] gpio gpiochip7: (gpio): added GPIO chardev (254:7)
[    0.185241] gpiochip_setup_dev: registered GPIOs 224 to 255 on device: gpiochip7 (gpio)
[    0.195383] platform 4a140000.sata: Cannot lookup hwmod 'sata'
[    0.197403] platform 4b500000.aes: Cannot lookup hwmod 'aes1'
[    0.197665] platform 4b700000.aes: Cannot lookup hwmod 'aes2'
[    0.197928] platform 480a5000.des: Cannot lookup hwmod 'des'
[    0.198185] platform 4b101000.sham: Cannot lookup hwmod 'sham'
[    0.198448] platform 48090000.rng: Cannot lookup hwmod 'rng'
[    0.200404] No ATAGs?
[    0.200445] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.200451] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.200800] omap4_sram_init:Unable to allocate sram needed to handle errata I688
[    0.200807] omap4_sram_init:Unable to get sram pool needed to handle errata I688
[    0.201038] OMAP DMA hardware revision 0.0
[    0.231092] edma3-tptc 43400000.tptc: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info
[    0.231149] edma3-tptc 43500000.tptc: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info
[    0.231346] edma 43300000.edma: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info
[    0.231355] edma 43300000.edma: pm_runtime_get_sync() failed
[    0.238296] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
[    0.238686] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-sd[0]'
[    0.238875] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/smps4[0]'
[    0.240486] omap-iommu 58882000.mmu: 58882000.mmu registered
[    0.240716] omap-iommu 55082000.mmu: 55082000.mmu registered
[    0.240966] iommu: Adding device 55020000.ipu to group 1
[    0.241651] omap_i2c 48070000.i2c: bus 0 rev0.12 at 100 kHz
[    0.241782] media: Linux media interface: v0.10
[    0.241819] Linux video capture interface: v2.00
[    0.241858] pps_core: LinuxPPS API ver. 1 registered
[    0.241864] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.241880] PTP clock support registered
[    0.242333] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
[    0.242535] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
[    0.250430] clocksource: Switched to clocksource arch_sys_counter
[    0.252967] NET: Registered protocol family 2
[    0.253452] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.253475] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[    0.253511] TCP: Hash tables configured (established 2048 bind 2048)
[    0.253574] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.253593] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.253718] NET: Registered protocol family 1
[    0.254452] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    0.254571] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[    0.255465] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    0.260522] io scheduler noop registered (default)
[    0.260530] io scheduler deadline registered
[    0.265215] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
[    0.265314] pinctrl-single 4a002e8c.pinmux: please update dts to use #pinctrl-cells = <1>
[    0.265378] pinctrl-single 4a002e8c.pinmux: initialized with no interrupts
[    0.265386] pinctrl-single 4a002e8c.pinmux: 1 pins at pa fc002e8c size 4
[    0.270173] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    0.272314] console [ttyS2] disabled
[    0.272360] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 43, base_baud = 3000000) is a 8250
[    0.272444] console [ttyS2] enabled
[    0.273657] omap_rng 48090000.rng: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info
[    0.273670] omap_rng 48090000.rng: Failed to runtime_get device: -19
[    0.273677] omap_rng 48090000.rng: initialization failed.
[    0.274395] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.274401] [drm] No driver support for vblank timestamp query.
[    0.274539] [drm] Initialized omapdrm 1.0.0 20110917 for 44000000.ocp:vdrm@0 on minor 0
[    0.274999] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.275004] [drm] No driver support for vblank timestamp query.
[    0.275120] [drm] Initialized omapdrm 1.0.0 20110917 for 44000000.ocp:vdrm@1 on minor 1
[    0.275559] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.275564] [drm] No driver support for vblank timestamp query.
[    0.275684] [drm] Initialized omapdrm 1.0.0 20110917 for 44000000.ocp:vdrm@2 on minor 2
[    0.282830] brd: module loaded
[    0.285955] loop: module loaded
[    0.286795] i2c /dev entries driver
[    0.290305] cpu cpu0: dev_pm_opp_set_regulators: no regulator (vdd) found: -19
[    0.291022] sdhci-omap 4809c000.mmc: GPIO lookup for consumer cd
[    0.291030] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
[    0.291042] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@4809c000[0]'
[    0.291052] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@4809c000[0]'
[    0.291059] sdhci-omap 4809c000.mmc: using lookup tables for GPIO lookup
[    0.291067] sdhci-omap 4809c000.mmc: lookup for GPIO cd failed
[    0.291076] sdhci-omap 4809c000.mmc: GPIO lookup for consumer wp
[    0.291082] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
[    0.291092] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@4809c000[0]'
[    0.291100] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@4809c000[0]'
[    0.291107] sdhci-omap 4809c000.mmc: using lookup tables for GPIO lookup
[    0.291114] sdhci-omap 4809c000.mmc: lookup for GPIO wp failed
[    0.291246] sdhci-omap 4809c000.mmc: 4809c000.mmc supply vqmmc not found, using dummy regulator
[    0.291454] sdhci-omap 4809c000.mmc: no pinctrl state for sdr104 mode
[    0.291462] sdhci-omap 4809c000.mmc: no pinctrl state for ddr50 mode
[    0.291469] sdhci-omap 4809c000.mmc: no pinctrl state for sdr50 mode
[    0.291475] sdhci-omap 4809c000.mmc: no pinctrl state for sdr25 mode
[    0.291482] sdhci-omap 4809c000.mmc: no pinctrl state for sdr12 mode
[    0.291488] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_1_8v mode
[    0.291496] sdhci-omap 4809c000.mmc: no pinctrl state for hs200_1_8v mode
[    0.350474] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
[    0.354363] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
[    0.354429] remoteproc remoteproc0: 55020000.ipu is available
[    0.354857] NET: Registered protocol family 17
[    0.354875] NET: Registered protocol family 44
[    0.354986] omap_voltage_late_init: Voltage driver support not added
[    0.354992] Power Management for TI OMAP4+ devices.
[    0.355201] Registering SWP/SWPB emulation handler
[    0.358734] [drm] Initialized pvr 1.14.3699939 20110701 for 56000000.gpu on minor 3
[    0.367892] remoteproc remoteproc0: Direct firmware load for dra7-ipu2-fw.xem4 failed with error -2
[    0.367900] remoteproc remoteproc0: Falling back to user helper
[    0.378204] hctosys: unable to open rtc device (rtc0)
[    0.378841] Waiting for root device PARTUUID=2966335c-02...
[    0.397528] mmc0: host does not support reading read-only switch, assuming write-enable
[    0.399449] mmc0: new high speed SDHC card at address b368
[    0.399738] mmcblk0: mmc0:b368 NCard 7.48 GiB
[    0.400786]  mmcblk0: p1 p2
[    0.450801] EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended
[    0.455322] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    0.455358] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    0.459129] devtmpfs: mounted
[    0.460407] Freeing unused kernel memory: 2048K
[    0.616029] memcache: loading out-of-tree module taints kernel.
[    0.616368] DMA: Module install successful, device major num = 244
[    0.616373] DRV: Module install successful
[    0.632644] CMEMK module: reference Linux version 4.14.54
[    0.633807] allocated heap buffer 0x97000000 of size 0x2000000
[    0.633836] cmemk initialized
[    0.639964] random: fast init done
[    0.648439] omap_l3_noc 44000000.ocp: L3 application error: target 5 mod:1 (unclearable)
[    0.648453] omap_l3_noc 44000000.ocp: L3 debug error: target 5 mod:1 (unclearable)
[    0.733869] pvr: UM DDK-(3699939) and KM DDK-(3699939) match
[    1.056439] remoteproc remoteproc0: powering up 55020000.ipu
[    1.056453] remoteproc remoteproc0: Booting fw image dra7-ipu2-fw.xem4, size 3411420
[    1.057137] virtio_rpmsg_bus virtio0: buffers: va e1240000, dma 0x95040000
[    1.057330] virtio_rpmsg_bus virtio0: rpmsg host is online
[    1.057363] remoteproc remoteproc0: registered virtio0 (type 7)
[    1.057371] remoteproc remoteproc0: remote processor 55020000.ipu is now up
[    1.069895] omap-iommu 55082000.mmu: iommu fault: da 0x95d52c00 flags 0x0
[    1.069906] remoteproc remoteproc0: crash detected in 55020000.ipu: type mmufault
[    1.069922] omap-iommu 55082000.mmu: 55082000.mmu: errs:0x00000002 da:0x95d52c00 pgd:0xe66f2574 *pgd:px00000000
[    1.069939] remoteproc remoteproc0: handling crash #1 in 55020000.ipu
[    1.069946] remoteproc remoteproc0: recovering 55020000.ipu
[    1.070474] remoteproc remoteproc0: stopped remote processor 55020000.ipu
[    1.070483] remoteproc remoteproc0: powering up 55020000.ipu
[    1.078710] remoteproc remoteproc0: Booting fw image dra7-ipu2-fw.xem4, size 3411420
[    1.078792] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
[    1.138897] virtio_rpmsg_bus virtio0: buffers: va e1240000, dma 0x95040000
[    1.139913] virtio_rpmsg_bus virtio0: rpmsg host is online
[    1.140012] remoteproc remoteproc0: registered virtio0 (type 7)
[    1.140021] remoteproc remoteproc0: remote processor 55020000.ipu is now up
[    1.190059] omap-rproc 55020000.ipu: received echo reply from 55020000.ipu
[    1.190363] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x50
[    1.395137] omap_l3_noc 44000000.ocp: L3 application error: target 3 mod:2 (unclearable)
[    1.395152] omap_l3_noc 44000000.ocp: L3 debug error: target 3 mod:2 (unclearable)

 

---------------------------------------------------------------------------------------------------------

and IPU2 have XDC error as following:

 

 [HOST] [IPU2  ]      2.576709 s: Connection established with HLOS, calling rpmsgInit
 [HOST] [IPU2  ]      2.576953 s:
 [HOST] [IPU2  ]      2.577014 s:  ### XDC ASSERT - ERROR CALLBACK START ###
 [HOST] [IPU2  ]      2.577075 s:
[core 1.083491707]Start loop with fastest frame rate
[render 1.117932473]missing resource: cluster/logo_mask.png
 [HOST] [IPU2  ]      2.649118 s: [IPU2, TDA2EX]IPU_primary_core_init In progress....
program id = 210003
 [HOST] [IPU2  ]      2.677118 s:  ***** IPU2 Firmware build time 17:08:13 Apr  7 2020
 [HOST] [IPU2  ]      2.677301 s:  *** SYSTEM: CPU Frequency <ORG = 212800000 Hz>, <NEW = 221600000 Hz>
 [HOST] [IPU2  ]      2.680046 s:  SYSTEM: System Common Init in progress !!!
 [HOST] [IPU2  ]      2.689196 s:  UTILS: CIO: Init Done !!!

 

could anyone give me a hint about this problem?

 

best regards!

  • Hi 

    I see , Linux version 4.14.54-01924 in the dmesg log. VisionSDK 3.05 is based on k4.4

    Have you taken care of all the required late-attach patches on this kernel?

    Does this work properly on DDR 1GB?

    Is it possible to add prints in RTOS and check what is causing the XDC error?

    Thanks

    RamPrasad

  • hi RamPrasad,

    Thanks for your reply, yes we can work well on DDR 1GB, and XDC error is occur in second boot of IPU2 by kernel recovery, so the first boot of IPU2

    encounter the MMUFault is the point, as following log:

    [    1.069895] omap-iommu 55082000.mmu: iommu fault: da 0x95d52c00 flags 0x0
    [    1.069906] remoteproc remoteproc0: crash detected in 55020000.ipu: type mmufault
    [    1.069922] omap-iommu 55082000.mmu: 55082000.mmu: errs:0x00000002 da:0x95d52c00 pgd:0xe66f2574 *pgd:px00000000
    [    1.069939] remoteproc remoteproc0: handling crash #1 in 55020000.ipu

    IPU2 crash with MMUFault, Could you please give me a hint about this Error?

    best regards!

  • Hi RamPrasad,

    when kernel start, bus fault occured, as our DDR3 is 512M, so i modify the visionsdk memory segment according the document: VisionSDK_UserGuide_MemoryMap.pdf

    Bus fault log as following:

    [HOST] [IPU2  ]      2.617062 s: Connection established with HLOS, calling rpmsgInit
     [HOST] [IPU2  ]      2.617306 s:
     [HOST] [IPU2  ]      2.617336 s:  ### XDC ASSERT - ERROR CALLBACK START ###
     [HOST] [IPU2  ]      2.617428 s:
     [HOST] [IPU2  ]      2.617550 s: E_hardFault: FORCED
     [HOST] [IPU2  ]      2.617611 s:
     [HOST] [IPU2  ]      2.617641 s:  ### XDC ASSERT - ERROR CALLBACK END ###
     [HOST] [IPU2  ]      2.617702 s:
     [HOST] [IPU2  ]      2.617916 s:
     [HOST] [IPU2  ]      2.617946 s:  ### XDC ASSERT - ERROR CALLBACK START ###
     [HOST] [IPU2  ]      2.618007 s:
     [HOST] [IPU2  ]      2.618099 s: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 60002000
     [HOST] [IPU2  ]      2.618221 s:
     [HOST] [IPU2  ]      2.618251 s:  ### XDC ASSERT - ERROR CALLBACK END ###
     [HOST] [IPU2  ]      2.618312 s:

    if i halt the kernel boot, IPU2 will work ok.

    then i debug MMU according "document:

    As a temporary debug measure, we can configure the MMU to generate an interrupt to the remotecore itself by changing the below lines in board/ti/dra7xx/lateattach.c from

    <source lang="c">reg = __raw_readl(mmu_base + 0x88);

    /* enable bus-error back */ __raw_writel(reg | 0x1, mmu_base + 0x88);</source> to

    <source lang="c">reg = __raw_readl(mmu_base + 0x88);

    /* enable bus-error back */ __raw_writel((reg & (~0x1)), mmu_base + 0x88);

    "

    then i got the log, it is also occured in address 0x60002000

    [    2.118229] remoteproc remoteproc0: Booting fw image dra7-ipu2-fw.xem4, size 3411420
    [    2.126972] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    2.132509] omap-iommu 55082000.mmu: iommu fault: da 0x60002000 flags 0x0
    [    2.132515] remoteproc remoteproc0: crash detected in 55020000.ipu: type mmufault
    [    2.132524] omap-iommu 55082000.mmu: 55082000.mmu: errs:0x00000002 da:0x60002000 pgd:0xe11a9800 *pgd:px00000000
    [    2.159299] remoteproc remoteproc0: registered virtio0 (type 7)
    [    2.167105] remoteproc remoteproc0: remote processor 55020000.ipu is now up
    [    2.174669] remoteproc remoteproc0: handling crash #1 in 55020000.ipu
    [   24.400406] random: fast init done

    best regards!

  • hi RamPrasad,

    we figure out the problem, as kernel cma alloc memory overlay the SR0 reserved memory.

    best regards!