主题中讨论的其他器件: TPS65217
工具/软件:Linux
我不熟悉嵌入式 Linux。 我不使用 Sitara SDK、Linux 构建目录来自 Yocto 构建系统。
我正在尝试让 MCP23S18与 am3352一起工作。 MCP23S18是 SPI GPIO 端口扩展器。
我在.config 中启用了 CONFIG_SPI_SPIDEV 和 CONFIG_GPIO_MCP23S08。 设备树中的相关摘录:
am33xx_pinmux{(am33xx_pinmux)}
pinctrl-names ="default";
spi0_pins:pinmux_spi0_pins{
pinctrl-single、pins =<
AM33XX_IOPAD (0x150、PIN_OUTPUT | MUX_MODE0)//(A18) spi0_SCLK/spi0_SCLK
AM33XX_IOPAD (0x154、PIN_INPUT | MUX_MODE0)//(B18) spi0_d0.spi0_d0
AM33XX_IOPAD (0x158、PIN_OUTPUT | MUX_MODE0)//(B17) spi0_D1.spi0_D1
AM33XX_IOPAD (0x15c、PIN_OUTPUT 上拉| MUX_MODE0)//(A17) spi0_cs0.spi0_cs0
AM33XX_IOPAD (0x160、PIN_OUTPUT 上拉| MUX_MODE0)//(B16) spi0_CS1.spi0_CS1
>;
};
};
spi0{(&S)
状态="正常";
pinctrl-names ="default";
pinctrl-0 =<&spi0_PINs>;
};
spi0{(&S)
gpio1:gpio1@1{
兼容="微芯片、mcp23s18";
reg =<1>;
GPIO 控制器;
#GPIO-cells =<2>;
SPI-Prese-mask =<0x01>;
SPI-max-frequency =<1000000>;
};
NVRAM:NVRAM {
地址单元格=<1>;
大小单元格=<1>;
兼容="Spansion、mr25h10";//可能需要更改 Spansion。
reg =<0>;
SPI-max-frequency =<40000000>;
m25p、快速读取;
};
};
现在我不确定 应该如何 从用户空间连接驱动程序。 /dev/dev 中或/sys 中的某个位置是否应该有文件节点? 在我的目标上、没有任何与端口扩展器、GPIO 等相关的新内容
我可以看到从器件树中提取了一些与器件相关的文件、但我认为它们不能用于控制器件:
root@AM335x-EVM:/sys/class/spi_master/spi1/spi1.1/of_node ls
GPIO 单元 GPIO 控制器寄存器 SPI 存在屏蔽
兼容名称 SPI-max-frequency
我可以通过 spidev 驱动程序访问器件、以便我知道硬件是正确的。 为此、我必须在 器件文件中包含 spidev。
compatible ="microchip、mcp23s18";> compatible ="linux、spidev";
那么、有人知道如何从用户空间访问此器件、我的器件树/配置是否正确?
谢谢