设备树配置
对于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-width和reg-shift。
- clocks:URAT模块使用到的时钟。
- clock-names:上述时钟的名称。
- resets:URAT模块使用到的复位信号。
- interrupts:硬件中断ID。
- status:URAT模块的工作状态。要启用模块,请将此位设置为“okay”;要禁用该模块,请将此位设置为“disabled”。
您可以在设备树中配置每个URAT控制器。一个UART节点表示一个UART控制器。您需要为UART节点指定一个别名(alias),以便您能够从其他节点中识别它。