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.

SK-AM68: Bootloader only works with HS version and GPU crashing when running glmark2 with Yocto

Part Number: SK-AM68
Other Parts Discussed in Thread: SN65DSI86, SK-AM69

I am using Yocto with the meta-ti-bsp layer to create a simple image with graphical support for the SK-AM68.

Using Yocto (kirkstone) my local.conf file:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
IMAGE_INSTALL:append = " vim glmark2"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
DISTRO_FEATURES:remove = "x11 vulkan"
DISTRO_FEATURES:append = " wayland egl gles2"
DISTRO_FEATURES:append = " pam opencv openmp"
PACKAGECONFIG:append:pn-glmark2 = " drm-gles2 wayland-gles2"
PACKAGECONFIG:append:pn-libsdl2 = " kmsdrm"
PACKAGECONFIG:append:pn-weston = " egl wayland"
PACKAGECONFIG:append:pn-cairo = " egl glesv2"
KERNEL_DEVICETREE_PREFIX:append = " k3-am68 ti/k3-am68"
KERNEL_DEVICETREE:append = " ti/k3-am68-sk-base-board.dtb"
MACHINE ??= "j721s2-evm"
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

and my bblayers file:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/rich/Yocto/poky-kirkstone/meta \
/home/rich/Yocto/poky-kirkstone/meta-poky \
/home/rich/Yocto/poky-kirkstone/meta-yocto-bsp \
/home/rich/Yocto/poky-kirkstone/meta-arm/meta-arm-toolchain \
/home/rich/Yocto/poky-kirkstone/meta-arm/meta-arm \
/home/rich/Yocto/poky-kirkstone/meta-ti/meta-ti-bsp \
/home/rich/Yocto/poky-kirkstone/meta-openembedded/meta-oe \
"
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I can do `bitbake core-image-weston` to generate an image and use balena-etcher to flash it to the SD card.

Now the first problem I have (also present with the SDK), is that the board does not boot up into the uboot shell with *tiboot3-j721s2-gp-evm.bin* but only boots with *tiboot3-j721s2-hs-fs-evm.bin*.

Now when using the tiboot3-j721s2-hs-fs-evm.bin file, I can boot the kernel and load the `/boot/k3-am68-sk-base-board` device tree blob and the `k3-am68-sk-som-ddr_mem_carveout` device tree overlay.

Fullscreen
1
setenv dorprocboot 1; mmc dev 1; run init_mmc; ext4load mmc 1:2 ${loadaddr} /boot/Image; ext4load mmc 1:2 ${fdtaddr} /boot/k3-am68-sk-base-board.dtb; setenv name_overlays k3-am68-sk-som-ddr_mem_carveout.dtbo $name_overlays; run get_overlay_mmc; setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk1p2 rootfstype=ext4 rootwait; booti ${loadaddr} - ${fdtaddr}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

