How to control spidev1.0 and spidev1.1 respectively by adding one channel chip selection pin CS (similar to the function of pin15 in the figure below) on vim3

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.

@cencen 你的这两个SPI设备是一模一样的设备么

两个spi从设备不一样,需要两个不同的CS片选信号来控制。

您好,这边可以给点指导吗?增加一个CS片选信号来控两个不同的spi从设备。

@cencen 你从GPIO Header选择一个普通引脚去作为增加的片选脚控制把

这个具体要怎么操作了,比如怎么复用,直接用不行把

@cencen 我这边也没有试过,不过在dts里,cs-gpios = 是用来指定片选信号的,你在这里可以添加多个片选信号脚,片选信号脚的顺序与设备的顺序对应,在添加之前一定要确定这个脚没有被占用,是一个普通io.

&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>;
};

};
是不是可以这样写呢

这里写错了,是enable.
你可以编译到板子上运行,试试,我没试过多设备,不是很确定

这个应该不把cs管脚配置到这里也行,就是说你在要对一个设备进行读写前手动控制一下cs管脚。