u-boot - 将 u-boot-2020.04 移植到 EVB 板,但 spi nand flash(GD5F2GQ5xExxG) 无法正常工作
问题描述
问题描述:
- 嵌入在 SOC 中的 designware-spi 控制器
- evb CAN上的spi nor flash(MX25U25635F)运行良好。
- evb上的spi nand flash(GD5F2GQ5xExxG)不工作,当输入命令“ nand device or nand info ”时,u-boot返回“没有可用的设备”
我的努力:
**dtsi snippet:**
spi0: spi@80000000 {
compatible = "snps,dw-ssi";
reg = <0x0 0x80000000 0x0 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&sysclk>;
clock-names = "baudclk";
status = "okay";
spi_nand@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
spi-cpha = <1>;
spi-cpol = <1>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <1>;
reg = <1>;
spi-max-frequency = <50000000>;
};
};
xxx_defconfig:
CONFIG_CMD_BIND=y
CONFIG_CMD_DM=y
CONFIG_CMD_GPT=y
CONFIG_CMD_MTD=y
CONFIG_CMD_NAND=y
CONFIG_CMD_NAND_TRIMFFS=y
CONFIG_CMD_NAND_LOCK_UNLOCK=y
CONFIG_CMD_NAND_TORTURE=y
CONFIG_DM_MTD=y
CONFIG_MTD_RAW_NAND=y
CONFIG_MTD_SPI_NAND=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
xxx_common.h
...
#define CONFIG_SYS_NAND_SELF_INIT
...
驱动程序\mtd\nand\raw\nand.c
void nand_init(void)
{
...
#ifdef CONFIG_SYS_NAND_SELF_INIT
board_nand_init();
#else
...
#endif
}
函数中只配置了spi控制器的相关寄存器board_nand_init( )
,我想spinand_probe()
在这个函数中调用,但不知道怎么做。有人可以帮助我吗?我是 u-boot 的新手。谢谢
解决方案
推荐阅读
- coldfusion - 如何在 ColdFusion 中实现 recaptcha v3?
- python - 与 python 的连接问题:badstatusline
- python - UFC 数据集 InvalidArgumentError 断言失败:[Label IDs must < n_classes] [Condition x < y did not hold element-wise:]
- python - 未给出可选参数时在 argparse 中运行钩子的简单方法
- python - 如何将 for 循环转换为向量并将其写入 csv?
- java - 导航到网页中的每个链接后,如何使用 selenium java 使用方法 =post 获取所有表单的列表
- python-3.x - 从 python 执行的 Outlook 邮件模板中删除签名
- python - 无法通过批处理文件运行 pandas python 脚本
- python-3.x - 在 flasgger 中包含外部 yml 文件
- groovy - 在 SoapUI 中使用 groovy 脚本将授权设置为基本