This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM4378:在定制 AM437x 板上未检测到 QSPI

Guru**** 2866360 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1632800/am4378-qspi-not-detected-on-custom-am437x-board

器件型号: 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 进行额外配置?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kim:

    您能否分享您的器件型号和配置?

    U-Boot 会从哪里加载?

    此致、
    Vinu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您表示器件型号和配置是什么意思?

    如果您指的是 QSPI 器件型号、则为 S25FL128SAGNFI00。

    U-boot 从 SD 卡引导。

    此致、
    Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kim:

    [引用 userid=“617706" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1632800/am4378-qspi-not-detected-on-custom-am437x-board/6295491

    您表示器件型号和配置是什么意思?

    [/报价]

    我指的是 QSPI 器件型号和当前内核配置。

    也请共享内核配置。

    此致、
    Vinu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    这是.config 文件。

    e2e.ti.com/.../3223.configs.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kim:

    我会检查一下、然后返回给您。

    此致、
    Vinu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kim:

    请尝试以下操作。

    /* QSPI */
    	qspi1_default: qspi1-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM4372_IOPAD(0x888, PIN_OUTPUT | MUX_MODE2) /* (B12) gpmc_csn3.qspi_clk */
    			AM4372_IOPAD(0x87c, PIN_OUTPUT_PULLUP | MUX_MODE3) /* (A8) gpmc_csn0.qspi_csn */
    			AM4372_IOPAD(0x890, PIN_INPUT_PULLUP | MUX_MODE3) /* (A9) gpmc_advn_ale.qspi_d0 */
    			AM4372_IOPAD(0x894, PIN_INPUT_PULLUP | MUX_MODE3) /* (E10) gpmc_oen_ren.qspi_d1 */
    			AM4372_IOPAD(0x898, PIN_INPUT_PULLUP | MUX_MODE3) /* (D10) gpmc_wen.qspi_d2 */
    			AM4372_IOPAD(0x89c, PIN_INPUT_PULLUP | MUX_MODE3) /* (C10) gpmc_be0n_cle.qspi_d3 */
    		>;
    	};
    .
    .
    .
    /* Enable qspi, 16MB S25FL128S norflash */
    &qspi {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&qspi1_default>;
    
    //	qspi-gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
    	spi-max-frequency = <24000000>;
    	flash@0 {
    		compatible = "spansion,s25fl128s", "jedec,spi-nor";
    		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>;
    		};
    	};
    };

    更新了具有上拉电阻的引脚配置、更正了兼容字符串。

    请查看此内容并告诉我。

    此致、
    Vinu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    按照您的指示修改 DTS 后、它现在可以正常工作。

    谢谢、