And I get the kernel boot log

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Starting kernel ...
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Reserved shared memory is enabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
[ 0.000000] Linux version 5.10.168-g2c23e6c538 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Feb 23 19:09:34 UTC 2023
[ 0.000000] Machine model: Texas Instruments AM68 SK
[ 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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I can run glmark2-es2-wayland on an external 1920x1080 screen and everything appears smooth for a couple of seconds.

And then I get a crash log:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[ 165.097256] PVR_K: 210: ------------[ PVR DBG: START (High) ]------------
[ 165.104603] PVR_K: 210: OS kernel info: Linux 5.10.168-g2c23e6c538 #1 SMP PREEMPT Thu Feb 23 19:09:34 UTC 2023 aarch64
[ 165.115550] PVR_K: 210: DDK info: Rogue_DDK_Linux_WS rogueddk 23.1@6404501 (release) j721s2_linux
[ 165.124784] PVR_K: 210: Time now: 165124775us
[ 165.129378] PVR_K: 210: Services State: OK
[ 165.133580] PVR_K: 210: Server Errors: 0
[ 165.137661] PVR_K: 210: Connections Device ID:0(128) P391-V391-T391-weston, P474-V474-T474-glmark2-es2-way
[ 165.147437] PVR_K: 210: ------[ Driver Info ]------
[ 165.152417] PVR_K: 210: Comparison of UM/KM components: MATCHING
[ 165.158501] PVR_K:(Warn): 357: Device experienced error 14 [106]
[ 165.164837] PVR_K: 210: KM Arch: 64 Bit
[ 165.168756] PVR_K:(Warn): 357: Device experienced error 14 [106]
[ 165.175097] PVR_K: 210: UM Connected Clients: 64 Bit
[ 165.180134] PVR_K:(Warn): 357: Device experienced error 14 [106]
[ 165.186470] PVR_K: 210: UM info: 23.1 @ 6404501 (release) build options: 0x80000810
[ 165.194280] PVR_K:(Warn): 357: Device experienced error 14 [106]
[ 165.200616] PVR_K: 210: KM info: 23.1 @ 6404501 (release) build options: 0x00000810
[ 165.208425] PVR_K:(Warn): 357: Device experienced error 14 [106]
[ 165.214760] PVR_K: 210: Window system: lws-generic
[ 165.219624] PVR_K:(Warn): 357: Device experienced error 14 [106]
[ 165.225961] PVR_K: 210: ------[ Server Thread Summary ]------
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Could anyone please advise me on how to fix this GPU crash? For what it's worth, I have created a similar image for the AM572x and can run glmark2-es2-wayland with no issues.

Thanks,

Richard

  • Hello Richard,

    It looks like you are using the latest driver available, 23.1 for the GPU. Let me check with our development team on the issue you are facing.

    Regards,

    Erick

  • Hello,

    It seems this is currently a known issue, and the team is working to fix it. Please keep a look-out for updates, the team will push a fix when it is available.

    Thanks,

    Erick

  • Thanks Erick, I will keep an eye out for an update.

  • team will

    Hi Erick, just want to add I am getting the issue on the SK-AM69 also,

    Thanks,

    Richard

  • Richard,

    Thanks for the data point. The team here is able to replicate it as well and is looking for a fix. I'll update this thread as soon as they find something.

    Regards,

    Erick

  • Hello all,

    It looks like the fix has been pushed, can you please let me know if this issue is still replicating on the latest releases?

    Regards,

    Erick

  • Hi Erick,

    I am trying to load the kirkstone-wip branch (linux kernel 6.1) and having issues. What is the intended way to boot into the starter kit?

    The default tiboot3.bin gp bootloader doesn't work, the HS version will boot. And then booting up with the boot/dtb/ti/k3-am68-sk-base-board dtb will boot but without hdmi or usb support. I would like to attach the kernel boot log but I am told "You don't have permission to access "">e2e.ti.com/.../configure on this server."

    If I rollback to an older commit of kirkstone  (linux kernel 5.10) I can boot just fine. And then if I manually update the ti-img-rogue-driver SRCREV to the newest version `93c66ec66136654849809132b86d3b880ee96ed6` then I get a kernel panic.

    Regards,

    Richard

  • Any updates on this?

    Thanks,

    Richard

  • Richard,

    Can you please copy and paste the whole boot log using the "Insert -> Code" tool for the E2E post, that will be fine as well. Or just dump the whole log as a post and I can edit it.

    Let me check with our dev team on the state of booting the SK board on the latest kirkstone-wip.

    Regards,

    Erick

  • Richard,

    At the moment, there are various updates going into kirkstone-wip that are causing conflicts for you, although the GPU driver is updated, there are other updates (such as the bootloader changes) that will cause us issues at the moment. Please wait until the release is stable. You can fall back to the latest stable release for now.

    Regards,

    Erick

  • Hi Erick,

    I am able to insert a code log again, so here is the kernel log from my 6.1 kirkstone-wip branch boot:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Starting kernel ...
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    I/TC: Reserved shared memory is enabled
    I/TC: Dynamic shared memory is enabled
    I/TC: Normal World virtualization support is disabled
    I/TC: Asynchronous notifications are disabled
    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
    [ 0.000000] Linux version 6.1.26-g5618571dbf (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Tue May 16 04:31:55 UTC 2023
    [ 0.000000] Machine model: Texas Instruments AM68 SK
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Zone ranges:
    [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] DMA32 empty
    [ 0.000000] Normal [mem 0x0000000100000000-0x0000000bffffefff]
    [ 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-0x000000009fffffff]
    [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffefff]
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    And the log with the older linux kernel but with using the updated ti-img-rouge-driver

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Starting kernel ...
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    I/TC: Reserved shared memory is enabled
    I/TC: Dynamic shared memory is enabled
    I/TC: Normal World virtualization support is disabled
    I/TC: Asynchronous notifications are disabled
    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
    [ 0.000000] Linux version 5.10.168-g2c23e6c538 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Feb 23 19:09:34 UTC 2023
    [ 0.000000] Machine model: Texas Instruments AM68 SK
    [ 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
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    I appreciate that it's not necessarily a straight forward fix so thank you for taking the time to look at this, I will keep an eye out for future updates.

    Thanks,

    Richard

  • Richard,

    Team is still looking into this. As I mentioned before they are preparing for a release, so it will be churning a lot in the upcoming month or two. Please use an older release until the official release is available as it is not expected to work until then.

    Thanks,

    Erick

  • Hi Erick,

    Thanks for the update. Do you have any idea of when we can expect to get an official release?

    Thanks again,

    Richard

  • Richard,

    You can expect tentatively at the end of next month. I'd expect stabilization before then, so keep an eye out for updates.

    Regards,

    Erick