<div dir="ltr">Hi All,<br><div><br></div><div>We figured that the issue here is with part MX25L25635F not supporting 4B dual mode opcode - 0x3c. It instead uses 0x3b.</div><div><br></div><div>aspeed-smc enables dual mode by default with SNOR_HWCAPS_READ_1_1_2 in the setup, </div><div>and hence disabling dual mode from 

flash_info table in spi-nor is not helpful.</div><div><br></div><div>I see that there is no way to override opcode in spi-nor framework either.</div><div>There are a couple of queries here -</div><div>1. Why is SNOR_HWCAPS_READ_1_1_2 enabled by default in aspeed-smc, while we could have done with the flash_info table?</div><div>2. Can there be an extension in spi-nor to support read opcode override?<br></div><div><br></div><div>Any thoughts on what would be the preferred fix? <br></div><div><br></div><div>Thanks,</div><div>Shakeeb</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 18, 2021 at 9:32 PM Shakeeb B K <<a href="mailto:shakeebbk@gmail.com" target="_blank">shakeebbk@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi All,<br><div><br></div><div>We are working with Macronix MX25L25635F, and are not able to get spi nor access working from linux(develop-5.10).</div><div>u-boot flash drivers work fine - able to verify the flash contents.</div><div>But linux aspeed-smc seems to be having issues, with read calibration failing all the time</div><div><font face="monospace" size="1">[    1.746960] aspeed-smc 1e620000.spi: Using 50 MHz SPI frequency<br>[    1.753028] aspeed-smc 1e620000.spi: control register: 000b0641<br>[    1.758982] aspeed-smc 1e620000.spi: control register changed to: 00000600<br>[    1.765947] aspeed-smc 1e620000.spi: default control register: 00000600<br>[    1.772810] aspeed-smc 1e620000.spi: mx25l25635e (32768 Kbytes)<br>[    1.778773] aspeed-smc 1e620000.spi: CE0 window [ 0x20000000 - 0x22000000 ] 32MB<br>[    1.786286] aspeed-smc 1e620000.spi: CE1 window [ 0x22000000 - 0x2a000000 ] 128MB<br>[    1.793873] aspeed-smc 1e620000.spi: write control register: 00120602<br>[    1.800341] aspeed-smc 1e620000.spi: <font color="#9900ff">read control register: 203c0641</font><br>[    1.806791] aspeed-smc 1e620000.spi: AHB frequency: 198 MHz<br>[    1.823440] aspeed-smc 1e620000.spi: Trying HCLK/5 [203c0d41] ...<br>[    1.831524] aspeed-smc 1e620000.spi:   * [00080000] 0 HCLK delay, 4ns DI delay : FAIL<br>[    1.841333] aspeed-smc 1e620000.spi:   * [00000000] 0 HCLK delay, 0ns DI delay : FAIL<br>[    1.851152] aspeed-smc 1e620000.spi:   * [00090000] 1 HCLK delay, 4ns DI delay : FAIL<br>[    1.860969] aspeed-smc 1e620000.spi:   * [00010000] 1 HCLK delay, 0ns DI delay : FAIL<br>[    1.870746] aspeed-smc 1e620000.spi:   * [000a0000] 2 HCLK delay, 4ns DI delay : FAIL<br>[    1.880579] aspeed-smc 1e620000.spi:   * [00020000] 2 HCLK delay, 0ns DI delay : FAIL<br>[    1.890435] aspeed-smc 1e620000.spi:   * [000b0000] 3 HCLK delay, 4ns DI delay : FAIL<br>[    1.900301] aspeed-smc 1e620000.spi:   * [00030000] 3 HCLK delay, 0ns DI delay : FAIL<br>[    1.910182] aspeed-smc 1e620000.spi:   * [000c0000] 4 HCLK delay, 4ns DI delay : FAIL<br>[    1.920060] aspeed-smc 1e620000.spi:   * [00040000] 4 HCLK delay, 0ns DI delay : FAIL<br>[    1.929964] aspeed-smc 1e620000.spi:   * [000d0000] 5 HCLK delay, 4ns DI delay : FAIL<br>[    1.939869] aspeed-smc 1e620000.spi:   * [00050000] 5 HCLK delay, 0ns DI delay : FAIL<br>[    1.947796] aspeed-smc 1e620000.spi: Trying HCLK/4 [203c0641] ...<br>[    1.955529] aspeed-smc 1e620000.spi:   * [00008000] 0 HCLK delay, 4ns DI delay : FAIL<br>[    1.964998] aspeed-smc 1e620000.spi:   * [00000000] 0 HCLK delay, 0ns DI delay : FAIL<br>[    1.974483] aspeed-smc 1e620000.spi:   * [00009000] 1 HCLK delay, 4ns DI delay : FAIL<br>[    1.983967] aspeed-smc 1e620000.spi:   * [00001000] 1 HCLK delay, 0ns DI delay : FAIL<br>[    1.993475] aspeed-smc 1e620000.spi:   * [0000a000] 2 HCLK delay, 4ns DI delay : FAIL<br>[    2.002986] aspeed-smc 1e620000.spi:   * [00002000] 2 HCLK delay, 0ns DI delay : FAIL<br>[    2.012508] aspeed-smc 1e620000.spi:   * [0000b000] 3 HCLK delay, 4ns DI delay : FAIL<br>[    2.022035] aspeed-smc 1e620000.spi:   * [00003000] 3 HCLK delay, 0ns DI delay : FAIL<br>[    2.031581] aspeed-smc 1e620000.spi:   * [0000c000] 4 HCLK delay, 4ns DI delay : FAIL<br>[    2.041131] aspeed-smc 1e620000.spi:   * [00004000] 4 HCLK delay, 0ns DI delay : FAIL<br>[    2.050639] aspeed-smc 1e620000.spi:   * [0000d000] 5 HCLK delay, 4ns DI delay : FAIL<br>[    2.060203] aspeed-smc 1e620000.spi:   * [00005000] 5 HCLK delay, 0ns DI delay : FAIL<br>[    2.068116] aspeed-smc 1e620000.spi: <font color="#9900ff">No good frequency, using dumb slow</font><br>[    2.077460] 5 fixed-partitions partitions found on MTD device bmc<br>[    2.083721] Creating 5 MTD partitions on "bmc":<br>[    2.088289] 0x000000000000-0x000000060000 : "u-boot"<br>[    2.096067] 0x000000060000-0x000000080000 : "u-boot-env"<br>[    2.104054] 0x000000080000-0x0000004c0000 : "kernel"<br>[    2.111699] 0x0000004c0000-0x000001c00000 : "rofs"<br>[    2.119091] 0x000001c00000-0x000002000000 : "rwfs"<br></font></div><div><font face="monospace" size="1">...</font></div><div><font face="monospace" size="1">rofs = mtd4 squashfs rwfs = mtd5 jffs2<br><font color="#9900ff">mount: mounting /dev/mtdblock4 on run/initramfs/ro failed: Invalid argument</font><br>[    3.654132] jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x0000000c)<br>[    3.685843] jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x00000044)<br>[    3.694229] overlayfs: upper fs does not support tmpfile.<br>[    3.699946] jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x0000002c)<br>[    3.708309] jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x00000044)<br>[    3.716672] overlayfs: upper fs does not support RENAME_WHITEOUT.<br>[    3.722885] overlayfs: upper fs does not support xattr, falling back to index=off and metacopy=off.<br>chroot: can't execute '/bin/sh': No such file or directory</font><br><font face="monospace" size="1"><br>Unable to confirm /sbin/init is an executable non-empty file<br>in merged file system mounted at /root.</font><br></div><div><br></div><div>Found a related discussion on <a href="https://lists.ozlabs.org/pipermail/openbmc/2019-April/015925.html" target="_blank">https://lists.ozlabs.org/pipermail/openbmc/2019-April/015925.html</a>, </div><div>but the workaround mentioned there - to drop read calibration with <i>optimize_read=false </i>didn't help.</div><div>FYI - Able to boot the same image from tftpboot and qemu.</div><div><br></div><div>Has anyone come across similar issue or any suggestions to try out?</div><div><br></div><div>Thanks,</div><div>Shakeeb</div><div><br></div></div>
</blockquote></div>