设备树配置

对于Linux 5.15版本,通用UART控制器配置如下:
uart0: serial@10000000 {
        compatible = "snps,dw-apb-uart";
        reg = <0x0 0x10000000 0x0 0xl0000>;
        reg-io-width = <4>;
        reg-shift = <2>;
        clocks = <&clkgen JH7110_UART0_CLK_CORE>, 
                 <&clkgen JH7110_UART0_CLK_APB>;
        clock-names = "baudclk", ”apb_pclk";
        resets = <&rstgen RSTN_U0_DW_UART_APB>,
                 <&rstgen RSTN_U0_DW_UART_CORE>;
        interrupts = <32>;
        status = "disabled";
};
以下提供了对上述代码块中的参数说明。
  • compatible:兼容性信息,用于连接驱动程序和目标设备。
  • reg:寄存器基本地址“0x10000000”和范围“0x10000”。请确保您没有更改它之后的2位,reg-io-widthreg-shift
  • clocks:URAT模块使用到的时钟。
  • clock-names:上述时钟的名称。
  • resets:URAT模块使用到的复位信号。
  • interrupts:硬件中断ID。
  • status:URAT模块的工作状态。要启用模块,请将此位设置为“okay”;要禁用该模块,请将此位设置为“disabled”。

您可以在设备树中配置每个URAT控制器。一个UART节点表示一个UART控制器。您需要为UART节点指定一个别名(alias),以便您能够从其他节点中识别它。