Other Parts Discussed in Thread: TMDSCNCD263P,
Tool/software:
Hi Team,
1. TMDSCNCD263P support QSPI 4S/1S boot mode on AM263Px Control Card Evaluation Module User's Guide, but LP-AM263Px haven't QSPI 1S/4S boot mode information on AM263Px LaunchPad User Guide. Therefore, LP-AM263Px support QSPI 4S/1S mode?
2. I modified OSPI protocol to 1s-1s-1s in ospi_flash_dma example base on SFDP, but the result is an fail. Do I need to modify other configurations?
-
ti_board_open_close.c
/* FLASH DevConfig */ Flash_DevConfig gFlashDevCfg_IS25LX256 = { .cmdExtType = OSPI_CMD_EXT_TYPE_REPEAT, .enable4BAddr = TRUE, .addrByteSupport = 1, .fourByteAddrEnSeq = 0xA1, .cmdWren = 0x06, .cmdRdsr = 0x05, .srWip = (1 << 0), .srWel = (1 << 1), .xspiWipRdCmd = 0x00, .xspiWipReg = 0x00000000, .xspiWipBit = (1 << 0), .resetType = 0x30, .eraseCfg = { .blockSize = 131072, .sectorSize = 4096, .cmdBlockErase3B = 0xD8, .cmdBlockErase4B = 0xDC, .cmdSectorErase3B = 0x20, .cmdSectorErase4B = 0x21, .cmdChipErase = 0xC7, }, .idCfg = { .cmd = 0x9F, /* Constant */ .numBytes = 3, .dummy4 = 0, .dummy8 = 0, .addrSize = 0 }, .protocolCfg = { .protocol = FLASH_CFG_PROTO_1S_1S_1S, .isDtr = FALSE, .cmdRd = 0x03, .cmdWr = 0x02, .modeClksCmd = 0, .modeClksRd = 0, .dummyClksCmd = 0, .dummyClksRd = 0, .enableType = 0xFF, .enableSeq = 0xFF, .dummyCfg = { .isAddrReg = FALSE, .cmdRegRd = 0x00, .cmdRegWr = 0x00, .cfgReg = 0x00, .shift = 0, .mask = 0x00, .cfgRegBitP = 0, }, }, .flashWriteTimeout = 120, .flashBusyTimeout = 72000000, };
-
SFDP
================================================ SFDP ================================================ SFDP Major Revision : 0x1 SFDP Minor Revision : 0x9 Number of Parameter Headers in this Table : 4 Types of Additional Parameter Tables in this flash --------------------------------------------------- 4 BYTE ADDRESSING MODE INSTRUCTIONS TABLE NOR SPI PROFILE TABLE OCTAL DDR MODE COMMAND SEQUENCE TABLE Parsing of OCTAL DDR MODE COMMAND SEQUENCE TABLE table not yet supported. JSON Data for the flash : { "flashSize": 33554432, "flashPageSize": 256, "flashManfId": "0x9D", "flashDeviceId": "0x5A19", "flashBlockSize": 131072, "flashSectorSize": 4096, "cmdBlockErase3B": "0xD8", "cmdBlockErase4B": "0xDC", "cmdSectorErase3B": "0x20", "cmdSectorErase4B": "0x21", "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": null, "p114": null, "p118": { "isDtr": false, "cmdRd": "0x7C", "cmdWr": "0x84", "modeClksCmd": 0, "modeClksRd": 1, "dummyClksCmd": 0, "dummyClksRd": 7, "enableType": "0", "enableSeq": "0x00", "dummyCfg": null, "protoCfg": null, "strDtrCfg": null }, "p444s": null, "p444d": null, "p888s": null, "p888d": { "isDtr": false, "cmdRd": "0x0B", "cmdWr": "0x12", "modeClksCmd": 0, "modeClksRd": 0, "dummyClksCmd": 8, "dummyClksRd": 14, "enableType": "0", "enableSeq": "0x00", "dummyCfg": { "isAddrReg": false, "cmdRegRd":"0x00", "cmdRegWr":"0x00", "cfgReg":"0x00000000", "shift":0, "mask":"0x00", "bitP":14 }, "protoCfg": { "isAddrReg": false, "cmdRegRd": "0x00", "cmdRegWr": "0x00", "cfgReg": "0x00000000", "shift": 0, "mask": "0x00", "bitP": 0 }, "strDtrCfg": { "isAddrReg": false, "cmdRegRd": "0x00", "cmdRegWr": "0x00", "cfgReg": "0x00000000", "shift": 0, "mask": "0x00", "bitP": 0 } }, "pCustom": { "fxn": null } }, "addrByteSupport": "1", "fourByteAddrEnSeq": "0xA1", "cmdExtType": "REPEAT", "resetType": "0x30", "deviceBusyType": "0", "cmdWren": "0x06", "cmdRdsr": "0x05", "srWip": 0, "srWel": 1, "cmdChipErase": "0xC7", "rdIdSettings": { "cmd": "0x9F", "numBytes": 5, "dummy4": 0, "dummy8": 0 }, "xspiWipRdCmd": "0x00", "xspiWipReg": "0x00000000", "xspiWipBit": 0, "flashDeviceBusyTimeout": 72000000, "flashPageProgTimeout": 120 }
Thanks!
Louis,