器件型号: AM4378
您好、
我当前正在定制 AM437X 电路板上移植 Linux 内核(基于 AM437X-gp-EVM)。
SDK:ti-processor-sdk-linux-am437x-evm-11.02.05.02-Linux-x86-Install.bin
我正在尝试通过参考“AM437X-SK-EVM.dts"启用“启用 QSPI
这是我的 DTS 配置。
/* QSPI */
qspi1_default: qspi1-default-pins {
pinctrl-single,pins = <
AM4372_IOPAD(0x888, PIN_OUTPUT | MUX_MODE2) /* (B12) gpmc_csn3.qspi_clk */
AM4372_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE3) /* (A8) gpmc_csn0.qspi_csn */
AM4372_IOPAD(0x890, PIN_INPUT | MUX_MODE3) /* (A9) gpmc_advn_ale.qspi_d0 */
AM4372_IOPAD(0x894, PIN_INPUT | MUX_MODE3) /* (E10) gpmc_oen_ren.qspi_d1 */
AM4372_IOPAD(0x898, PIN_INPUT | MUX_MODE3) /* (D10) gpmc_wen.qspi_d2 */
AM4372_IOPAD(0x89c, PIN_INPUT | MUX_MODE3) /* (C10) gpmc_be0n_cle.qspi_d3 */
>;
};
.
.
.
/* Enable qspi, 16MB S25FL128S norflash */
&qspi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&qspi1_default>;
// qspi-gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
spi-max-frequency = <24000000>;
flash@0 {
compatible = "s25fl128s", "IS25LP128";
spi-max-frequency = <24000000>;
reg = <0>;
spi-cpol;
spi-cpha;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>;
#address-cells = <1>;
#size-cells = <1>;
/* MTD partition table.
* The ROM checks the first 512KiB
* for a valid file to boot(XIP).
*/
partition@0 {
label = "QSPI.U_BOOT";
reg = <0x00000000 0x000080000>;
};
partition@1 {
label = "QSPI.U_BOOT.backup";
reg = <0x00080000 0x00080000>;
};
partition@2 {
label = "QSPI.U_BOOT_ENV";
reg = <0x00100000 0x00020000>;
};
partition@3 {
label = "QSPI.U-BOOT-ENV.backup";
reg = <0x00120000 0x00020000>;
};
partition@4 {
label = "QSPI.U-BOOT-DEVICETREE";
reg = <0x00140000 0x00010000>;
};
partition@5 {
label = "QSPI.KERNEL";
reg = <0x00150000 0x0500000>;
};
partition@6 {
label = "QSPI.FILESYSTEM";
reg = <0x00650000 0x9B0000>;
};
};
};
但是、在内核启动后、
-“猫/proc/mtd “没有显示任何内容
-内核日志显示:[ 0.806620] spi-NOR spi0.0 :无法识别的 JEDEC ID 字节: 00 00 00 00 00
我的 DTS 配置是否有问题? 或者我是否需要在 AM437x 上对 QSPI 进行额外配置?