Other Parts Discussed in Thread: UNIFLASH
Hi experts,
My customer is trying to use MX25L12833F this flash. They put it on our LP-AM263x and run qspi_flash_diag_am263x demo project and get json file as attachment.
{ "flashSize": "16777216", "flashPageSize": "256", "flashManfId": "0xC2", "flashDeviceId": "0x2018", "flashBlockSize": "65536", "flashSectorSize": "4096", "cmdBlockErase3B": "0xD8", "cmdBlockErase4B": "0xD8", "cmdSectorErase3B": "0x20", "cmdSectorErase4B": "0x20", "protos": { "p111": { "isDtr": false, "cmdRd": "0x03", "cmdWr": "0x02", "modeClksCmd": 0, "modeClksRd": 0, "dummyClksCmd": 0, "dummyClksRd": 0, "enableType": "0", "enableSeq": "0x00", "dummyCfg": null, "protoCfg": null, "strDtrCfg": null, }, "p112": { "isDtr": false, "cmdRd": "0x3B", "cmdWr": "0x02", "modeClksCmd": 0, "modeClksRd": 0, "dummyClksCmd": 0, "dummyClksRd": 8, "enableType": "0", "enableSeq": "0x00", "dummyCfg": null, "protoCfg": null, "strDtrCfg": null, }, "p114": { "isDtr": false, "cmdRd": "0x6B", "cmdWr": "0x02", "modeClksCmd": 0, "modeClksRd": 0, "dummyClksCmd": 0, "dummyClksRd": 8, "enableType": "255", "enableSeq": "0x00", "dummyCfg": null, "protoCfg": null, "strDtrCfg": null, }, "p118": null, "p444s": null, "p444d": null, "p888s": null, "p888d": null, "pCustom": null }, "addrByteSupport": "0", "fourByteAddrEnSeq": "0x00", "resetType": "0x10", "cmdWren": "0x06", "cmdRdsr": "0x05", "srWip": 0, "srWel": 1, "cmdChipErase": "0xC7", "flashDeviceBusyTimeout": 0, "flashPageProgTimeout": 400 }
We meet problem to load json file. So we key in flash parameters manually. However, some questions may need your help to clarify:
1. in json file, p114 1s-1s-4s protocol
"enableType": "255",
"enableSeq": "0x00",
There is no enable type "255" in syscfg, and according flash datasheet we need to use type "2" to set QE bit
how is this type coming from?
What does "enableSeq": "0x00" mean?
2. Timeout value:
In json file,
"flashDeviceBusyTimeout": 0,
"flashPageProgTimeout": 400
however, in qspi flash driver source codes, these two values just default timer values which count down in a while loop. if timer set to 0, it means it timeout immediately and we will get timeout error since erase,flash write needs some time to accomplish it. Can you please check why we get these two values from diag demo?
Regards
Andre