WATCH ON-DEMAND | STM32 Summit 2026
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
Hey, I’m working with an STM32MP157D-DK1, I’m trying to trace for System Management Interrupts, to check how they affect the system.The following attempt was made to detect the latency of SMIs occurring on the system: # mount -t debugfs debugfs /sys/kernel/debug# mount -t tracefs nodev /sys/kernel/tracing# cd /sys/kernel/tracing# cat hwlat_detector/window1000000# cat hwlat_detector/width900000# cat tracing_thresh10# cat tracing_max_latency0# cat tracing_cpumask3# cat hwlat_detector/modenone [round-robin] per-cpu# cat tracing_on1# cat current_tracernop# echo hwlat > current_tracer# sleep 1800# cat trace# tracer: hwlat## entries-in-buffer/entries-written: 0/0 #P:2## _-----=> irqs-off/BH-disabled# / _----=> need-resched# &
Hello,Based on 157DAC1-DK1, my board designed using 157DAA1. After I confirmed boot on DK1 board using image of sd card, I tryed boot on my board using sd card on same DK1 Image of sd card but failed. My board have only one I2C (I2C4) for PMIC. Can you advise or solution? My error Log is that :NOTICE: CPU: STM32MP157DAA Rev.ZNOTICE: Model: STMicroelectronics STM32MP157D-DK1 Discovery BoardERROR: I2C device not readyPANIC at PC : 0x2fff1247Exception mode=0x00000016 at: 0x2fff1247
Hello, I developed a custom board with a pinmap based on stm32mp157f - dk2.I think if you match the pinmap and use the start package, lcd and other features will work.I re-created the sd card according to that advice, and I also rebooted it, but the same thing is happening.What should I do?History: https://community.st.com/t5/stm32-mpus-products/error-message-inquiries-and-display-problems/m-p/714459#M11850https://community.st.com/t5/stm32-mpus-boards-and-hardware/check-error-code-for-uart4/td-p/700161
Greeting.I'm trying to get our ADC subsystem up and running and getting weird errors in dmesg during boot. I'm assuming I've done something wrong with devicetree but I can't seem to figure out a working combination from the docs.Full part number of our MPU is STM32MP157CAC3.During boot we get error -61 during the probe of the two converters as shown belowThanks,-LinuxAddict $ dmesg | grep -E "adc|iio"[ 2.510869] iio iio:device0: No channels configured[ 2.514812] stm32-adc: probe of 48003000.adc:adc@0 failed with error -61[ 2.522467] iio iio:device0: No channels configured[ 2.526055] stm32-adc: probe of 48003000.adc:adc@100 failed with error -61Here's our devicetree portions:&pinctrl { adc1_pins: adc1-single-ended { analog-inputs1 { pinmux = <STM32_PINMUX('C', 0, ANALOG)>, <STM32_PINMUX('A', 5, ANALOG)>; bias-disable; } ; } ; }; &adc { pinctrl-names = "default"; pinctrl-0 = <&adc1_pins>; status = "okay"; vdda-supply = <&vdd>; vre
Hi all,We are currently trying to add a QSPI device to the STM32MP135F-DK board. Using STM32CubeMX, we selected PB2, PF8, PF9, and PF10 as the QSPI pins and generated the Device Tree accordingly. We then built the image using openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.However, the QSPI initialization failed, and we encountered the following messages during boot:[ 0.623919] stm32mp135-pinctrl soc:pinctrl@50002000: Can't access gpio 88[ 0.623944] stm32mp135-pinctrl soc:pinctrl@50002000: request() failed for pin 88[ 0.623953] stm32mp135-pinctrl soc:pinctrl@50002000: pin-88 (58003000.spi) status -13[ 0.623964] stm32mp135-pinctrl soc:pinctrl@50002000: could not request pin 88 (PF8) from group PF8 on device soc:pinctrl@50002000[ 0.623974] stm32-qspi 58003000.spi: Error applying setting, reverse things backAdditional information: We are using SD boot. To address the absence of PWR_WKUP caused by the reassignment of PF8, we replaced it with PI3.
Is it possible to use an STM32MP257F-EV1 miniPCIe with an external low-speed graphics card? I want to use it to run the PS2 emulator.
HelloI currently run on hardware STM32MP135f-DK and am preparing for running a custom HW.When assigning PA12 as a gpio-key in the devicetree,I get this error on boot:[ 3.544391] genirq: Flags mismatch irq 45. 00000083 (my-input) vs. 00002088 (0-0021)[ 3.551110] gpio-keys gpio-keys: Unable to claim irq 45; error -16[ 3.557446] gpio-keys: probe of gpio-keys failed with error -16The result is that nothing from that gpio-keys-node is initialized (if I run gpioinfo) PA12 is also referenced by ETH2 by default, and all references to eth2 are removed from my devicetree This is how I add the new gpio to the devicetree, basically the same as the default user-pa13, but with 12 instead of 13.gpio-keys {compatible = "gpio-keys";my-input {label = "my-input";linux,code = <BTN_2>;gpios = <&gpioa 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;};};I cannot find anything else pointing at PA12 in the devicetree.Other pins that I define as gpio-keys work. Does anyone know what is inter
Hello,I am using meta-st-stm32mp which points to mickledore and is using linux 6.1.82.I would like to use linux 5.10.xx instead, so I got the kernel recipe from Dunfell Branch and put itin a custom recipe, after that I set in my local.conf the following variable PREFERRED_VERSION_linux-yocto := "5.10.%". However after doing bitbake -c cleasstate virtual/kernel and bitbake virtual/kernel it is still using linux 6.1.82!! Does anyone have any idea please how to set this correctly? local.conf# PREFERRED_VERSION_linux-stm32mp ??= "5.1%"PREFERRED_VERSION_linux-yocto := "5.1%"PREFERRED_VERSION_linux-yocto-rt := "5.1%" bitbake -e virtual/kernel | grep PREFERRED_VERSION_linux-yocto# $PREFERRED_VERSION_linux-yoctoPREFERRED_VERSION_linux-yocto="6.1%"# $PREFERRED_VERSION_linux-yocto-rtPREFERRED_VERSION_linux-yocto-rt="6.1%"Kind regards,Souhail
Hello,I am currently working with an STM32MP131 in a bare-metal environment and utilizing external DDR3. For this, I am using the HAL library, and in most cases, it works as expected. However, I occasionally encounter an issue where the HAL_DDR_Init function returns an error intermittently.Below is a portion of the code where the error occurs: HAL_StatusTypeDef HAL_DDR_Init(DDR_InitTypeDef *iddr) { ... ... ... if ((static_ddr_config.c_reg.MSTR & DDRCTRL_MSTR_DDR3) != 0U) { iret = HAL_DDR_MspInit(STM32MP_DDR3); } else if ((static_ddr_config.c_reg.MSTR & DDRCTRL_MSTR_LPDDR2) != 0U) { if (bus_width == 32U) { iret = HAL_DDR_MspInit(STM32MP_LPDDR2_32); } else { iret = HAL_DDR_MspInit(STM32MP_LPDDR2_16); } } else if ((static_ddr_config.c_reg.MSTR & DDRCTRL_MSTR_LPDDR3) != 0U) { if (bus_width == 32U) { iret = HAL_DDR_MspInit(STM32MP_LPDDR3_32); } else { iret = HAL_DDR_MspInit(STM32MP_LPDDR3_16); } } else { /* Unsupported DDR type */ return H
We are working on building a gateway using the STM32MP1 and the RAK5146 concentrator module with the RAK5146 Pi Hat, utilizing the OpenSTLinux Dunfell distribution (v3.1.11).While building the st-image-weston, we encountered an error during the compilation of m4-native-1.4.18. Below is a brief summary of the error:ERROR: m4-native-1.4.18-r0 do_compile: oe_runmake failedERROR: Task (/.../m4-native_1.4.18.bb:do_compile) failed with exit code '1'The reference used for integrating lorawan is https://wiki.st.com/stm32mpu-ecosystem-v3/wiki/How_to_integrate_LoRaWAN_gateway#ST_hardware
Dears,I'm using STM32MP151 and have a uncertain quesion.In my cases, Both A7 and M4 need to access the register ETH_MACSTSR and ETH_MACSTNR to get time stamp.It's required to enable the ethernet clock on both side before accessing these registers, i.e. the bit7 in RCC_MP_AHB6ENCLRR and RCC_MC_AHB6ENCLRR.It seems workable now. But I'm not sure whether it have any potential problem.If this method is not practical, do you have any suggestions? ThanksRegards,
Deaers,I'm using stm32mp151fad and would like to transfter sram data to ddr in M4 side. I refer to the logic analyzer example https://github.com/STMicroelectronics/logicanalyser. The sram data could be copied into ddr immediately. // mask and transfer first SRAM buff uint32_t * pSource = (uint32_t *)&mSampBuff[0]; uint32_t * pDest = (uint32_t *)(mArrayDdrBuff[mArrayDdrBuffIndex].physAddr+mRollingCompSampCount); // we have a buffer of mSramPacketSize/2 bytes, to send by packet of 4 => loop on mSramPacketSize/8 for (int i=0; i<mSramPacketSize/8; i++) { *(pDest+i) = *(pSource+i) & 0x7F7F7F7F; // 76µs to perform this operation, a memcpy takes 104µs } But when I tried it, the program will go to crash. The destination address is 0xf7841000. Here is my etzpc configuration in tf
Hi:Recently, while developing an application on the STM32MP257, I tried to remove Weston. After removing the weston-start application, other apps could no longer be displayed. Additionally, when using modetest to check, I noticed that the CRTC section shows all zeros. Could you please help me understand the reason for this?
Hi,I have a custom board with STM32MP151 and have been trying to run it for quite some time. I have been fixing one mistake after another. But now I can't solve the last problem: [13:11:36:338] F/TC:0 0 probe_driver_node:436 Probing stm32-tamp on node tamp@5c00a000 [13:11:36:344] D/TC:0 0 probe_driver_node:449 element: stm32-tamp on node tamp@5c00a000 deferred 2 time(s) [13:11:36:354] F/TC:0 0 probe_driver_node:436 Probing stm32-cpu-opp on node cpu0-opp-table [13:11:36:357] D/TC:0 0 probe_driver_node:449 element: stm32-cpu-opp on node cpu0-opp-table deferred 3 time(s) [13:11:36:368] D/TC:0 0 process_probe_list:590 Unresolved dependencies after 3 rounds, 3 deferred [13:11:36:377] D/TC:0 0 probe_dt_drivers_early:774 Deferred drivers probing [13:11:36:377] D/TC:0 0 print_probe_list:397 Probe list: 2 elements [13:11:36:388] D/TC:0 0 print_probe_list:399 |- Driver stm32-tamp probes on node tamp@5c00a000 [13:11:36:392] D/TC:0 0 print_probe_list:399 |- Driver stm32-cpu-opp probes on
Hi:Recently, I need to display the logo during the Kenel phase. I have tried adding the following configuration, but still cannot see any logo when the kernel starts. How can I enable the logo to be displayed on the ST platform (drivers/video/logo/):CONFIG_DUMMY_CONSOLE=yCONFIG_DUMMY_CONSOLE_COLUMNS=80CONFIG_DUMMY_CONSOLE_ROWS=25CONFIG_FRAMEBUFFER_CONSOLE=yCONFIG_LOGO=yCONFIG_LOGO_LINUX_MONO=yCONFIG_LOGO_LINUX_VGA16=yCONFIG_LOGO_LINUX_CLUT224=y
Dear ST Community,I am currently modifying an existing schematic to meet my specific requirements for the STM32MP135 Linux board. In line with these hardware changes, I would like to reconfigure and modify the Linux kernel image file accordingly. I need guidance on how to adjust the pin configurations and generate a new kernel image file.Could you please provide a step-by-step procedure for the following:Schematic Modifications:How to align the software configuration with hardware changes made to the schematic (e.g., GPIO, peripherals, or pin functions).Reconfiguration of Pin Settings in Kernel:How to locate and modify the required device tree files or pin control configurations to reflect changes in the schematic.Steps to adjust GPIO pin settings and peripherals in the kernel.Kernel Compilation:Commands or toolchains required to recompile the kernel after modifications.Guidance on rebuilding the Device Tree Blob (DTB) and compiling the kernel image.Deploying the New Kernel Image:How t
I am a newcomer and not very good at using Linux. I hope to try running the model on the device. I am using a third-party development board. Is the tutorial on the official website applicable or can I use an API
How can I enable the HDMI output log at boot? I want to see the login promt at the HDMI output.
Hi,I am using internal temp sensor DTS and have critical trip point of 120 C configured. I wonder how interrupt work in this case? Where and how should it be handled? Are trip points the only cases when interrupt from DTS happens?
Hello forum;I needed help to do some SI simulation on ESDALC6V1-5M6 and LD39150PU33R Hyperlynx/Altium Designer SI simulator. Hence my question is does this ibis model exist? If yes where can I download it?
hello,st friends. My board use TIM2_CH1 pwm to drive a led.dts configure as:but the led can not light on.use these command byw: I use gpio test led hardware is ok
Hi,is it possible to swap the DSI lanes so that lane 0 becomes lane 1 and the other way around? This would simplify routing on our PCB. I've found there are configuration bits in the DSI_WPCR0 register for custom lane configuration (SWDL0 and SWDL1), but as far as I understood, these can only swap the pin order within a lane. Have I overlooked something or is the STM32MP157 not capable of swapping lanes?Best regards,Robert
Hello,With the new OpenSTLinux 5.1, I noticed that there is no longer any flickering between the splash-screens. I would like to know what the Yocto configurations are so I can use it for building an st-image-core, since there is still a delay. I added the psplash-drm recipe, and also looked at the differences between st-image-core.bb and st-image-weston.bb and really only found splash to be the difference for bootsplash and kernelsplash which I try adding but nothing changed. Any help would be appreciated thank you.
Hi,I want to boot my image from the user data area partition in the eMMC of my stm32mp257f-ev1 board by disabling the eMMC hardware partitions (the mmcblk1boot0/1) in U-Boot like this: mmc partconf 1 0 0 0 Unfortunately, the ROM code can't load my image (even TF-A). Here's my WIC file:part --part-name fsbla1 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/tf-a-${STM32MP_DT_FILES_EMMC}-optee-emmc.stm32" --align 4096 part --part-name fsbla2 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/tf-a-${STM32MP_DT_FILES_EMMC}-optee-emmc.stm32" --align 4096 # metadata for fsbla update part --part-name metadata1 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/metadata.bin" --part-type 8DA63339-0007-60C0-C436-083AC8230908 part --part-name metadata2 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-
I want to display the loop log at start up from UART to the HDMI. How can i achieve that?Is it something I need to change in the device tree for linux or something?My HDMI and UART works excellent. Now I want to connect them...or in other words, display the start up log at the HDMI.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.