要为SPI控制器中添加设备,以前的方法是在BSP文件中添加,这种方法过于麻烦,现在都使用设备树dts进行外设的描述.
要想让SPI控制器能够在加载驱动时添加你的设备,需要在dts中添加设备节点,如下:
MT7688的设备树在openwrt_widora-master/target/linux/ramips/dts/ 目录下面: Widora.dts
下面添加树节点到SPI驱动器节点下面:
palmbus@10000000 {
68 spi@b00 {
69 status = "okay";
70
71 pinctrl-names = "default";
72
73
74 pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;
75
76 m25p80@0 {
77 #address-cells = <1>;
78 #size-cells = <1>;
79 compatible = "w25q128";
80 reg = <0 0>;
81 linux,modalias = "m25p80", "w25q128";
82 spi-max-frequency = <40000000>;
83 m25p,chunked-io = <31>;
84
85 partition@0 {
86 label = "u-boot";
87 reg = <0x0 0x30000>;
88 read-only;
89 };
90
91 partition@30000 {
92 label = "u-boot-env";
93 reg = <0x30000 0x10000>;
94 };
95
96 factory: partition@40000 {
97 label = "factory";
98 reg = <0x40000 0x10000>;
99 read-only;
100 };
101
102 partition@50000 {
103 label = "firmware";
104 reg = <0x50

本文介绍了如何通过设备树dts为MT7688 SPI控制器添加多个设备,避免在BSP文件中手动操作。重点在于在Widora.dts中添加设备节点,并确保`.compatible`属性与驱动匹配。为了支持多个设备,文章还展示了如何利用GPIO创建额外的片选信号,如CS1和CS2,并在驱动的`mt7621_spi_probe`和`mt7621_spi_set_cs`函数中进行配置。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



