大家好、
我们将 SPI 内核模块安装策略从 buildin 模式更改为 ko 模式。
下面是我们在 tisdk_j7-evm_defconfig 文件中所做的内核配置更改:
CONFIG_MTD_SPI_NOR = y 和 CONFIG_SPI_cadence_QUADSPI=y、
在进行上述修改后、Linux 内核方面会出现一些错误。
错误场景1:dmesg | grep SPI
[2.010726] cadence-QSPI 47040000.SPI:cqspi->wr_delay = 5600
[2.243031] SPI-NOR spi0.0:未知的命令扩展类型
[2.243045] SPI-NOR spi0.0:未知的命令扩展类型
[2.246684] cadence-QSPI 47040000.SPI:在 TX = 16时搜索 rxlow
[3.398274] cadence-QSPI 47040000.SPI:DMA WAIT_for_Complete_TIMEOUT
[3.398328] SPI-NOR spi0.0:-110操作失败
[3.398381] cadence-QSPI 47040000.SPI:rxlow:RX:1 TX:16 RD:1.
[3.399017] cadence-QSPI 47040000.SPI:rxhigh:rx:60 tx:16 rd:2.
[3.39903] cadence-QSPI 47040000.SPI:txlow:rx:15 tx:0 rd:1.
[3.399306] cadence-QSPI 47040000.SPI:txhigh:Rx:15 TX:62 RD:2.
[3.399356] cadence-QSPI 47040000.SPI:右上角:RX:60 TX:62 RD:3.
[3.399358] cadence-QSPI 47040000.SPI:BottomLeft:RX:1 TX:0 RD:1.
[3.399450] cadence-QSPI 47040000.SPI:Gaplow:RX:4 TX:3 RD:1.
[3.402138] cadence-QSPI 47040000.SPI:gaphigh:RX:59 TX:61 RD:3.
[3.402142] cadence-QSPI 47040000.SPI:最终调优点:RX:16 TX:16 RD:1.
[3.402160] cadence-QSPI 47040000.SPI:在最终校准点找不到图形
[3.402163] Cadence-QSPI 47040000.SPI:PHY 校准失败:-22
[3.402166] SPI-NOR spi0.0:mt35xu512aba (65536 KB)
[3.402180]在 MTD 器件47040000.SPI.0上找到的19 cmdlinepart 分区
[3.402181]在"47040000.SPI.0"上创建19个 MTD 分区:
[3.402185] 0x0000000000000000 0x000000080000:"ospi.SBL"
[3.415819] 0x000000080000-0x000000100000:"ospi.tifs_A"
[3.431796]0x000000100000-0x000000180000:"ospI.tifs_b"
[3.447756] 0x000000180000-0x000000580000:"ospi.mcufw_A"
[3.463785] 0x000000580000-0x000000980000:"ospi.mcufw_b"
[3.479748] 0x000000980000-0x000001d80000:“ospi.combine_a"
[3.499784] 0x000001d80000-0x000003180000:“ospi.combine_b"
[3.515773] 0x000003180000-0x0000031a0000:"ospi.MISC_A"
[3.531751] 0x0000031a0000-0x0000031c0000:"ospi.MISC_B"
[3.551791] 0x0000031c0000-0x0000031e0000:"ospi.factory"
[3.567773] 0x0000031e0000-0x000003200000:"ospi.SAFE_A"
[3.583807] 0x000003200000-0x000003220000:"ospi.safe_b"
[3.599760] 0x00000322000-0x000003260000:"ospi.sonardata"
[3.616298] 0x000003260000-0x000003460000:"ospi.mcudata"
[3.631871] 0x000003460000-0x000003480000:"ospi.imudata"
[3.647972] 0x000003480000-0x0000034a0000:"ospi.psstore"
[3.663887] 0x0000034a0000-0x0000036a0000:"ospi.reserved"
[3.679861] 0x000003fe0000-0x000004000000:"ospi.patters"
[3.697061] 0x000000000000-0x000004000000:"ospi.whole_SPI"
[6.630390] cadence-QSPI 47040000.SPI:DMA WAIT_for_Complete_TIMEOUT
[6.630396] SPI-NOR spi0.0:-110操作失败
[8.710337] cadence-QSPI 47040000.SPI:DMA wait_for_Complete_timeout
[8.710342] SPI-NOR spi0.0:-110操作失败
[14.054326] cadence-QSPI 47040000.SPI:DMA WAIT_for_Complete_TIMEOUT
[14.054331] SPI-NOR spi0.0:-110操作失败
错误场景二:
root@Sixi_master:/opt/data #flashcp -v app-master /dev/mtd3
擦除块:6/6 (100%)
写入数据:658k/658k (100%)
验证数据:10K/658k (1%)
从/dev/mtd3读取数据时:连接超时
错误场景三:
18-46-12.794root@Sixi_master:/opt/data flashcp-v app-master /dev/mtd3
18-46-14.131偏置块:6/6 (100%)
18-46-14.738写入数据:658k/658k (100%)
18-46-14.798验证数据:10K/658k (1%)文件似乎与闪存数据不匹配。 0x00000000 0x0000-0x00002800处的第一个不匹配
修改 SPI 模块(SPI-NOR.ko 和 SPI-cadence-quadspi.ko)的加载模式后、为什么会发生上述错误、
请帮助分析 TDA4平台中的"buildin"模式和"ko"模式之间的差异。
Li、
必去之处

