OS: Linux,我正在用户空间中编写一个spidev应用程序来读取EEPROM id。我的设备树条目如下:
spi0: spi@ffda4000 {
compatible = "snps,dw-apb-ssi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xffda4000 0x100>;
interrupt-parent = <&intc>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
num-cs = <2>;
cs-gpios = <&porta 7 GPIO_ACTIVE_HIGH>, <&porta 0 GPIO_ACTIVE_HIGH>;
bus-num = <0>;
tx-dma-channel = <&pdma 16>;
rx-dma-channel = <&pdma 17>;
clocks = <&spi_m_clk>;
status = "disabled";
};然后:
&spi0 {
status = "okay";
m25p10_spi@0 {
compatible = "m25p10";
reg = <0>; /* chip select */
spi-max-frequency = <20000000>;
/* m25p,fast-read; */
enable-dma = <0>;
};
spidev@0 {
compatible = "rohm,dh2228fv";
reg = <0>; /* chip select */
spi-max-frequency = <20000000>;
enable-dma = <0>;
};
};其思想是在与m25p10相同的节点上设置spidev,这样当用户空间应用程序打开"/dev/spidev0.0“句柄时,它实际上是在与m25p10对话。但我无法启动linux。这种方法有什么问题吗?
https://stackoverflow.com/questions/50553870
复制相似问题