cancel
Showing results for 
Search instead for 
Did you mean: 

st32mp257f-dk: optee panic on clk_stm32_pll_init on clean built distribution package

mpos
Associate

Hi,

I'm using brand-new, unmodified st32mp257f-dk dev board.

When using starter package (https://www.st.com/en/embedded-software/stm32mp2starter.html#get-software) flashed onto sdcard according to https://wiki.st.com/stm32mpu/wiki/How_to_populate_the_SD_card_with_dd_command, system boots-up fine, see 'downloaded_no_panic.log'. Version is openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11.

When using image built on my own - distribution package  (openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11)  according to https://wiki.st.com/stm32mpu/wiki/STM32MPU_Distribution_Package, using docker, I get following:

[    8.296788] usb 1-1: new high-speed USB device number 2 using ehci-platform
[  OK  ] Found device /dev/hwrng.
[  OK  ] Found device /dev/tee0.
[    9.041963] hub 1-1:1.0: USB hub found
E/TC:0 0 Panic at /usr/src/debug/optee-os-stm32mp/4.0.0-stm32mp-r2/core/drivers/clk/clk-stm32mp25.c:2000 <clk_stm32_pll_init>
[    9.142742] hub 1-1:1.0: 2 ports detected
E/TC:0 0 TEE load address @ 0x82000000
E/TC:0 0 Call stack:
E/TC:0 0  0x82007ef0
E/TC:0 0  0x82043428
E/TC:0 0  0x82035d58
E/TC:0 0  0x82036030
E/TC:0 0  0x8203213c
E/TC:0 0  0x82032118
E/TC:0 0  0x820326a8
E/TC:0 0  0x82075320
E/TC:0 0  0x8206b75c
E/TC:0 0  0x820711f8
E/TC:0 0  0x82069308
E/TC:0 0  0x820673e8
E/TC:0 0  0x820662dc
E/TC:0 0  0x820514b8
E/TC:0 0  0x82049f70
E/TC:0 0  0x820449dc
E/TC:0 0  0x820562f8
E/TC:0 0  0x82006070
E/TC:0 0  0x820064b0
I/TC: Halting CPU 1

Full log: 'built_panic.log'

The commands I'm using:

(docker:)

repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11
repo sync
DISTRO=openstlinux-weston MACHINE=stm32mp25-disco source layers/meta-st/scripts/envsetup.sh
bitbake st-image-weston

Insert sdcard to host, unmount all partitons:

(host)

cd /data/proj/stm32_clean/Distribution-Package/build-openstlinuxweston-stm32mp25-disco/tmp-glibc/deploy/images/stm32mp25-disco/
scripts/create_sdcard_from_flashlayout.sh flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp257f-dk-optee.tsv
sudo dd if=flashlayout_st-image-weston/optee/../../FlashLayout_sdcard_stm32mp257f-dk-optee.raw of=/dev/mmcblk0 bs=8M conv=fdatasync status=progress

I have a feeling that I'm missing some step, which causes image to be wrongly put together.

Thanks in advance for any hints.

Best Regards,

Michal

 

1 ACCEPTED SOLUTION

Accepted Solutions
mpos
Associate

I've found out the issue. The hard way, by flashing partition images of image built by me onto sdcard with ST built image. One by one. The problem was in rootfs. Then comparing the rootfs content it was somewhat clear that the main change is the display driver. After blacklisting:

etnaviv

The system boots fully. Loading this driver by hand confirms the issue:

root@stm32mp25-disco-e3-ac-26:/usr/lib/modules/6.6.78/kernel/drivers# modprobe etnaviv
[  241.970738] etnaviv etnaviv: bound 48280000.gpu (ops gpu_ops [etnaviv])
E/TC:1 0 Panic at /usr/src/debug/optee-os-stm32mp/4.0.0-stm32mp-r2/core/drivers/clk/clk-stm32mp25.c:2000 <clk_stm32_pll_init>
E/TC:1 0 TEE load address @ 0x82000000
E/TC:1 0 Call stack:
E/TC:1 0  0x82007ef0
[...]

Why my image differs from the ST one?! Well, after doing:

 DISTRO=openstlinux-weston MACHINE=stm32mp25-disco source layers/meta-st/scripts/envsetup.sh

you're asked:

Would you like to read the EULA ? (y/n)

If you say 'no', script automatically assumes, without notifying you by any means that you don't agree to EULA and you will get a different configuration, that builds just fine, with a different graphic driver that will crash optee.

That is so wrong. 

On the instructions page:
https://wiki.st.com/stm32mpu/wiki/STM32MPU_Distribution_Package

You will learn that:

The BSP for STM32MPU depends on packages and firmwares which are covered by a software license agreement (SLA). You will be asked to read and to accept this EULA.

Not a word of warning that missing packages are essential for board to run correctly.

ST, please fix that. At least by adding visible warning when asked by script and clear warning on web page. It will save time and irritation of anyone trying to build things on their own.

 

View solution in original post

2 REPLIES 2
Olivier GALLIEN
ST Employee

Hi @mpos 

Did you try to rather program with STM32 CubeProg ? 

Thanks 

Olivier 

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
mpos
Associate

I've found out the issue. The hard way, by flashing partition images of image built by me onto sdcard with ST built image. One by one. The problem was in rootfs. Then comparing the rootfs content it was somewhat clear that the main change is the display driver. After blacklisting:

etnaviv

The system boots fully. Loading this driver by hand confirms the issue:

root@stm32mp25-disco-e3-ac-26:/usr/lib/modules/6.6.78/kernel/drivers# modprobe etnaviv
[  241.970738] etnaviv etnaviv: bound 48280000.gpu (ops gpu_ops [etnaviv])
E/TC:1 0 Panic at /usr/src/debug/optee-os-stm32mp/4.0.0-stm32mp-r2/core/drivers/clk/clk-stm32mp25.c:2000 <clk_stm32_pll_init>
E/TC:1 0 TEE load address @ 0x82000000
E/TC:1 0 Call stack:
E/TC:1 0  0x82007ef0
[...]

Why my image differs from the ST one?! Well, after doing:

 DISTRO=openstlinux-weston MACHINE=stm32mp25-disco source layers/meta-st/scripts/envsetup.sh

you're asked:

Would you like to read the EULA ? (y/n)

If you say 'no', script automatically assumes, without notifying you by any means that you don't agree to EULA and you will get a different configuration, that builds just fine, with a different graphic driver that will crash optee.

That is so wrong. 

On the instructions page:
https://wiki.st.com/stm32mpu/wiki/STM32MPU_Distribution_Package

You will learn that:

The BSP for STM32MPU depends on packages and firmwares which are covered by a software license agreement (SLA). You will be asked to read and to accept this EULA.

Not a word of warning that missing packages are essential for board to run correctly.

ST, please fix that. At least by adding visible warning when asked by script and clear warning on web page. It will save time and irritation of anyone trying to build things on their own.