2024-11-17 02:02 PM
Hello everybody,
I am developing a custom board strongly inspired by the STM32MP157D-DK1, except that I use a parallel DPI RGB on 24bit display.
I use openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.
The frequency of "LTDC_CLK" changes by itself after waking up from "deep suspend".
Before putting it into "deep suspend", I measure 31.65Mhz which corresponds well to what is expected for "innolux,at070tn92"
But after waking up, i measure 86.21Mhz and this is completely outside the display specifications.
All other frequencies changed in the same proportion "HSYNC", "VSYNC", ...
Here is the configuration in the kernel and u-boot DTS file :
panel_at070tn92: panel_at070tn92@0 {
compatible = "innolux,at070tn92";
enable-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>;
power-supply = <&vdd>;
status = "okay";
port@0 {
reg = <0>;
panel_in: endpoint {
remote-endpoint = <<dc_ep0_out>;
};
};
};
<dc{
pinctrl-names = "default", "sleep";
pinctrl-0 = <<dc_pins_mx>;
pinctrl-1 = <<dc_sleep_pins_mx>;
status = "okay";
/* USER CODE BEGIN ltdc */
port {
#address-cells = <1>;
#size-cells = <0>;
ltdc_ep0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in>;
};
};
/* USER CODE END ltdc */
};
The rest of the devices like ethernet seem to work perfectly fine after exiting "Suspend Deep" mode
Here are the logs where we see the suspend deep and the wake-up:
root@stm32mp1-display:~# systemctl suspend
root@stm32mp1-display:~#
root@stm32mp1-display:~# [ 1433.612734] PM: suspend entry (deep)
[ 1433.616338] Filesystems sync: 0.001 seconds
[ 1433.624273] Freezing user space processes
[ 1433.673814] Freezing user space processes completed (elapsed 0.046 seconds)
[ 1433.680020] OOM killer disabled.
[ 1433.682577] Freezing remaining freezable tasks
[ 1433.688551] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 1433.694556] printk: Suspending console(s) (use no_console_suspend to debug)
þüNOTICE: CPU: STM32MP157AAA Rev.Z
NOTICE: Model: Display - openstlinux-6.1-yocto-mickledore-mpu-v24.06.26
INFO: PMIC version = 0x21
INFO: Reset reason (0x810):
INFO: System exits from STANDBY
INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000
INFO: FCONF: Reading firmware configuration information for: stm32mp_io
INFO: FCONF: Reading firmware configuration information for: stm32mp_fuse
NOTICE: BL2: v2.8-stm32mp1-r2.0(debug):lts-v2.8.15-dirty(567af710)
NOTICE: BL2: Built : 00:51:33, Jan 26 2024
INFO: BL2: Doing platform setup
INFO: RAM: DDR3-DDR3L 16bits 533000kHz
INFO: BL2: Skip loading image id 1
INFO: BL2: Skip loading image id 4
INFO: BL2: Skip loading image id 8
INFO: BL2: Skip loading image id 9
INFO: BL2: Skip loading image id 2
INFO: BL2: Skip loading image id 16
INFO: BL2: Skip loading image id 5
NOTICE: BL2: Booting BL32
INFO: Entry point address = 0xde004fe8
INFO: SPSR = 0x1d3
I/TC: Override the OTP 18: 0x7b750000 to 0x7b7501e0
I/TC: Resumed
I/TC: Secondary CI/TC: Secondary CPU 1 switching to normal world boot
[ 1433.704296] dwc2 49000000.usb-otg: suspending usb gadget configfs-gadget.g1
[ 1433.821288] stm32-dwmac 5800a000.ethernet end0: Link is Down
[ 1433.829786] Disabling non-boot CPUs ...
[ 1433.830806] CPU1 killed.
[ 1433.832114] Enabling non-boot CPUs ...
[ 1433.839505] CPU1 is up
[ 1433.853617] dwmac4: Master AXI performs any burst length
[ 1433.853662] stm32-dwmac 5800a000.ethernet end0: No Safety Features support found
[ 1433.853698] stm32-dwmac 5800a000.ethernet end0: IEEE 1588-2008 Advanced Timestamp supported
[ 1433.853769] stm32-dwmac 5800a000.ethernet end0: configuring for phy/rmii link mode
[ 1434.009222] usb usb1: root hub lost power or was reset
[ 1434.011944] dwc2 49000000.usb-otg: resuming usb gadget configfs-gadget.g1
[ 1434.015196] usb usb2: root hub lost power or was reset
[ 1434.475801] OOM killer enabled.
[ 1434.478759] Restarting tasks ... done.
[ 1434.488425] random: crng reseeded on system resumption
[ 1434.493708] PM: suspend exit
[ 1435.907924] stm32-dwmac 5800a000.ethernet end0: Link is Up - 100Mbps/Full - flow control off
I have been stuck for over a week, so I am asking you for help on this subject.
Thank you very much
Loupi
Solved! Go to Solution.
2024-11-20 04:59 AM - edited 2024-11-20 05:03 AM
Hi,
Maybe look a potential Device Tree discrepancies around clocks between TF-A, uBoot and Linux (they must be same).
Also try a diff around "cat /sys/kernel/debug/clk/clk_summary" before and after suspend.
Regards.
2024-11-19 11:55 PM
Hello,
Do you have no ideas? it's as if the ltdc device of the stm32mp157 had lost its configuration when entering and exiting the mode "deep suspens"
Thank you advance
Loupi
2024-11-20 04:59 AM - edited 2024-11-20 05:03 AM
Hi,
Maybe look a potential Device Tree discrepancies around clocks between TF-A, uBoot and Linux (they must be same).
Also try a diff around "cat /sys/kernel/debug/clk/clk_summary" before and after suspend.
Regards.