diff --git a/Software/Development/OperatingSystem/Linux/Kernel/Modules/SPI/Linux_Spidev_与_DeviceTree.md b/Software/Development/OperatingSystem/Linux/Kernel/Modules/SPI/Linux_Spidev_与_DeviceTree.md index 5d6d6c8..691e0ca 100644 --- a/Software/Development/OperatingSystem/Linux/Kernel/Modules/SPI/Linux_Spidev_与_DeviceTree.md +++ b/Software/Development/OperatingSystem/Linux/Kernel/Modules/SPI/Linux_Spidev_与_DeviceTree.md @@ -29,15 +29,17 @@ soc: soc { ... spi0_pins: spi0 { // 这里是 SPI 要用到的 Pin - groups = "spi0_clk","spi0_ss1","spi0_txd","spi0_rxd"; + groups = "spi0_clk","spi0_txd","spi0_rxd"; function = "spi0"; } ... } &spi0 { - pinctrl-0 = <&spi0_pins>; pinctrl-names = "default"; + pinctrl-0 = <&spi0_pins>; + cs-gpios = <&gpio0 1 0 + &gpio1 2 0>; status = "okay"; // 下面包含两个 spidev @@ -55,6 +57,8 @@ soc: soc { }; ``` +其中 cs-gpios 表示 SPI 的 CS 脚,通过引用 GPIO 节点实现,由 SPI 驱动框架管理并使用。在进行 SPI 读写时自动拉低对应的 GPIO,读写完毕自动拉高。cs-gpios 是一个 GPIO 数组,设备到底使用了哪个 CS 则由设备节点的 reg 决定。例如 spi0 总线上某个设备的 reg = <1>,该设备就对应了 spi0.1,使用 cs-gpios 数组中的 1 号 GPIO。 + ## 2.spidev_dt_ids 然后修改 spidev.c 中的 spidev_dt_ids[] 数组,增加以下内容: diff --git a/Software/Development/OperatingSystem/Linux/User/Linux_常用目录_文件集合.md b/Software/Development/OperatingSystem/Linux/User/Linux_常用目录_文件集合.md index f7e2a58..f63c518 100644 --- a/Software/Development/OperatingSystem/Linux/User/Linux_常用目录_文件集合.md +++ b/Software/Development/OperatingSystem/Linux/User/Linux_常用目录_文件集合.md @@ -3,11 +3,12 @@ | Directory | Description | |------------------------------------------------|--------------------| | /etc/systemd/system | Systemd unit files | +| /lib/firmware | 设备固件目录,该目录下保存着设备运行时所需的固件程序 | +| /sys/class/drm/card\-\-\/status | 显示设备状态 | +| /sys/class/drm/card\-\-\/modes | 显示设备所支持的显示模式 | +| /sys/class/drm/card\-\-\/edid | 如果包含 EDID,此节点为映射的 EDID 文件| | /sys/firmware | Device Tree 目录展开 | | /usr/lib/systemd/system | Systemd unit files | | /usr/share/applications | Desktop Entry 文件 (*.desktop) | | /usr/share/icons | 图标文件 | -| /usr/share/mime | MIME配置文件放在 | -| /sys/class/drm/card\-\-\/status | 显示设备状态 | -| /sys/class/drm/card\-\-\/modes | 显示设备所支持的显示模式 | -| /sys/class/drm/card\-\-\/edid | 如果包含 EDID,此节点为映射的 EDID 文件| +| /usr/share/mime | MIME 配置文件放在 |