spi总线挂载多个设备的设备树描述

 内核版本:linux4.6

 Vivado版本:201602

工程中用到很多spi控制的从设备,首先对FPGA工程的正确性验证一下。

验证的设备树描述如下:

spi@e0006000 {
            compatible = "xlnx,zynq-spi-r1p6";
            reg = <0xe0006000 0x1000>;
            status = "okay";
            interrupt-parent = <0x3>;
            interrupts = <0x0 0x1a 0x4>;
            clocks = <0x1 0x19 0x1 0x22>;
            clock-names = "ref_clk", "pclk";
            #address-cells = <0x1>;
            #size-cells = <0x0>;
            num-cs = <0x3>;  /*重点描述*/
            adc@0 {
                /*compatible = "ti,ads8688";*/
                compatible = "rohm,dh2228fv";


                reg = <0x0>;
                spi-max-frequency = <0xf4240>;
            };
            adc@1 {
                /*compatible = "ad5292";*/
                compatible = "rohm,dh2228fv";
                reg = <0x1>;
                spi-max-frequency = <0xf4240>;
            };
            adc@2 {
                compatible = "rohm,dh2228fv";
                /*compatible = "ad5624r5";*/
                reg = <0x2>;
                spi-max-frequency = <0xf4240>;
            };
        };

设备树注意:

num-cs = <0x3>;

如果只挂一个设备,这句没有没关系,一旦超过1个,不写就会出错,出错表现在数据时钟信号良好,但是没有片选信号。

另外,zynq7000系列最多挂载3个。这个看fpga工程就知道了,因为工程中spi总线有3个片选信号。

FPGA工程注意:

spi的 引脚属性默认。

具体就是,Direction 选择除了两个片选其他都是 INOUT。 片选1和片选2默认 OUT 。

 

你可能感兴趣的:(设备树,Linux系统,spi,多个从设备挂载)