UART 波特率上限

SDK 默认 UART 波特率上限为 1.5M,如果需要更高的波特率,需要修改设备树 UART 时钟配置

1. 方式一:补充 sclk/pclk 时钟源和 clock-frequency

给所有使用的 UART 补充 sclk/pclk 时钟源和 clock-frequency,使驱动将 apb-uart 切到 PLL 并提频到 32MHz,从而支持更高波特率。
以 UART3 为例

&uart3 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&uart3_pins_active>;
    pinctrl-1 = <&uart3_pins_sleep>;
    clocks = <&ccu CLK_BUS_UART3_APB>, <&ccu CLK_APB_UART>, <&ccu CLK_PLL_PERI0_480M>;
    clock-frequency = <32000000>;
    status = "okay";
};

需要所有使能的 UART 都增加这个配置

2. 方式二:ccu 节点统一配置

设备树新增 ccu 节点配置

&ccu {
    assigned-clocks = <&ccu CLK_APB_UART>;
    assigned-clock-parents = <&ccu CLK_PLL_PERI0_480M>;
    assigned-clock-rates = <32000000>;
};
作者:林晓燕  创建时间:2026-10-14 18:11
最后编辑:林晓燕  更新时间:2026-10-15 15:11