针对你从Linux 5.4.31升级到6.1.82后STM32MP157D无法启动的问题,以下是逐步排查和解决方案:
stm32mp157d.dtsi)与你当前使用的设备树,重点检查:compatible)是否更新。&rcc {
status = "okay";
/* 检查是否有新的时钟属性或子节点 */
};dtc 工具编译设备树,避免语法错误:make dtbsv2022.10 或更高)。bootargs 和 bootcmd),确认根设备参数(root=...)正确无误。CONFIG_COMMON_CLK_STM32MP13=y # 根据具体型号选择
CONFIG_RESET_CONTROLLER=y
CONFIG_STM32_RCC=y
CONFIG_MMC_STM32_SDMMC=y # 存储控制器驱动drivers/clk/clk-stm32mp13.c 或相关RCC驱动文件,在 stm32_rcc_init 函数中添加打印,确认初始化流程是否完成。earlycon 和 earlyprintk,观察早期日志:bootargs = ... earlycon earlyprintk console=ttySTM0,115200&sdmmc1 {
pinctrl-names = "default";
pinctrl-0 = <&sdmmc1_b4_pins_a>;
bus-width = <4>;
vmmc-supply = <&vdd_sd>;
status = "okay";
};tf-a-stm32mp、u-boot-stm32mp)到与Linux 6.1.82匹配的版本。RCC_CR、RCC_CFGR)是否配置正确。通过以上步骤,应能解决因RCC未就绪导致的启动卡死问题。如果仍无法解决,建议提供更详细的启动日志和设备树片段进一步分析。
举报
更多回帖