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.

AM6442: gpio_input_interrupt AM64

Part Number: AM6442


Hello team,

question for my customer:

With the AM64 he was able to independently start the Linux core and the first R5F core. In the latter he loaded the example "gpio_led_blink" and it works. He then switched to the "gpio_input_interrupt" example, again for R5F, but this time the example gives the following error on startup:

 [Error] The configuration of the Sciclient event failed !!!

ASSERT: 0.2142s: ../board.c:Sciclient_gpioIrqSet:97: FALSE failed !!!

 

Can be that the problem is due to the fact that the user interrupt from the R5F core has already been allocated by U-Boot?

How do you suggest to intervene here?

thanks

Elisa

  • Hello Elisa,

    1) What EVM board is the customer using?

    2) What versions of the SDK is the customer loading into the Linux cores and the R5F cores?

    3) I assume the customer's firmware is getting loaded by the Linux RemoteProc driver during Linux boot time? Please attach terminal output so we can see what the customer is seeing.

    Regards,

    Nick

  • 1) the customer is using TMDS64GPEVM

    2)For Linux he uses l'SDK version 08.01.00.39, while for the core R5F SDK version 08_02_00_31

    3) No, he started from the Linux default image (tisdk-default-image-am64xx-evm.wic.xz) and, following the instructions on this page (https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/Foundational_Components_Kernel_Users_Guide.html), he disabled the Linux RemoteProc driver via menuconfig, so that the R5F core starts directly from SBL, not Linux via RemoteProc. He recompiled the Kernel, the dtb (which he did not modify), the modules and he copied everything to the SD Card. Attached is the output of the terminal, he is applying the "sbl_ospi_linux" example found in the MCU+SDK, to which he has edited the default_sbl_ospi_linux.cfg file (attached).

    He changed the UART of the "gpio_input_interrupt" application running on R5F core, setting it to UART1. This way its output doesn't interfere with Linux. 
    There the customer sees the following message:

    [Error] Sciclient event config failed!!!
    ASSERT: 0.2142s: ../board.c:Sciclient_gpioIrqSet:97: FALSE failed !!!

    Please can you reply as soon as possible?

    default_sbl_ospi_linux.cfg

    DMSC Firmware Version 22.1.1--v2022.01 (Terrific Llam
    DMSC Firmware revision 0x16
    DMSC ABI revision 3.1
    
    [BOOTLOADER PROFILE] System_init                      :     414083us 
    [BOOTLOADER PROFILE] Drivers_open                     :        308us 
    [BOOTLOADER PROFILE] Board_driversOpen                :      23375us 
    [BOOTLOADER PROFILE] App_loadImages                   :      14786us 
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :     456845us 
    
    Image loading done, switching to application ...
    Starting linux and RTOS/Baremetal applications
    NOTICE:  BL31: v2.5(release):08.01.00.006-dirty
    NOTICE:  BL31: Built : 20:34:54, Jan 17 2022
    
    U-Boot SPL 2021.01-g15769936a5 (Jan 17 2022 - 20:39:22 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')
    Trying to boot from MMC2
    
    
    U-Boot 2021.01-g15769936a5 (Jan 17 2022 - 20:39:22 +0000)
    
    SoC:   AM64X SR1.0
    Model: Texas Instruments AM642 EVM
    Board: AM64-GPEVM rev E2
    DRAM:  2 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    Failed to load 'boot.scr'
    1490 bytes read in 2 ms (727.5 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    Running uenvcmd ...
    1 bytes read in 1 ms (1000 Bytes/s)
    Already setup.
    19268096 bytes read in 779 ms (23.6 MiB/s)
    41825 bytes read in 4 ms (10 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 000000008fff2000, end 000000008ffff360 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.10.65-gdcc6bedb2c (alessandro@ubuntu-Latitude-5590) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU T2
    [    0.000000] Machine model: Texas Instruments AM642 EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a57fffff]
    [    0.000000]   node   0: [mem 0x00000000a5800000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] cma: Reserved 512 MiB at 0x00000000c0000000
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.2
    [    0.000000] percpu: Embedded 2 pages/cpu s49880 r8192 d73000 u131072
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 32736
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=fc40000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088t
    [    0.000000] Dentry cache hash table entries: 262144 (order: 5, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 4, 1048576 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 1432384K/2097152K available (10880K kernel code, 1344K rwdata, 4288K rodata, 1856K init, 759K bss, 140480K reserved, 524288K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU event tracing is enabled.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
    [    0.000000]  Trampoline variant of Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] GICv3: Distributor has no Range Selector support
    [    0.000000] GICv3: 16 PPIs implemented
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001840000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @a6000000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x00000000a58c0000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000a58d0000
    [    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x4c4 with crng_init=0
    [    0.000000] arch_timer: cp15 timer(s) running at 225.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x33e45310bc, max_idle_ns: 440795207391 ns
    [    0.000006] sched_clock: 56 bits at 225MHz, resolution 4ns, wraps every 4398046511101ns
    [    0.008578] Console: colour dummy device 80x25
    [    0.013176] Calibrating delay loop (skipped), value calculated using timer frequency.. 450.00 BogoMIPS (lpj=900000)
    [    0.023863] pid_max: default: 32768 minimum: 301
    [    0.028684] LSM: Security Framework initializing
    [    0.033503] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
    [    0.041101] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
    [    0.051676] rcu: Hierarchical SRCU implementation.
    [    0.056979] Platform MSI: msi-controller@1820000 domain created
    [    0.063350] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.072637] EFI services will not be available.
    [    0.077647] smp: Bringing up secondary CPUs ...
    [    0.083437] Detected VIPT I-cache on CPU1
    [    0.083480] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
    [    0.083497] GICv3: CPU1: using allocated LPI pending table @0x00000000a58e0000
    [    0.083567] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.083721] smp: Brought up 1 node, 2 CPUs
    [    0.113135] SMP: Total of 2 processors activated.
    [    0.117955] CPU features: detected: 32-bit EL0 Support
    [    0.123238] CPU features: detected: CRC32 instructions
    [    0.137968] CPU: All CPU(s) started at EL2
    [    0.142178] alternatives: patching kernel code
    [    0.148081] devtmpfs: initialized
    [    0.159983] KASLR disabled due to lack of seed
    [    0.164867] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.174850] futex hash table entries: 512 (order: -1, 32768 bytes, linear)
    [    0.184282] pinctrl core: initialized pinctrl subsystem
    [    0.190361] DMI not present or invalid.
    [    0.195067] NET: Registered protocol family 16
    [    0.208980] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.216430] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.224468] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.233299] thermal_sys: Registered thermal governor 'step_wise'
    [    0.233306] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.240050] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.253776] ASID allocator initialised with 65536 entries
    [    0.294213] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
    [    0.301102] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
    [    0.307869] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.316954] cryptd: max_cpu_qlen set to 1000
    [    0.325847] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR1.0 JTAGID[0x0bb3802f] Detected
    [    0.335161] vsys_5v0: supplied by evm_12v0
    [    0.339917] vsys_3v3: supplied by evm_12v0
    [    0.344826] vddb_3v3_display: supplied by vsys_3v3
    [    0.351360] iommu: Default domain type: Translated 
    [    0.356841] SCSI subsystem initialized
    [    0.361434] mc: Linux media interface: v0.10
    [    0.365839] videodev: Linux video capture interface: v2.00
    [    0.371547] pps_core: LinuxPPS API ver. 1 registered
    [    0.376627] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.385983] PTP clock support registered
    [    0.390035] EDAC MC: Ver: 3.0.0
    [    0.394183] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [    0.401151] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [    0.408024] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [    0.415578] FPGA manager framework
    [    0.419172] Advanced Linux Sound Architecture Driver Initialized.
    [    0.426775] clocksource: Switched to clocksource arch_sys_counter
    [    0.433557] VFS: Disk quotas dquot_6.6.0
    [    0.437742] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
    [    0.452782] NET: Registered protocol family 2
    [    0.457537] IP idents hash table entries: 32768 (order: 2, 262144 bytes, linear)
    [    0.466839] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
    [    0.475699] TCP established hash table entries: 16384 (order: 1, 131072 bytes, linear)
    [    0.483963] TCP bind hash table entries: 16384 (order: 2, 262144 bytes, linear)
    [    0.491750] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.498664] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
    [    0.505636] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
    [    0.513223] NET: Registered protocol family 1
    [    0.518377] RPC: Registered named UNIX socket transport module.
    [    0.524466] RPC: Registered udp transport module.
    [    0.529284] RPC: Registered tcp transport module.
    [    0.534103] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.540706] PCI: CLS 0 bytes, default 64
    [    0.545633] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.559566] Initialise system trusted keyrings
    [    0.564422] workingset: timestamp_bits=46 max_order=15 bucket_order=0
    [    0.577118] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.583935] NFS: Registering the id_resolver key type
    [    0.589171] Key type id_resolver registered
    [    0.593454] Key type id_legacy registered
    [    0.597646] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.604508] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.612340] 9p: Installing v9fs 9p2000 file system support
    [    0.671944] Key type asymmetric registered
    [    0.676163] Asymmetric key parser 'x509' registered
    [    0.681209] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [    0.688776] io scheduler mq-deadline registered
    [    0.693411] io scheduler kyber registered
    [    0.700530] pinctrl-single f4000.pinctrl: 180 pins, size 720
    [    0.707784] pinctrl-single a40000.timesync-router: 512 pins, size 2048
    [    0.726322] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.753188] brd: module loaded
    [    0.765444] loop: module loaded
    [    0.769688] megasas: 07.714.04.00-rc1
    [    0.777176] libphy: Fixed MDIO Bus: probed
    [    0.783236] tun: Universal TUN/TAP device driver, 1.6
    [    0.789323] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.795755] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.801874] sky2: driver version 1.30
    [    0.807159] VFIO - User Level meta-driver version: 0.3
    [    0.813699] i2c /dev entries driver
    [    0.818703] sdhci: Secure Digital Host Controller Interface driver
    [    0.825072] sdhci: Copyright(c) Pierre Ossman
    [    0.830009] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.837348] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.844041] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.852299] optee: probing for conduit method.
    [    0.856909] optee: revision 3.12 (3d47a131)
    [    0.857616] optee: initialized driver
    [    0.868583] NET: Registered protocol family 17
    [    0.873351] 9pnet: Installing 9P2000 support
    [    0.877795] Key type dns_resolver registered
    [    0.882454] Loading compiled-in X.509 certificates
    [    0.905744] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')
    [    0.975075] random: fast init done
    [    0.985542] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
    [    0.992052] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.000808] omap_i2c 20000000.i2c: bus 0 rev0.12 at 100 kHz
    [    1.008935] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    1.015914] pca953x 1-0022: using AI
    [    1.072776] Console: switching to mono frame buffer device 12x2
    [    1.107755] ssd1307fb 1-003c: fb0: Solomon SSD1307 framebuffer device registered, using 192 bytes of video memory
    [    1.118507] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz
    [    1.125945] omap_i2c 20020000.i2c: bus 2 rev0.12 at 100 kHz
    [    1.133152] omap_i2c 20030000.i2c: bus 3 rev0.12 at 100 kHz
    [    1.139513] ti-sci-intr bus@f4000:bus@4000000:interrupt-controller1: Interrupt Router 5 domain created
    [    1.149535] ti-sci-intr bus@f4000:interrupt-controller0: Interrupt Router 3 domain created
    [    1.158432] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.181543] j721e-pcie f102000.pcie: host bridge /bus@f4000/pcie@f102000 ranges:
    [    1.189186] j721e-pcie f102000.pcie:       IO 0x0068001000..0x0068010fff -> 0x0068001000
    [    1.197487] j721e-pcie f102000.pcie:      MEM 0x0068011000..0x006fffffff -> 0x0068011000
    [    1.205785] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0x0fffffffff -> 0x0000000000
    [    2.219157] j721e-pcie f102000.pcie: PCI host bridge to bus 0000:00
    [    2.225610] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    2.231230] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x68001000-0x68010fff])
    [    2.240933] pci_bus 0000:00: root bus resource [mem 0x68011000-0x6fffffff]
    [    2.248019] pci 0000:00:00.0: [104c:b010] type 01 class 0x060400
    [    2.254185] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xfffffffff 64bit pref]
    [    2.261750] pci 0000:00:00.0: supports D1
    [    2.265857] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    2.274626] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    2.285516] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
    [    2.292342] pci 0000:00:00.0: BAR 0: no space for [mem size 0x1000000000 64bit pref]
    [    2.300272] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x1000000000 64bit pref]
    [    2.308557] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    2.314224] pcieport 0000:00:00.0: PME: Signaling with IRQ 44
    [    2.321019] ti-bcdma 485c0100.dma-controller: Number of rings: 68
    [    2.328883] ti-bcdma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6)
    [    2.339531] ti-pktdma 485c0000.dma-controller: Number of rings: 288
    [    2.356219] ti-pktdma 485c0000.dma-controller: Channels: 44 (tchan: 29, rchan: 15)
    [    2.368052] printk: console [ttyS2] disabled
    [    2.372538] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 16, base_baud = 3000000) is a 8250
    [    2.381316] printk: console [ttyS2] enabled
    [    2.381316] printk: console [ttyS2] enabled
    [    2.389766] printk: bootconsole [ns16550a0] disabled
    [    2.389766] printk: bootconsole [ns16550a0] disabled
    [    2.404429] spi-nor spi0.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
    [    2.411362] spi-nor: probe of spi0.0 failed with error -2
    [    2.466763] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    2.474371] libphy: 8000f00.mdio: probed
    [    2.480718] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    2.488994] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000002
    [    2.502439] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16
    [    2.509267] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4
    [    2.516418] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    2.523219] pps pps0: new PPS source ptp0
    [    2.527802] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    2.541702] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    2.553039] mmc0: CQHCI version 5.10
    [    2.553742] gpio-mux mux-controller: 2-way mux-controller registered
    [    2.573222] vdd_mmc1: supplied by vsys_3v3
    [    2.579151] libphy: mdio_mux: probed
    [    2.591828] mmc1: CQHCI version 5.10
    [    2.592067] debugfs: Directory 'pd:114' with parent 'pm_genpd' already present!
    [    2.598833] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    2.625582] ALSA device list:
    [    2.628581]   No soundcards found.
    [    2.642778] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    2.651418] Waiting for root device PARTUUID=f95fa140-02...
    [    2.707823] mmc1: new ultra high speed SDR104 SDHC card at address aaaa
    [    2.714763] mmc0: Command Queue Engine enabled
    [    2.719235] mmc0: new HS400 MMC card at address 0001
    [    2.725093] mmcblk1: mmc1:aaaa SC16G 14.8 GiB 
    [    2.730786] mmcblk0: mmc0:0001 S0J56X 14.8 GiB 
    [    2.735568] mmcblk0boot0: mmc0:0001 S0J56X partition 1 31.5 MiB
    [    2.742173] mmcblk0boot1: mmc0:0001 S0J56X partition 2 31.5 MiB
    [    2.748265]  mmcblk1: p1 p2
    [    2.752327] mmcblk0rpmb: mmc0:0001 S0J56X partition 3 4.00 MiB, chardev (237:0)
    [    2.844217] EXT4-fs (mmcblk1p2): 1 orphan inode deleted
    [    2.849542] EXT4-fs (mmcblk1p2): recovery complete
    [    2.874269] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [    2.882495] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    2.892019] devtmpfs: mounted
    [    2.895964] Freeing unused kernel memory: 1856K
    [    2.900547] Run /sbin/init as init process
    [    3.025395] systemd[1]: System time before build time, advancing clock.
    [    3.084277] NET: Registered protocol family 10
    [    3.090264] Segment Routing with IPv6
    [    3.114679] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -)
    [    3.137077] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2021.09!
    
    [    3.181432] systemd[1]: Set hostname to <am64xx-evm>.
    [    3.552350] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    3.567138] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    3.776224] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.783266] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    3.795636] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [    3.808069] systemd[1]: Created slice system-getty.slice.
    [  OK  ] Created slice system-getty.slice.
    [    3.830999] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.839485] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [    3.863006] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.871436] systemd[1]: Created slice system-syslog\x2dng.slice.
    [  OK  ] Created slice system-syslog\x2dng.slice.
    [    3.896708] systemd[1]: Created slice User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [    3.919509] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Started Dispatch Password ��…ts to Console Directory Watch.
    [    3.943422] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Started Forward Password R��…uests to Wall Directory Watch.
    [    3.967314] systemd[1]: Reached target Paths.
    [  OK  ] Reached target Paths.
    [    3.987068] systemd[1]: Reached target Remote File Systems.
    [  OK  ] Reached target Remote File Systems.
    [    4.007037] systemd[1]: Reached target Slices.
    [  OK  ] Reached target Slices.
    [    4.027071] systemd[1]: Reached target Swap.
    [  OK  ] Reached target Swap.
    [    4.050675] systemd[1]: Listening on RPCbind Server Activation Socket.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [    4.075089] systemd[1]: Reached target RPC Port Mapper.
    [  OK  ] Reached target RPC Port Mapper.
    [    4.103555] systemd[1]: Listening on Process Core Dump Socket.
    [  OK  ] Listening on Process Core Dump Socket.
    [    4.127480] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [    4.161872] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    [    4.171160] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket (/dev/log).
    [    4.195814] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Journal Socket.
    [    4.216063] systemd[1]: Listening on Network Service Netlink Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [    4.239850] systemd[1]: Listening on udev Control Socket.
    [  OK  ] Listening on udev Control Socket.
    [    4.263564] systemd[1]: Listening on udev Kernel Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [    4.293411] systemd[1]: Mounting Huge Pages File System...
             Mounting Huge Pages File System...
    [    4.321306] systemd[1]: Mounting POSIX Message Queue File System...
             Mounting POSIX Message Queue File System...
    [    4.353283] systemd[1]: Mounting Kernel Debug File System...
             Mounting Kernel Debug File System...
    [    4.383449] systemd[1]: Mounting Temporary Directory (/tmp)...
             Mounting Temporary Directory (/tmp)...
    [    4.413850] systemd[1]: Starting Create list of static device nodes for the current kernel...
             Starting Create list of st��…odes for the current kernel...
    [    4.445868] systemd[1]: Starting RPC Bind...
             Starting RPC Bind...
    [    4.463669] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
    [    4.481985] systemd[1]: Starting Journal Service...
             Starting Journal Service...
    [    4.505862] systemd[1]: Starting Load Kernel Modules...
             Starting Load Kernel Modules...
    [    4.528233] systemd[1]: Starting Remount Root and Kernel File Systems...
             Starting Remount Root and Kernel File Systems   4.543234] cryptodev: loading out-of-tree module taints kernel.
    [0m...
    [    4.580187] systemd[1]: Starting udev Coldplug all Devices...
    [    4.587139] cryptodev: driver 1.10 loaded.
             Starting udev Coldplug all Devices...
    [    4.619844] systemd[1]: Started RPC Bind.
    [  OK  ] Started RPC Bind.
    [    4.638521] systemd[1]: Mounted Huge Pages File System.
    [    4.641074] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
    [  OK  ] Mounted Huge Pages File System.
    [    4.659553] systemd[1]: Started Journal Service.
    [  OK  ] Started Journal Service.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Mounted Temporary Directory (/tmp).
    [  OK  ] Started Create list of sta��… nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Started Remount Root and Kernel File Systems.
             Mounting Kernel Configuration File System...
             Starting Flush Journal to Persistent Storage...
             Starting Apply Kernel Variables...[    4.871998] systemd-journald[158]: Received client request to flush runtime journal.
    
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Started Flush Journal to Persistent Storage.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [  OK  ] Reached target Local File Systems (Pre).
             Mounting /media/ram...
             Mounting /var/volatile...
             Starting 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 Create Volatile Files and Directories.
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started udev Coldplug all Devices.
             Starting udev Wait for Complete Device Initialization...
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Reached target System Time Synchronized.
    [    5.968806] CAN device driver interface
    [    6.288251] 93xx46 spi1.0: 16-bit eeprom 
    [  OK  ] Created slice system-systemd\x2dbacklight.slice.
             Starting Load/Save Screen ��…ess of backlight:ssd1307fb0...
    [  OK  ] Started Load/Save Screen B��…tness of backlight:ssd1307fb0.
    [    6.740162] davinci_mdio 300b2400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    6.830149] libphy: 300b2400.mdio: probed
    [    6.981936] davinci_mdio 300b2400.mdio: phy[15]: device 300b2400.mdio:0f, driver TI DP83869
    [    7.361051] rti-wdt bus@f4000:watchdog@e000000: invalid resource
    [    7.501947] rti-wdt: probe of bus@f4000:watchdog@e000000 failed with error -22
    [    7.615935] rti-wdt bus@f4000:watchdog@e010000: invalid resource
    [    7.674889] rti-wdt: probe of bus@f4000:watchdog@e010000 failed with error -22
    [    7.682825] random: crng init done
    [    7.686252] random: 7 urandom warning(s) missed due to ratelimiting
    [  OK  ] Started Load/Save Random Seed.
    [    7.807968] m_can_platform 20701000.can: m_can device registered (irq=36, version=32)
    [    7.827586] m_can_platform 20711000.can: m_can device registered (irq=38, version=32)
    [   10.163450] omap_rng 40910000.rng: Random Number Generator ver. 241b34c
    [   10.327476] usbcore: registered new interface driver usbfs
    [   10.333286] usbcore: registered new interface driver hub
    [   10.348863] usbcore: registered new device driver usb
    [  OK  ] Created slice system-systemd\x2dfsck.slice.
    [  OK  ] Found device /dev/mmcblk1p1.
             Starting File System Check on /dev/mmcblk1p1...
    [  OK  ] Started File System Check on /dev/mmcblk1p1.
             Mounting /run/media/mmcblk1p1...
    [  OK  ] Started udev Wait for Complete Device Initialization.
    [  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Started Timer service to update the IP on OLED each 10s.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
    [  OK  ] Listening on dropbear.socket.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started Job spooling tools.
    [  OK  ] Started Periodic Command Scheduler.
    [  OK  ] Started D-Bus System Message Bus.
             Starting Ethernet Bridge Filtering Tables...
             Starting Print notice about GPLv3 packages...
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
    [  OK  ] Started irqbalance daemon.
             Starting Reboot and dump vmcore via kexec...
             Starting Matrix GUI...
             Starting startwlanap...
             Starting startwlansta...
             Starting System Logger Daemon "default" instance...
             Starting Login Service...
             Starting telnetd.service...
    [  OK  ] Mounted /run/media/mmcblk1p1.
    [  OK  ] Started Ethernet Bridge Filtering T[   11.619755] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    ables.
    [  OK  ] Started IPv6 Packet Filtering Framework.
    [  OK  ] Started IPv4 Packet Filtering Framework.
    [  OK  ] Started Reboot and dump vmcore via kexec.
    [  OK  ] Started Matrix GUI.
    [  OK  ] Started telnetd.service.
    [  OK  ] Started startwlansta.
    [  OK  ] Started startwlanap.
    [   11.764224] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [  OK  ] Reached target Network (Pre).
    [  OK  ] Listening on Load/Save RF ��…itch Status /dev/rfkill Watch.
             Starting syslog.service...
             Starting Network Service...
    [  OK  ] Started System Logger Daemon "default" instance.
    [  OK  ] Started syslog.service.
    [  OK  ] Started Network Service.
             Starting Wait for Network to be Configured...
             Starting Network Name Resolution...
    [   12.741948] TI DP83869 0.1:03: attached PHY driver [TI DP83869] (mii_bus:phy_addr=0.1:03, irq=POLL)
    [   12.761066] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
    [   12.823299] TI DP83867 8000f00.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=8000f00.mdio:00, irq=POLL)
    [   12.831992] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [  OK  ] Started Login Service.
    [   13.324135] startwlanap.sh[732]: sed: unmatched '/'
    [   13.359310] startwlanap.sh[733]: adding wlan1 interface
    [   13.398251] startwlanap.sh[735]: command failed: No such file or directory (-2)
    [   13.464394] startwlanap.sh[736]: Configuration file: /usr/share/wl18xx/hostapd.conf
    [   13.582415] startwlanap.sh[736]: Could not read interface wlan1 flags: No such device
    [   13.582919] startwlanap.sh[736]: nl80211: Driver does not support authentication/association or connect commands
    [   13.583147] startwlanap.sh[736]: nl80211: deinit ifname=wlan1 disabled_11b_rates=0
    [   13.627796] startwlanap.sh[736]: Could not read interface wlan1 flags: No such device
    [   13.628486] startwlanap.sh[736]: nl80211 driver initialization failed.
    [   13.628883] startwlanap.sh[736]: wlan1: interface state UNINITIALIZED->DISABLED
    [   13.629213] startwlanap.sh[736]: wlan1: AP-DISABLED
    [   13.629513] startwlanap.sh[736]: wlan1: CTRL-EVENT-TERMINATING
    [   13.629760] startwlanap.sh[736]: hostapd_free_hapd_data: Interface wlan1 wasn't started
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
             Starting Avahi mDNS/DNS-SD Stack...
             Starting Enable and configure wl18xx bluetooth stack...
    [  OK  ] Started NFS status monitor for NFSv2/3 locking..
             Starting Simple Network Ma��…ent Protocol (SNMP) Daemon....
             Starting Permit User Sessions...
    [  OK  ] Started Vsftpd ftp daemon.
    [  OK  ] Started Enable and configure wl18xx bluetooth stack.
    [  OK  ] Started Permit User Sessions.
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [  OK  ] Started Simple Network Man��…ement Protocol (SNMP) Daemon..
    [   14.534730] startwlanap.sh[759]: SIOCSIFADDR: No such device
    [FAILED] Failed to start Synchronize System and HW clocks.
    See 'systemctl status sync-clocks.service' for details.
    [   14.591950] startwlanap.sh[759]: wlan1: ERROR while getting interface flags: No such device
    [   14.644871] startwlanap.sh[759]: SIOCSIFNETMASK: No such device
    [   14.672693] startwlanap.sh[759]: wlan1: ERROR while getting interface flags: No such device
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
            autoconf
            bash
            bc
            binutils
            cifs-utils
            coreutils-stdbuf
            coreutils
            cpio
            cpp-symlinks
            cpp
            dosfstools
            elfutils
            g++-symlinks
            g++
            gawk
            gcc-symlinks
            gcc
            gdb
            gdbserver
            gettext
            gstreamer1.0-libav
            gzip
            hidapi
            less
            libasm1
            libbfd
            libdw1
            libelf1
            libgdbm-compat4
            libgdbm6
            libgettextlib
            libgettextsrc
            libgmp10
            libidn2-0
            libmpc3
            libmpfr6
            libreadline8
            libunistring2
            m4
            make
            nettle
            parted
            tar
            which
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [  OK  ] Started Print notice about GPLv3 packages.
    [   16.012955] startwlanap.sh[919]: iperf3: error - unable to start listener for connections: Cannot assign requested address
    [   16.028655] startwlanap.sh[919]: iperf3: exiting
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am64xx-evm ttyS2
    
    Arago 2021.09 am64xx-evm ttyS2
    
    am64xx-evm login: 
    
    
    

  • Hi,

    please can you look at my reply and let me know your feedback?

    Thanks

    Elisa

  • Hello Elisa,

    Disabling the remoteproc driver is one way to make sure Linux does not try to load firmware into a remote core. Setting that core to "disabled" in the Linux devicetree is another option if you want to keep the RemoteProc driver running.

    SBL booting R5F cores is not something we have expertise on for the Linux side. I am sending your thread to another team member to comment from the MCU+ Side.

    In the meantime,

    Which SBL method are you using? https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_02_00_31/exports/docs/api_guide_am64x/EXAMPLES_DRIVERS_SBL.html

    Do you still get errors if you load just the R5F binaries (i.e., no Linux?)

    Regards,

    Nick

  • -the SBL method the customer used is SBL OSPI Linux :https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_02_00_31/exports/docs/api_guide_am64x/EXAMPLES_DRIVERS_SBL_OSPI_LINUX.html

    -If Linux doesn't load, the binaries on R5F work, also because so far he had always used the examples provided with the demoboard, only changing the number of the debug UART.

    As long as it's about peripherals like serial, it's easy to disable them from the Linux BSP and make them available 
    to the R5F core. We would like to understand exactly what to do with more complex peripherals such as interrupts,
    in order to assign a part of them to the Linux core and a part to the real-time cores.
    The next step will be to have an Ethernet port controlled by the R5F core and one by the Linux core independently.

    Consider that for this use-case the R5F real-time core is the primary one, which should never reboot.
    The Linux core, on the other hand, would be used for computationally demanding tasks, but not primary ones,
    and therefore must also restart at the request of the R5F core, if necessary.
    • Is it possible to achieve this?
    • "I am sending your thread to another team member to comment from the MCU+ Side", can you point out the thread? Did you already start it?

    Appreciate your support here,

    Elisa

  • Hi Nick,

    can we accelerate on the support here?

    Thanks

    Elisa

  • Hello Elisa,

    Apologies for the delayed response. There are a couple things to discuss here:

    1) What is the guidance on how to set up interrupts, etc from multiple different cores?

    There is not existing documentation for best practices around how to do this. Each core is in charge of setting up its own resources (i.e., Linux does the pinmuxing for signals used by Linux applications, but it does not do the pinmuxing for signals used by RTOS applications). There are also not currently any tools to keep track of which resources are used by which cores.

    There is also not documentation around what happens if multiple cores try to set up interrupt routers from different cores. My assumption is that multiple cores should be able to modify an interrupt setting as long as that interrupt output was not previously configured by a different core. However, I have not ran tests at this point.

    2) Next steps in debugging

    From one of our MCU+ team members:
    "The failure on the R5F side is from Sciclient. It looks like SYSFW isn’t allowing the GPIO interrupt route (IR) to be set. I suspect a GPIO IR Output resource conflict between Linux and the R5F. Maybe the IR route was already configured by Linux?"

    They have also observed the same issue if an RTOS application requested the interrupt, set up the interrupt, and then the firmware was restarted without releasing the resources. From the SYSFW side, in that usecase, whoever initially set up the interrupt was still using it.

    For your next steps, I would try disabling main_gpio0 and main_gpio1 in the k3-am642-evm.dts file. Linux does not actually use GPIO0 or GPIO1 on the AM64x EVM board as far as I can tell, so let's make sure that the RTOS application is the only one using GPIO1:

    /* mcu_gpio0 is reserved for mcu firmware usage */
    &mcu_gpio0 {
            status = "reserved";
    };
    
    /* try disabling GPIO0 and GPIO1 from Linux */
    /* is the MCU+ GPIO example able to run now? */
    &main_gpio0 {
            status = "reserved";
    };
    
    &main_gpio1 {
            status = "reserved";
    };

    Regards,

    Nick

  • The customer tried your suggestions but the error is still there. 

    The R5F core side error message is printed immediately after power on of the board. The customer prevented Linux from booting by removing the SD card and he realized that the occupation of the interrupt of the GPIO by the A53 core occurs even before U-boot starts, maybe at SPL level. Following the instructions to generate the Linux image for multi-boot (LINUX APP IMAGE GEN TOOL) the following binaries are used, which are part of the prebuilt images :

    1. bl31.bin -> ATF
    2. bl32.bin -> OPTEE
    3. u-boot-spl.bin-am64xx-evm -> SPL

    Since we don't have access to the sources, we have no idea of what they do, especially the u-boot-spl.bin-am64xx-evm binary.

    Can you help us?

    Thanks

    Elisa

  • Hello Elisa,

    I am going to pass the thread over to our Linux Uboot owner to comment on what he expects to be in the u-boot SPL. Please ping the thread or over email if you don't have a reply by Friday your time.

    Regards,

    Nick

  • Hi Elisa,
    Please refer to the Linux SDK user guide on building u-boot: i.e., tiboot3.bin (R5 SPL), tispl.bin (A53 SPL), and u-boot.img (A53 u-boot).
    software-dl.ti.com/.../UG-General-Info.html
    where, "tispl.bin" = "atf.bin + optee.bin + A53 SPL.bin + DTBs" (refer to the above link).
    Most of time, atf.bin and optee.bin are from the pre-built folder, but in case there's a need to build ATF and OPTEE, please refer to the links:
    software-dl.ti.com/.../Foundational_Components_ATF.html
    software-dl.ti.com/.../Foundational_Components_OPTEE.html
    Best,
    -Hong