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.

AM5716: DSP timer hangs A15 during boot

Part Number: AM5716
Other Parts Discussed in Thread: AM5718, SYSBIOS

Hi all,

I'm currently using the DSP core (TI RTOS) of the AM5716 and requires to use a timer ISR for a certain process for my project. This project also requires the use of the A15 core (Linux SDK), all the other processors are not in use.

My code is running fine without creating the timer, however when I tried to create the timer, the A15 core hangs during boot up.

The following is the Linux kernel output during boot

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.94-gbe5389fd85 (acb@SmarlinsDev) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 SMP PREEMPT Tue Mar 16 09:24:06 +08 2021
[ 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 AM5718 IDK
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
[ 0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, 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 ipu1-memory@9d000000, compatible id shared-dma-pool
[ 0.000000] cma: Reserved 24 MiB at 0x00000000be400000
[ 0.000000] OMAP4: Map 0x00000000bfd00000 to (ptrval) for dram barrier
[ 0.000000] DRA722 ES2.0
[ 0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
[ 0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 202048
[ 0.000000] Kernel command line: console=ttyO2,115200n8 root=PARTUUID=fa15e8ed-02 rw rootfstype=ext4 rootwait
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 641904K/815104K available (10240K kernel code, 335K rwdata, 2804K rodata, 2048K init, 268K bss, 25744K reserved, 147456K cma-reserved, 234496K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (12256 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (2048 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 336 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 269 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: 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] OMAP clockevent source: timer1 at 32786 Hz
[ 0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
[ 0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
[ 0.000019] Switching to timer-based delay loop, resolution 162ns
[ 0.000296] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[ 0.000305] OMAP clocksource: 32k_counter at 32768 Hz
[ 0.000778] Console: colour dummy device 80x30
[ 0.000797] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'
[ 0.000806] This ensures that you still see kernel messages. Please
[ 0.000813] update your kernel commandline.
[ 0.000847] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
[ 0.000860] pid_max: default: 32768 minimum: 301
[ 0.000981] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000995] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001566] CPU: Testing write buffer coherency: ok
[ 0.001602] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[ 0.001829] /cpus/cpu@0 missing clock-frequency property
[ 0.001844] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.059888] Setting up static identity map for 0x80200000 - 0x80200060
[ 0.079894] rcu: Hierarchical SRCU implementation.
[ 0.100081] EFI services will not be available.
[ 0.119955] smp: Bringing up secondary CPUs ...
[ 0.119968] smp: Brought up 1 node, 1 CPU
[ 0.119978] SMP: Total of 1 processors activated (12.29 BogoMIPS).
[ 0.119986] CPU: All CPU(s) started in SVC mode.
[ 0.120421] devtmpfs: initialized
[ 0.140114] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[ 0.140408] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.140427] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.143031] pinctrl core: initialized pinctrl subsystem
[ 0.143582] DMI not present or invalid.
[ 0.143853] NET: Registered protocol family 16
[ 0.150923] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.151857] omap_hwmod: l3_main_2 using broken dt data from ocp
[ 0.276562] omap_hwmod: gpu: _wait_target_ready failed: -16
[ 0.276577] omap_hwmod: gpu: cannot be enabled for reset (3)
[ 0.345214] cpuidle: using governor ladder
[ 0.345250] cpuidle: using governor menu
[ 0.356080] OMAP GPIO hardware version 0.1
[ 0.359485] GPIO line 175 (RS422RE) hogged as output/low
[ 0.379514] No ATAGs?
[ 0.379559] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.379575] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.380490] OMAP DMA hardware revision 0.0
[ 0.412612] edma 43300000.edma: memcpy is disabled
[ 0.415946] edma 43300000.edma: TI EDMA DMA engine driver
[ 0.423114] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
[ 0.426755] omap-iommu 40d01000.mmu: 40d01000.mmu registered
[ 0.426944] omap-iommu 40d02000.mmu: 40d02000.mmu registered
[ 0.427196] omap-iommu 58882000.mmu: 58882000.mmu registered
[ 0.427449] omap-iommu 55082000.mmu: 55082000.mmu registered
[ 0.427819] iommu: Adding device 58820000.ipu to group 1
[ 0.427904] iommu: Adding device 55020000.ipu to group 2
[ 0.428033] iommu: Adding device 40800000.dsp to group 0
[ 0.429267] SCSI subsystem initialized
[ 0.430367] palmas 0-0058: Irq flag is 0x00000004
[ 0.462291] palmas 0-0058: Muxing GPIO 2f, PWM 0, LED 0
[ 0.463998] SMPS12: supplied by regulator-dummy
[ 0.465673] SMPS3: supplied by VMAIN
[ 0.467222] SMPS45: supplied by regulator-dummy
[ 0.469026] SMPS6: supplied by VMAIN
[ 0.470704] SMPS7: supplied by VMAIN
[ 0.472501] SMPS8: supplied by VMAIN
[ 0.473736] SMPS9: supplied by VMAIN
[ 0.474674] LDO1: supplied by VMAIN
[ 0.481015] random: fast init done
[ 0.481277] LDO2: supplied by VMAIN
[ 0.491148] LDO3: supplied by VMAIN
[ 0.501159] LDO4: supplied by VMAIN
[ 0.511188] LDO5: supplied by regulator-dummy
[ 0.511866] LDO6: supplied by regulator-dummy
[ 0.512535] LDO7: supplied by regulator-dummy
[ 0.513210] LDO8: supplied by regulator-dummy
[ 0.513875] LDO9: supplied by VMAIN
[ 0.521497] LDOLN: supplied by VMAIN
[ 0.531202] LDOUSB: supplied by VMAIN
[ 0.543696] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
[ 0.543915] media: Linux media interface: v0.10
[ 0.543963] videodev: Linux video capture interface: v2.00
[ 0.544046] pps_core: LinuxPPS API ver. 1 registered
[ 0.544056] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.544080] PTP clock support registered
[ 0.544110] EDAC MC: Ver: 3.0.0
[ 0.551310] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
[ 0.551498] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
[ 0.560849] Advanced Linux Sound Architecture Driver Initialized.
[ 0.561678] clocksource: Switched to clocksource arch_sys_counter
[ 0.569888] NET: Registered protocol family 2
[ 0.570485] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[ 0.570516] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.570579] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.570879] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.570961] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.571000] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.571135] NET: Registered protocol family 1
[ 0.601621] RPC: Registered named UNIX socket transport module.
[ 0.601632] RPC: Registered udp transport module.
[ 0.601640] RPC: Registered tcp transport module.
[ 0.601649] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.602900] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[ 0.603840] Initialise system trusted keyrings
[ 0.604004] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[ 0.609058] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.619591] NFS: Registering the id_resolver key type
[ 0.619617] Key type id_resolver registered
[ 0.619627] Key type id_legacy registered
[ 0.619666] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.621744] Key type asymmetric registered
[ 0.621757] Asymmetric key parser 'x509' registered
[ 0.621806] bounce: pool size: 64 pages
[ 0.621844] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.621855] io scheduler noop registered
[ 0.621864] io scheduler deadline registered
[ 0.621970] io scheduler cfq registered (default)
[ 0.621981] io scheduler mq-deadline registered
[ 0.621991] io scheduler kyber registered
[ 0.627887] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
[ 0.628048] pinctrl-single 4a002e8c.pinmux: please update dts to use #pinctrl-cells = <1>
[ 0.628102] pinctrl-single 4a002e8c.pinmux: initialized with no interrupts
[ 0.628114] pinctrl-single 4a002e8c.pinmux: 1 pins, size 4
[ 0.653226] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
[ 0.653683] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
[ 0.653725] dra7-pcie 51000000.pcie: IO 0x20003000..0x20012fff -> 0x00000000
[ 0.653752] dra7-pcie 51000000.pcie: MEM 0x20013000..0x2fffffff -> 0x20013000
[ 1.654030] dra7-pcie 51000000.pcie: Phy link never came up
[ 1.654174] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
[ 1.654190] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 1.654202] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 1.654213] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
[ 1.660320] PCI: bus0: Fast back to back transfers disabled
[ 1.665977] PCI: bus1: Fast back to back transfers enabled
[ 1.666024] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
[ 1.666045] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 1.666380] pcieport 0000:00:00.0: Signaling PME with IRQ 169
[ 1.666511] pcieport 0000:00:00.0: AER enabled with IRQ 169
[ 1.670205] V3_3D: supplied by smps9
[ 1.670453] vtt_fixed: supplied by V3_3D
[ 1.715571] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 1.719282] 4806c000.serial: ttyS1 at MMIO 0x4806c000 (irq = 45, base_baud = 3000000) is a 8250
[ 1.720270] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
[ 2.781874] console [ttyS2] enabled
[ 2.786356] 4806e000.serial: ttyS3 at MMIO 0x4806e000 (irq = 47, base_baud = 3000000) is a 8250
[ 2.796063] 48068000.serial: ttyS5 at MMIO 0x48068000 (irq = 48, base_baud = 3000000) is a 8250
[ 2.807038] omap_rng 48090000.rng: Random Number Generator ver. 20
[ 2.813467] random: crng init done
[ 2.831011] brd: module loaded
[ 2.840491] loop: module loaded
[ 2.848835] libphy: Fixed MDIO Bus: probed
[ 2.911717] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 2.919413] davinci_mdio 48485000.mdio: detected phy mask fffffffe
[ 2.927978] libphy: 48485000.mdio: probed
[ 2.932072] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Micrel KSZ9031 Gigabit PHY
[ 2.942477] cpsw 48484000.ethernet: No slave[1] phy_id, phy-handle, or fixed-link property
[ 2.950802] cpsw 48484000.ethernet: Missing dual_emac_res_vlan in DT.
[ 2.957337] cpsw 48484000.ethernet: Using 2 as Reserved VLAN for 1 slave
[ 2.964113] cpsw 48484000.ethernet: Detected MACID = 94:e3:6d:09:d8:f4
[ 2.970731] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[ 2.977158] cpsw 48484000.ethernet: ALE Table size 1024
[ 2.982492] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[ 2.990505] cpsw 48484000.ethernet: cpsw: Detected MACID = 94:e3:6d:09:d8:f5
[ 2.998879] i2c /dev entries driver
[ 3.007578] cpu cpu0: Linked as a consumer to regulator.4
[ 3.013112] cpu cpu0: Linked as a consumer to regulator.27
[ 3.020300] sdhci: Secure Digital Host Controller Interface driver
[ 3.026619] sdhci: Copyright(c) Pierre Ossman
[ 3.032938] sdhci-pltfm: SDHCI platform and OF driver helper
[ 3.039274] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
[ 3.048158] sdhci-omap 4809c000.mmc: Got CD GPIO
[ 3.052995] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.26
[ 3.060059] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.11
[ 3.066943] sdhci-omap 4809c000.mmc: Dropping the link to regulator.11
[ 3.073604] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.2
[ 3.080516] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.11
[ 3.087482] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
[ 3.120855] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
[ 3.129102] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.2
[ 3.135973] sdhci-omap 480b4000.mmc: Dropping the link to regulator.2
[ 3.142713] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.2
[ 3.174635] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
[ 3.183379] ledtrig-cpu: registered to indicate activity on CPUs
[ 3.194823] NET: Registered protocol family 10
[ 3.210843] Segment Routing with IPv6
[ 3.214611] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.221778] NET: Registered protocol family 17
[ 3.226472] Key type dns_resolver registered
[ 3.230925] Registering SWP/SWPB emulation handler
[ 3.235765] omap_voltage_late_init: Voltage driver support not added
[ 3.242221] Power Management for TI OMAP4+ devices.
[ 3.248334] Loading compiled-in X.509 certificates
[ 3.256037] ti-iodelay 4844a000.padconf: Set reg 0x18c Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.271760] ti-iodelay 4844a000.padconf: Set reg 0x1a4 Delay(a: 119 g: 0), Elements(C=0 F=3)0x29003
[ 3.280852] ti-iodelay 4844a000.padconf: Set reg 0x1b0 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.299013] ti-iodelay 4844a000.padconf: Set reg 0x1bc Delay(a: 18 g: 0), Elements(C=0 F=0)0x29000
[ 3.308051] ti-iodelay 4844a000.padconf: Set reg 0x1c8 Delay(a: 894 g: 0), Elements(C=1 F=11)0x2902b
[ 3.317233] ti-iodelay 4844a000.padconf: Set reg 0x1d4 Delay(a: 30 g: 0), Elements(C=0 F=0)0x29000
[ 3.326240] ti-iodelay 4844a000.padconf: Set reg 0x1e0 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.335160] ti-iodelay 4844a000.padconf: Set reg 0x1ec Delay(a: 23 g: 0), Elements(C=0 F=0)0x29000
[ 3.344167] ti-iodelay 4844a000.padconf: Set reg 0x1f8 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.353085] ti-iodelay 4844a000.padconf: Set reg 0x360 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.362003] ti-iodelay 4844a000.padconf: Set reg 0x194 Delay(a: 152 g: 0), Elements(C=0 F=4)0x29004
[ 3.371086] ti-iodelay 4844a000.padconf: Set reg 0x1ac Delay(a: 206 g: 0), Elements(C=0 F=5)0x29005
[ 3.380178] ti-iodelay 4844a000.padconf: Set reg 0x1b8 Delay(a: 78 g: 0), Elements(C=0 F=2)0x29002
[ 3.389184] ti-iodelay 4844a000.padconf: Set reg 0x1c4 Delay(a: 2 g: 0), Elements(C=0 F=0)0x29000
[ 3.398101] ti-iodelay 4844a000.padconf: Set reg 0x1d0 Delay(a: 266 g: 0), Elements(C=0 F=7)0x29007
[ 3.407193] ti-iodelay 4844a000.padconf: Set reg 0x1dc Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.416112] ti-iodelay 4844a000.padconf: Set reg 0x1e8 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.425030] ti-iodelay 4844a000.padconf: Set reg 0x1f4 Delay(a: 43 g: 0), Elements(C=0 F=1)0x29001
[ 3.434040] ti-iodelay 4844a000.padconf: Set reg 0x200 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.442959] ti-iodelay 4844a000.padconf: Set reg 0x368 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.451876] ti-iodelay 4844a000.padconf: Set reg 0x190 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.460786] ti-iodelay 4844a000.padconf: Set reg 0x1a8 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.469704] ti-iodelay 4844a000.padconf: Set reg 0x1b4 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.478622] ti-iodelay 4844a000.padconf: Set reg 0x1c0 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.487540] ti-iodelay 4844a000.padconf: Set reg 0x1d8 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.496457] ti-iodelay 4844a000.padconf: Set reg 0x1e4 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.505375] ti-iodelay 4844a000.padconf: Set reg 0x1f0 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.514303] ti-iodelay 4844a000.padconf: Set reg 0x1fc Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.523223] ti-iodelay 4844a000.padconf: Set reg 0x364 Delay(a: 0 g: 0), Elements(C=0 F=0)0x29000
[ 3.532316] dmm 4e000000.dmm: workaround for errata i878 in use
[ 3.539576] mmc1: new DDR MMC card at address 0001
[ 3.545278] dmm 4e000000.dmm: initialized all PAT entries
[ 3.551371] hctosys: unable to open rtc device (rtc0)
[ 3.557070] ALSA device list:
[ 3.560049] No soundcards found.
[ 3.563961] mmcblk1: mmc1:0001 IS004G 3.64 GiB
[ 3.568998] mmcblk1boot0: mmc1:0001 IS004G partition 1 2.00 MiB
[ 3.576032] mmcblk1boot1: mmc1:0001 IS004G partition 2 2.00 MiB
[ 3.582151] mmcblk1rpmb: mmc1:0001 IS004G partition 3 512 KiB, chardev (244:0)
[ 3.600436] mmcblk1: p1 p2
[ 3.625174] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[ 3.633402] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.640138] devtmpfs: mounted
[ 3.644269] Freeing unused kernel memory: 2048K
[ 3.648943] Run /sbin/init as init process
[ 3.765770] systemd[1]: System time before build time, advancing clock.
[ 3.782407] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[ 3.804194] systemd[1]: Detected architecture arm.

