器件型号: AM3352
尊敬的 TI 专家:
内核版本: 6.12.49
上一工作版本: 4.19
我正在将定制电路板从内核 4.19 迁移到 6.12.49。 出现意外压降 UART5 在“Device Tree (DTS)(设备树 (DTS))Starting kernel...“中、引导过程会在消息中无限期挂起。
如果我将 UART5 的状态设置为"disabled"、内核将使用 UART0 作为控制台正常启动。 我已经将 DTS 剥离为基本要素 (UART0、SD 卡和 UART5)、但冲突仍然存在。
当前 DTS 配置:
我使用以下节点定义(简化):
下面附上 DTS:
/dts-v1/;
#include "am33xx.dtsi"
/ {
model = "AM335x-P1-512";
compatible = "ti,am335x-company-product-nxt", "ti,am33xx";
cpus {
cpu@0 {
cpu0-supply = <&vdd_mpu_supply>;
};
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x20000000>; /* 512MB */
};
chosen {
stdout-path = &uart0;
};
vmmcsd_fixed: fixedregulator-sd {
compatible = "regulator-fixed";
regulator-name = "vmmcsd_fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
};
vdd_mpu_supply: fixedregulator-mpu {
compatible = "regulator-fixed";
regulator-name = "vdd_mpu_supply";
regulator-min-microvolt = <912500>;
regulator-max-microvolt = <1351500>;
regulator-boot-on;
};
};
&am33xx_pinmux {
uart0_pins: pinmux_uart0_pins {
pinctrl-single,pins = <
AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0) /* uart0_rxd.uart0_rxd */
AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0) /* uart0_txd.uart0_txd */
>;
};
mmc1_pins_default: pinmux_mmc1_pins {
pinctrl-single,pins = <
AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0) /* mmc0_clk.mmc0_clk */
AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKX, PIN_INPUT, MUX_MODE7) /* mcasp0_aclkx.gpio3_14 */
>;
};
uart5_pins: pinmux_uart5_pins {
pinctrl-single,pins = <
AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_INPUT_PULLUP, MUX_MODE4 ) /* () uart5_rxd */
AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT_PULLDOWN, MUX_MODE4 ) /* () uart5_txd */
>;
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins>;
status = "okay";
};
&uart5 {
pinctrl-names = "default";
pinctrl-0 = <&uart5_pins>;
status = "okay";
};
&mmc1 {
status = "okay";
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <4>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&mmc1_pins_default>;
cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
};
观察和调试已完成:
-
4.19 行为: 相同的硬件和 pinmux 配置运行良好。
-
6.12 行为: 挂起发生得非常早。 控制台不会打印恐慌或糟糕。
问题:
-
中是否存在已知的回归或变化 系统固件 (SYSFW/TISCI) 这些内核版本之间的 UART5 要求?
-
内核 6.12 是否需要
power-domainsclocks以前在 4.19 中隐式处理的特定或属性? -
我是否应启用特定调试标志来查看这是否是 UART5
probe功能期间的数据中止?
此致。
-