
首先spi可以通过配置spidev 出现/dev/spidev 给用户层操作 ( https://whycan.com/t_3754.html )
然后spi可以通过配置cs脚实现spi复用 挂载多个spi设备( https://whycan.com/t_2418.html )
那么如何将这两个结合在一起?
比如我f1c100s的spi0已经挂载了flash 怎么通过cs复用脚 再配置出一个spidev设备来
我试了下这样配置 发现是无效的 flash使用正常 但是没有出现/dev/spidev
&pio {
        spi0_cs_pins: spi0_cs_pins {
                pins = "PC1", "PE3";
                function = "gpio_out";
        };
};
&spi0 {
	pinctrl-names = "default";
	pinctrl-0 = <&spi0_pins_a &spi0_cs_pins>;
        cs-gpios = <&pio 2 1 GPIO_ACTIVE_HIGH>, <&pio 5 3 GPIO_ACTIVE_HIGH>;//PC1 PE3
	status = "okay";
	flash: w25q128@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "winbond,w25q128", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <50000000>;
		partitions{
			compatible = "fixed-partitions";
				#address-cells = <1>;
				#size-cells = <1>;
				partition@0 {
						lable = "u-boot";
						reg = <0x000000 0x100000>;
						read-only;
				};
				partition@100000 {
						lable = "dtb";
						reg = <0x100000 0x10000>;
						read-only;
				};
				partition@110000 {
						label = "kernel";
						reg = <0x110000 0x400000>;
						read-only;
				};
				partition@510000 {
						label = "rootfs";
						reg = <0x510000 0xAF0000>;
				};
		};
	};
        spidev@0x00 {
               compatible = "spidev";
               spi-max-frequency = <100000000>;
               reg = <0>;
	};
};离线
flash: w25q128@0
spidev@0x00
是否应该改成试试:
flash: w25q128@0
spidev@1
离线

flash: w25q128@0
spidev@0x00
是否应该改成试试:
flash: w25q128@0
spidev@1
宁就是 列文虎克?
这些细节我没在意 按照你的想法修改后 还是不行
不过你成功让我注意到这些细节
我对照了上面spi的帖子 发现第二个设备是 reg = <1>; 于是我把spidev里的 reg = <0>; 改成1
结果生成了设备 /dev/spidev0.1 
看来是成功了 而且也明白了spidev的后缀为什么是0.0这个格式
离线