Welcome to Arago 2019.11!

[ 3.842206] systemd[1]: Set hostname to <am57xx-evm>.
[ 3.970194] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[ 3.987575] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[ 4.140614] systemd[1]: Listening on Network Service Netlink Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ 4.183099] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 4.216418] systemd[1]: Mounting Kernel Debug File System...
Mounting Kernel Debug File System...
[ 4.256419] systemd[1]: Starting Load Kernel Modules...
Starting Load Kernel Modules...
[ 4.285348] cmemk: loading out-of-tree module taints kernel.
[ 4.292014] CMEMK module: reference Linux version 4.19.94
[ 4.298112] cmemk initialized
[ 4.302358] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ 4.324998] cryptodev: driver 1.9 loaded.
[ OK ] Created slice User and Session Slice.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ OK ] Reached target Paths.
Mounting POSIX Message Queue File System...
[ OK ] Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-getty.slice.
Starting Remount Root and Kernel File Systems...
[ OK ] Listening on Journal Socket (/dev/log).
[ 4.557776] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
[ OK ] Reached target Swap.
Mounting Temporary Directory (/tmp)...
[ OK ] Listening on Process Core Dump Socket.
[ OK ] Reached target Remote File Systems.
[ OK ] Listening on udev Control Socket.
Starting Journal Service...
[ OK ] Listening on udev Kernel Socket.
Starting udev Coldplug all Devices...
[ OK ] Started Hardware RNG Entropy Gatherer Daemon.
[ OK ] Reached target Slices.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ OK ] Started Journal Service.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Started Load Kernel Modules.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Mounted Temporary Directory (/tmp).
Starting Create Static Device Nodes in /dev...
Mounting Kernel Configuration File System...
Starting Apply Kernel Variables...
Starting Flush Journal to Persistent Storage...
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Started Apply Kernel Variables.
[ 5.292449] systemd-journald[86]: Received request to flush runtime journal from PID 1
[ OK ] Reached target Local File Systems (Pre).
Mounting /media/ram...
Mounting /var/volatile...
[ OK ] Reached target Containers.
Starting udev Kernel Device Manager...
[ OK ] Started Flush Journal to Persistent Storage.
[ OK ] Started udev Kernel Device Manager.
[ OK ] Mounted /media/ram.
[ OK ] Mounted /var/volatile.
Starting Load/Save Random Seed...
[ OK ] Reached target Local File Systems.
Starting Create Volatile Files and Directories...
[ OK ] Started Load/Save Random Seed.
[ OK ] Started Create Volatile Files and Directories.
Starting Update UTMP about System Boot/Shutdown...
Starting Network Service...
Starting Network Time Synchronization...
[ OK ] Started Update UTMP about System Boot/Shutdown.
[FAILED] Failed to start Network Service.
See 'systemctl status systemd-networkd.service' for details.
[DEPEND] Dependency failed for Wait for Network to be Configured.
[ OK ] Stopped Network Service.
Starting Network Service...
[ 6.147781] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
[ OK ] Started Network Time Synchronization.
[ OK ] Reached target System Time Synchronized.
[ 6.247008] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
[ 6.302115] omap-rproc 58820000.ipu: assigned reserved memory node ipu1-memory@9d000000
[ 6.310239] remoteproc remoteproc0: 58820000.ipu is available
[FAILED] Failed to start Network Service.
See 'systemctl status systemd-networkd.service' for details.
[ OK ] Stopped Network Service.
[ 6.367014] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
[ 6.375920] remoteproc remoteproc0: Direct firmware load for dra7-ipu1-fw.xem4 failed with error -2
Starting Network Service...
[ OK ] Started udev Coldplug all Devices.
[ 6.469482] remoteproc remoteproc0: powering up 58820000.ipu
[ 6.476682] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
[ OK ] Reached target System Initialization.
[ OK ] Started Daily rotation of log files.
[ OK ] Listening on RPCbind Server Activation Socket.
[ 6.550274] remoteproc remoteproc0: Direct firmware load for dra7-ipu1-fw.xem4 failed with error -2
[ OK ] Started Daily Cleanup of Temporary Directories.
[ 6.587953] omap-rproc 55020000.ipu: assigned reserved memory node ipu2-memory@95800000
[ OK ] Reached target Timers.
[ 6.667792] remoteproc remoteproc0: request_firmware failed: -2
[ 6.688684] remoteproc remoteproc1: 55020000.ipu is available
[ OK ] Listening on dropbear.socket.
[ 6.723093] remoteproc remoteproc1: Direct firmware load for dra7-ipu2-fw.xem4 failed with error -2
[ 6.733026] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ 6.793078] remoteproc remoteproc1: powering up 55020000.ipu
[ 6.798793] remoteproc remoteproc1: Direct firmware load for dra7-ipu2-fw.xem4 failed with error -2
[ 6.813336] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
Starting Reboot and dump vmcore via kexec...
[ OK ] Reached target Basic System.
Starting Login Service...
[ 6.905769] omap-rproc 40800000.dsp: assigned reserved memory node dsp1-memory@99000000
[ OK ] Started Periodic Command Scheduler.
Starting TI IPC Daemon...
[ 6.971770] remoteproc remoteproc1: request_firmware failed: -2
Starting RPC Bind Service...
[ 7.048765] remoteproc remoteproc2: 40800000.dsp is available
[ OK ] Started Job spooling tools.
[ 7.103010] Driver for 1-wire Dallas network protocol.
[ 7.121478] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
[ 7.128604] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ OK ] Started D-Bus System Message Bus.
[ 7.221858] omap-des 480a5000.des: will run requests pump with realtime priority
[ 7.309805] remoteproc remoteproc2: powering up 40800000.dsp
[ 7.323431] omap_gpio 4805b000.gpio: Could not set line 7 debounce to 20000 microseconds (-22)
[ 7.351367] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc0
Starting rc.pvr.service...
Starting Print notice about GPLv3 packages...
[ 7.427733] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 6184024
[FAILED] Failed to start Network Service.
See 'systemctl status systemd-networkd.service' for details.
[ 7.461757] omap_hdq 480b2000.1w: OMAP HDQ Hardware Rev 0.:. Driver in Interrupt mode
[ OK ] Started Reboot and dump vmcore via kexec.
[ OK ] Started TI IPC Daemon.
[ OK ] Started RPC Bind Service.
[ 7.572150] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 7.578060] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 7.654433] omap_hwmod: gpu: _wait_target_ready failed: -16
[ 7.660043] pvrsrvkm 56000000.gpu: use pm_runtime_put_sync_suspend() in driver?
[ 7.676522] w1_master_driver w1_bus_master1: Attaching one wire slave 01.000000000000 crc 3d
[ 7.699794] omap_rtc 48838000.rtc: registered as rtc1
[ OK ] Found device /dev/ttyS2.
[ 7.824715] virtio_rpmsg_bus virtio0: rpmsg host is online

