Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
Hi All,i'm having an issue with STM32MP157c and audio driver WM8994 (same as used into STM32MP15-DK).At boot time i'm still have the following error:[ 4.250237] ALSA device list:[ 4.251761] No soundcards found.I share the electrical drawing of our custom board and my custom DTS.I followed the steps described here:https://wiki.st.com/stm32mpu/wiki/Soundcard_configuration#Referencesbut i'm still get the same error.Kind regardsIlie
..
Hello experts,I am in purpose of developing driver of the peripheral CRYP1 with MDMA on STM32MP157C-DK2 board.I refer to STM32MP157 advanced Arm®-based 32-bit MPUs - Reference manual(RM0436),firstly in page 1160, CRYP1 is AHB5 source, and two stream are supported to MDMA,and at page 2025, CRYP_DIN address must be fixed. However according to description of MDMA address update configure register(MDMA_CxTCR) at page 1181, configuring DINC and SINC , address pointer fix is forbidden when AHB bus setted.In addition, setting DBUS and SBUS in MDMA_CxTBR, cannot be writen even eEN bit is 0.I wonder how CRYP1 can be implemented with MDMA.
EDIT: Found the solution, read for implementationI'm trying to get the MPU to exit from standby. PWR_ON goes to 0 as expected on shutdown, so far so good.I'm using PA2 (WKUP2) but it's not working at all...Is there anything special to setup in the device tree?I am using discrete power supplies as instructed in the app notes. (PWR_ON to enable pins)Here's my dts config for TF-A&pwr_regulators{ status = "okay"; secure-status = "okay"; /* USER CODE BEGIN pwr_regulators */ system_suspend_supported_soc_modes = < STM32_PM_CSLEEP_RUN STM32_PM_CSTOP_ALLOW_LP_STOP STM32_PM_CSTOP_ALLOW_STANDBY_DDR_SR >; system_off_soc_mode = <STM32_PM_CSTOP_ALLOW_STANDBY_DDR_OFF>; /* USER CODE END pwr_regulators */ };Linux config partwkup { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; autorepeat; status = "okay"; button@2 { label = "WakeUp2"; linux,code = <BTN_1>; interrupts-extended = <&exti_pwr 56 IRQ_TYPE_E
Hi there, I am writing an application that requires large streams of IPCC. At the moment I have allocated the RPMSG vdev0 and vrings to SRAM3+4 and I have increased the buffer size of each ring to 1024. The device tree now looks like this: vdev0vring0: vdev0vring0@10040000 { compatible = "shared-dma-pool"; reg = <0x10040000 0x2000>; no-map; }; vdev0vring1: vdev0vring1@10042000 { compatible = "shared-dma-pool"; reg = <0x10042000 0x2000>; no-map; }; vdev0buffer: vdev0buffer@10044000 { compatible = "shared-dma-pool"; reg = <0x10044000 0x8000>; no-map; };On the M4 Linker Script:RAM2_ipc_shm (xrw) : ORIGIN = 0x10040000, LENGTH = 0x00012000 I am trying to increase the VRING_SIZE to more than 16 ( Ideally I would like to increase it to maximum possible value in my configuration). In Openapm_conf: #VRING_NUM_BUFFS 16I have increased the memory in my device tree but I can not find the remoteproc config declaration for VRING s
Hi, In the Distribution Package, I have created a new machine inside my own layer. I'm running the environment script like this: MACHINE=stm32mp1-my_machine DISTRO=openstlinux-eglfs source layers/meta-st/scripts/envsetup.shHowever, it's not possible to use the bitbake command after running the script as the bblayer.conf file is missing theese 3 layers: meta-openembedded/meta-oemeta-openembedded/meta-pythonmeta-st/meta-st-stm32mp-addonsThe problem is solved and I can use bitbake when I add them manually to BBLAYERS inside bblayer.conf. However, I would like to do this automatically. The regular way to add a layer is to use: bitbake-layers add-layer /layers/meta-my-layerBut as explained, bitbake doesn't work before adding the missing layers. I have tried to run:MACHINE=stm32mp1-my_machine DISTRO=openstlinux-eglfs BSP_DEPENDENCY='/OpenSTLinux/Distribution-Package/openstlinux-5.10-dunfell-mp1-21-03-31/layers/meta-st/meta-st-stm32mp-addons /OpenSTLinux/Distribution-Package/openstlinux-5.10-
I'm having trouble resetting the board from linux.Not using a PMIC but discrete power supplies.I followed the app notes and errata, connecting the NRST and CORE_NRST pins with a cap then later a 0R resistor.I'm using a single 100nF cap on NRST.I can see the reset pin going down when rebooting from linux, unfortunately the MPU just freezes.It looks like it gets stuck in BootROM after reset.So far only a very long pull down (250ms+) on NRST works. This or cycling power on VDDCORE which I can't do on my current prototype... (PWR_ON wired directly to VDDCORE supply enable pin)Reset works fine from u-boot. (booting from SDMMC1, so already enabled)I remember reset working a while ago, so I'll try to reproduce it and see what is blocking.Any ideas?NRST + CORE_NRST signals: (connected together)
Hi All,i have my own board based on STM32MP157C.I connected usart1 (tx, rx, cts, rts) to Wifi/Ble module and i still got the same error:stm32-usart: probe of 5c000000.serial failed with error -22I discovered that USART1 is a secure device so i need to know ho to enable it into my dts.Thanks in advance
Hi, I'm MesutI'm working STM32MP157C and use DP83867IRRGZ Ethernet Phy in RGMII Mode. There is no 125 MHz from CLK_OUT of DP83867IRRGZ on default mode.But STM32MP157C need 125 MHz on its PG5 pin. For STM32MP157C we must provide a 125 MHz clock from DP83867IRRGZ or RCC.I create pll4p -> ethck_k clock 125 MHz follow the https://wiki.st.com/stm32mpu/wiki/Ethernet_device_tree_configuration. I saw this by calling the "cat /sys/kernel/debug/clk/clk_summary" command on linux.pll4_p 0 0 0 125000000 0 0 50000 ethptp_k 0 0 0 125000000 0 0 50000 ethck_k &nb
So it looks like Uboot supports /boot/extlinux/extlinux.conf boot menu file on STM32MP157-DK2 board? But does it support FDT entry used to specify device tree file to use? Or I have to rebuild the kernel anytime when I want to make small changes to device tree? -albertr
I can't install crontab with apt-get installapt-get install cron Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package cronWhat do you suggest?
Hello, I am working with STM32MP157 device based on OpenStlinux. Everything is working fine on the main processor and the cortex M4 MCU. Now I am trying to create a systemd service to launch the M4 firmware with systemctl commands from the user space in the linux, but with no success. Here are contents of my .service file: [Unit]Description= Cortex M4 Firmware Programe[Service]Type=simpleExecStart=/lib/firmware/fw_cortex_m4.sh 'start'ExecStop=/lib/firmware/fw_cortex_m4.sh 'stop'ExecReload=/lib/firmware/fw_cortex_m4.sh 'start'[Install]WantedBy=multi-user.targetPlease note that I can start/stop the firmware by the script fw_cortex_m4.sh. The systemd service lauche does not throw any error but the firmware does not run. I would appreciate any help to make it work. Thanks
Hi,I'm trying to make a custom board boot, using buildroot with all the official ST releases (tf-a, u-boot, kernel) but it's getting blocked at some point.[ 0.911310] stm32mp1_rcc 50000000.rcc: deferred probe timeout, ignoring dependency [ 0.922691] stm32-usart 40010000.serial: deferred probe timeout, ignoring dependency [ 0.930944] stm32-usart 40019000.serial: deferred probe timeout, ignoring dependency [ 0.940229] mmci-pl18x 58005000.sdmmc: deferred probe timeout, ignoring dependency [ 0.948062] mmci-pl18x 58007000.sdmmc: deferred probe timeout, ignoring dependency [ 0.957626] Warning: unable to open an initial console. [ 0.963738] Waiting for root device /dev/mmcblk0p6...Full boot logs + full kernel (decompiled) dts + other dts:https://gist.github.com/fpoussin/1201546cb9875be12528d363687e0a93It looks like it's waiting on pincontrol, but my DTS is identical to the discovery kits in this regard... Maybe trustzone is blocking? I've tried to copy the etzpc node from the DK board but tha
I have board based on MB1277 design but on my custom board I'm getting this issue:NOTICE: CPU: STM32MP157AAC Rev.B NOTICE: Model: STMicroelectronics STM32MP157C eval daughter on eval mother INFO: Reset reason (0x15): INFO: Power-on Reset (rst_por) INFO: PMIC version = 0x21 INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe3000 INFO: FCONF: Reading firmware configuration information for: stm32mp_io INFO: Using SDMMC INFO: Instance 1 INFO: Boot used partition fsbl1 ERROR: stm32_sdmmc2_send_cmd_req: timeout 10ms (cmd = 0,status = 2000) WARNING: CMD0, Retry: 1, Error: -60 ERROR: stm32_sdmmc2_send_cmd_req: timeout 10ms (cmd = 0,status = 2000) WARNING: CMD0, Retry: 2, Error: -60 ERROR: stm32_sdmmc2_send_cmd_req: timeout 10ms (cmd = 0,status = 2000) WARNING: CMD0, Retry: 3, Error: -60 ERROR: SDMMC1 init failed PANIC at PC : 0x2ffeb033 Exception mode=0x00000016 at: 0x2ffeb033Any ideas what can cause that? It's booting from SDcard.
Hi,we have designed a custom board, based on STM32MP151 and OpenSTLinux 5.10. On this board we use the switch NXP SJA1105S with 3 phys and a MAC-MAC interface between the MPU and the switch. All ports are configured for RGMII mode. At startup(via modprobe) the SJA1105 driver tries to load a default configuration that assigns multiple vlan ids to the ports. Unfortunately it looks like, that the stm32-dwmac driver does not support this by default, because it outputs the message "Only single VLAN ID supported". Is there a possibility to change this behavior of the stm32-dwmac driver?Example Output:[ 80.801160] sja1105 spi2.0: Probed switch chip: SJA1105S[ 80.934971] sja1105 spi2.0: Updating VLAN 1025[ 80.943584] sja1105 spi2.0: Updating VLAN 1025[ 80.952858] sja1105 spi2.0: Updating VLAN 1025[ 80.961709] sja1105 spi2.0: Updating VLAN 1025[ 80.967525] sja1105 spi2.0: Updating VLAN 1025[ 80.977959] stm32-dwmac 5800
root@stm32mp1:~# timedatectl status Local time: Thu 2021-10-14 15:10:06 UTC Universal time: Thu 2021-10-14 15:10:06 UTC RTC time: Sat 2000-01-01 00:00:38 Time zone: UTC (UTC, +0000) System clock synchronized: no NTP service: active RTC in local TZ: noMy RTC is out of sync.This is the date loaded after every boot. Where does system clock get it? This is the timesyncd service.[[0;1;32m*[[0m systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: [[0;1;32mactive (running)[[0m since Thu 2021-10-14 15:09:43 UTC; 2min 23s ago Docs: man:systemd-timesyncd.service(8) Main PID: 373 (systemd-timesyn) Status: "Idle." Memory: 576.0K CGroup: /system.slice/systemd-timesyncd.service `-373 /lib/systemd/systemd-timesyncd Sep 20 10:44:02 stm32mp1 systemd[1]: Starting Network Time Synchronization... Sep 20 10:44:03 stm32mp1 systemd-timesyncd[373]: System clock time unset or jumped
Hi,On the DK2 board, there is a LBEE5KL1DX-883 from Murata. But I want to use their LBEE5HY1MW (Type 1MW - LBEE5HY1MW | Wi-Fi® Modules / Wi-Fi® + Bluetooth® Modules | Murata Manufacturing Co., Ltd.) in my design. But on their site, they only mentions 'NXP I.MX Linux' . As ST has tried 1DX, will 1MW work on ST's Linux distribution? Furthermore, what about other WiFi modules on the market? Is it easy to run them with STM32MP15x?Thanks.
Hi, everybody!Referring to this topic, I'm still have issue with USB2514 USB HUB:https://community.st.com/s/question/0D53W000015a2V8SAI/-120369992-dwc2-49000000usbotg-overcurrent-change-detectedThe description of the problem changed a lot. Currently I'm have two same board with same components and schematic and same images loaded.One of the board have no problem with USB HUB. All working fine, second board have problem with high speed USB devices:Here are dmesg's:keyboard/mouse (full speed):[ 1449.719724] usb 1-1.1: new full-speed USB device number 11 using ehci-platform[ 1449.882209] input: Logitech USB Receiver as /devices/platform/soc/5800d000.usbh-ehci/usb1/1-1/1-1.1/1-1.1:1.0/0003:046D:C534.0001/input/input1[ 1449.961800] hid-generic 0003:046D:C534.0001: input: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-5800d000.usbh-ehci-1.1/input0[ 1449.987711] input: Logitech USB Receiver Mouse as /devices/platform/soc/5800d000.usbh-ehci/usb1/1-1/1-1.1/1-1.1:1.1/0003:046D:C534.0002/i
HiIn my application we need to read the last rest status, whether its a POR or WDOG ret = ioctl(wdog, WDIOC_GETBOOTSTATUS, &status);looks like this support is not available in drivers/watchdog/stm32_iwdg.ccan anyone tell me how add a patch in stm32mp1 board ?
Whether there is a bare - machine routine for MP1?
In STM32mp157f-dk2 board, sdmmc2 is used for inbuilt wifi over SDIO and I am using sdmmc3 with esp32 chip to connect it to wifi over SDIO. I am able to connect ST board to wifi over sdmmc3 but with iperf it is giving constant throughput of 1 Mbps irrespective of change in max-frequency. I was going through kernel module in st linux and found that in sdio_card_irq_get function which will be called while claiming sdio irq, it is creating a kernel thread with name ksdioirqs/mmcX. This thread continuously polls for rx data. This kthread has schedule_timeout() function for minimum 1 jiffies. In my case, 1 jiffies = 10msec as CONFIG_HZ=100. So I think because of this schedule_timeout, I am getting less throughput (with change in CONFIG_HZ=1000 throughput is increased). Is it correct behavior? and if yes then why sdmmc2 throughput is 12Mbps for same frequency as sdmmc2? (sdmmc2 and sdmmc3 is using same driver which is mmci.c)
Hi. I'm using the v2.1.0 ecosystem to build for a target that will boot TF-A & U-Boot from a single ISSI IS25LP016D-JNLE 2 mebibyte quad-SPI NOR flash connected with the rest of the system in e.MMC. (This is to work around the bug in the rev.B STM32MP1 silicon BOOTROM regarding e.MMC boot.)I've used STM32CubeIDE 1.5.1 on Ubuntu 20.04 Linux to configure the device tree and I can read and write the device in Linux booted from e.MMC and have enabled NOR & nor-sdcard features in the machine/config/stm32mp153c-veethree-mx.conf file.However I cannot get U-Boot to detect the 'nor0' flash device in the same way as I can on my STM32MP157A-EV1 kit using mtd list so that attempting to program the NOR flash with STM32CubeProgrammer results in a 'no such device nor0' error.I've added CONFIG_SPI_FLASH_SFDP_SUPPORT=y CONFIG_SPI_FLASH_ISSI=yto build-veethreeconnectbox2-stm32mp1-connectbox2/workspace/sources/u-boot-stm32mp/configs/stm32mp15_trusted_defconfig and I've added the line &
Hi ST Community,We are using STM32MP157C-DK2 board and OpenSTlinux Firmware (v3.1-Openstlinux-5-4-dunfell-mp1-20-11-12) for our development. Currently for DFU from PC, we are triggering USB Boot mode by configuring Boot mode Switch (SW1) manually. But our product have a requirement to trigger USB boot mode from the running firmware automatically. Is there any way to trigger USB Boot mode in STM32MP157C-DK2 board without any manual configuration ?
Correct me if I'm wrong. UART4 is used to program eMMC via the ROM monitor. Exactly what GBA pins are used? Is there any "special" circuitry involved?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.