2025-10-27 10:28 AM - edited 2025-10-27 10:32 AM
Hello ST Community,
I am currently working on a custom board based on STM32MP257FAI3, derived from the STM32MP257F-EV1 evaluation board.
We initially built our own custom image and successfully enabled several peripherals (SPI, USART, Timers, ADCs, and Interrupts) and tested on evaluation board as well.
Now, while adapting the configuration for our custom hardware, I have modified all pin assignments according to the alternate functions listed in the datasheet and reference manual.
Most of the pins are configured correctly and appear as expected in the system.
However, I’ve noticed that certain pins (for example, PZ7 and PZ8, which were used for LPUART1 on the EV1) and some other pins in list are still shown as “consumer = kernel” in the output of:
even though I have:
Removed their references from TF-A, U-Boot, and Linux kernel device trees
Deleted their entries from the corresponding pinctrl and pinmux configurations
Despite these removals, the pins are still being consumed by the kernel and not appearing as free GPIOs.
Could you please help clarify:
Why these pins are still marked as consumed by the kernel?
Which subsystem (kernel, IIO, or SCMI) could be retaining control over these pins even after removal from all pinctrl nodes?
Is there an additional step needed to fully release these pins for GPIO use on STM32MP25x devices?
Thank you for your time and support!
Best regards,
Preetham