SPI NOR 配置
27 Nov 2024
Read time: 1 minute(s)
修改 DTS
要在实际项目中使用 SPI NOR 设备,还需要修改 DTS 配置,详细流程如下所示:
-
在 board.dts 中具体的 SPI 控制器下添加
jedec,spi-nor
设备。&spi0 { pinctrl-names = "default"; pinctrl-0 = <&spi0_pins_a>; status = "okay"; spi-max-frequency = <100000000>; spi-flash@0 { #address-cells = <1>; #size-cells = <1>; compatible = "jedec,spi-nor"; //固定值,所有基于 dts 的 SPI NOR 均声明此 spi-max-frequency = <100000000>; //最大频率,固定值 spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; reg = <0>; //固定值,一般不需修改 status = "okay"; }; };
-
在 board-u-boot.dtsi 文件中,将
jedec,spi-nor
设备标记为u-boot,dm-pre-reloc
,确保 SPL 无法识别和使用。&spi0 { u-boot,dm-pre-reloc; spi-flash@0 { u-boot,dm-pre-reloc; }; };
配置 Bus Width
根据 SPI NOR 芯片的总线宽度,正确设置
spi-tx-bus-width
:-
标准 SPI NOR 配置为 1
-
Dual SPI NOR 配置为 2
-
Quad SPI NOR 配置为 4
注: 窄总线设备无法在宽总线模式下工作。