The DSP configuration in the device tree in Linux in the file dra7-ipu-dsp-common.dtsi is

&dsp1 {
    mboxes = <&mailbox5 &mbox_dsp1_ipc3x>;
    timers = <&timer5>;
    watchdog-timers = <&timer10>;
};

The configuration in the CCS project .cfg file is

xdc.useModule('ti.sysbios.timers.dmtimer.Timer');

And the timer initialization code is

Timer_Handle handle;
Timer_Params timerParams;
Timer_Params_init(&timerParams);
timerParams.period = 1000000;
timerParams.periodType = Timer_PeriodType_MICROSECS;
timerParams.startMode = Timer_StartMode_AUTO;

Error_Block eb;
Error_init(&eb);
handle = Timer_create(Timer_ANY, timerInterrupt, &timerParams, &eb);

Is there any things which I've missed out or implemented incorrectly? 

Thank you in advance.

 

Johnathon

  • Hi Johnathon,

    Linux is responsible for enabling the clocks for a Timer, and you also have to let Linux be aware of the Timer you want to use on a remoteproc.

    So, do not use Timer_ANY in your Timer_create function. You would want to use a specific Timer that doesn't conflict with other dmTimers in the system.

    Please add the selected Timer to the corresponding remoteproc node's timers list, so that the Linux OMAP remoteproc driver can request and turn on the clocks for that timer.

    regards

    Suman