cencen
1
Hello.
I have opened spidev1.0 and spidev1.1.
But when I want to get two SPI signals through logic analyzer, I can only get one.
I changed the code based on my previous post.如何在vim3上打开更多的spidev? - #5 by Zhanglaing
Blockquote
&spicc1 {
status = “enabel”;
pinctrl-names = “default”;
pinctrl-0 = <&spicc1_pins>;
cs-gpios = <&gpio GPIOH_6 0>;
spidev@0 {
status = "okay";
compatible = "linux,spidev";
/* spi default max clock 100Mhz */
spi-max-frequency = <100000000>;
reg = <0>;
};
spidev@1 {
status = "okay";
compatible = "linux,spidev";
/* spi default max clock 100Mhz */
spi-max-frequency = <100000000>;
reg = <1>;
};
};
So I think I should have another cs pin like pin15.
Frank
2
@cencen 你的这两个SPI设备是一模一样的设备么
cencen
3
两个spi从设备不一样,需要两个不同的CS片选信号来控制。
cencen
4
您好,这边可以给点指导吗?增加一个CS片选信号来控两个不同的spi从设备。
Frank
5
@cencen 你从GPIO Header选择一个普通引脚去作为增加的片选脚控制把
Frank
7
@cencen 我这边也没有试过,不过在dts里,cs-gpios =
是用来指定片选信号的,你在这里可以添加多个片选信号脚,片选信号脚的顺序与设备的顺序对应,在添加之前一定要确定这个脚没有被占用,是一个普通io.
cencen
8
&spicc1 {
status = “enabel”;
pinctrl-names = “default”;
pinctrl-0 = <&spicc1_pins>;
cs-gpios = <&gpio GPIOH_6 0
** &gpio GPIOH_7 1>;**
spidev@0 {
status = "okay";
compatible = "linux,spidev";
/* spi default max clock 100Mhz */
spi-max-frequency = <100000000>;
reg = <0>;
};
spidev@1 {
status = "okay";
compatible = "linux,spidev";
/* spi default max clock 100Mhz */
spi-max-frequency = <100000000>;
reg = <1>;
};
};
是不是可以这样写呢
Frank
9
这里写错了,是enable
.
你可以编译到板子上运行,试试,我没试过多设备,不是很确定
numbqq
10
这个应该不把cs管脚配置到这里也行,就是说你在要对一个设备进行读写前手动控制一下cs管脚。