设备树配置

SPI的设备树源代码在以下路径:
freelight-u-sdk/linux/arch/riscv/boot/dts/starfive/jh7110.dtsi
下面的代码为设置SPI0的示例。
spi0: spi@10060000 {
        compatible = "arm,pl022", "arm,primecell";
        reg = <0x0 0x10060000 0x0 0xl0000>;
        clocks = <&clkgen JH7110_SPI0_CLK_APB>; 
        clock-names = "apb_pclk";
        resets = <&rstgen RSTN_U0_SSP_SPI_APB>; 
        reset-names = "rst_apb";
        interrupts = <38>;
        /* shortage of dma channel that not be used */ 
        /* dmas = <&dma 14 1>, <&dma 15 1>;*/ 
        /* dma-names = "rx","tx";*/ 
        arm,primecell-periphid = <0x00041022>;
        num-cs = <1>;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";
以下提供了对上述代码块中的参数说明。
  • compatible:兼容性信息,用于连接驱动程序和目标设备。
  • reg:寄存器基本地址“0x10060000”和范围“0x10000”。
  • clocks:SPI模块使用到的时钟。
  • clock-names:上述时钟的名称。
  • resets:SPI模块使用到的复位信号。
  • reset-names:上述复位信号的名称。
  • interrupts:硬件中断ID。
  • primecell-periphid:SPI设备的外设ID。
  • num-cs:片选信号的总数。
  • status:SPI模块的工作状态。要启用模块,请将此位设置为“okay”;要禁用该模块,请将此位设置为“disabled”。