tools: mkimage: Add support for i.MXRT FlexSPI Header

Modify imx8m Flex SPI Configuration Block to work with imxrt.
Add more Flex SPI configuration options to Kconfig.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
Tested-by:  Adam Ford <aford173@gmail.com> #imx8mn-beacon
This commit is contained in:
Jesse Taube 2024-01-23 21:15:16 -05:00 committed by Fabio Estevam
parent 9425977c47
commit b0adbd6f8e
4 changed files with 143 additions and 38 deletions

View file

@ -426,36 +426,39 @@ static int generate_fspi_header (int ifd)
.read_sample = CONFIG_READ_CLK_SOURCE,
.datahold = 0x03,
.datasetup = 0x03,
.coladdrwidth = 0x00,
.coladdrwidth = CONFIG_FSPI_COL_ADDR_W,
.devcfgenable = 0x00,
.reserved_2 = {0x00, 0x00, 0x00},
.deviceModeType = 0x00,
.waitTimeCfgCommands = 0x0000,
.devmodeseq = {0x00, 0x00, 0x00, 0x00},
.devmodearg = {0x00, 0x00, 0x00, 0x00},
.devmodearg = 0x00000000,
.cmd_enable = 0x00,
.reserved_3 = {0x00},
.configModeType = {0x00},
.cmd_seq = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.cmd_arg = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.controllermisc = {0x00, 0x00, 0x00, 0x00},
.controllermisc = cpu_to_le32(CONFIG_FSPI_CONTROLLER_MISC),
.dev_type = CONFIG_DEVICE_TYPE,
.sflash_pad = CONFIG_FLASH_PAD_TYPE,
.serial_clk = CONFIG_SERIAL_CLK_FREQUENCY,
.lut_custom = CONFIG_LUT_CUSTOM_SEQUENCE,
.reserved_4 = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.sflashA1 = {0x00, 0x00, 0x00, 0x10},
.sflashA2 = {0x00, 0x00, 0x00, 0x00},
.sflashB1 = {0x00, 0x00, 0x00, 0x00},
.sflashB2 = {0x00, 0x00, 0x00, 0x00},
.cspadover = {0x00, 0x00, 0x00, 0x00},
.sclkpadover = {0x00, 0x00, 0x00, 0x00},
.datapadover = {0x00, 0x00, 0x00, 0x00},
.dqspadover = {0x00, 0x00, 0x00, 0x00},
.timeout = {0x00, 0x00, 0x00, 0x00},
.commandInt = {0x00, 0x00, 0x00, 0x00},
.datavalid = {0x00, 0x00, 0x00, 0x00},
.busyoffset = {0x00, 0x00},
.busybitpolarity = {0x00, 0x00},
.reserved_2 = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.sflashA1 = cpu_to_le32(CONFIG_FSPI_FLASH_A1_SIZE),
.sflashA2 = 0x00000000,
.sflashB1 = 0x00000000,
.sflashB2 = 0x00000000,
.cspadover = 0x00000000,
.sclkpadover = 0x00000000,
.datapadover = 0x00000000,
.dqspadover = 0x00000000,
.timeout = 0x00000000,
.commandInt = 0x00000000,
.datavalid = {0x0000, 0x0000},
.busyoffset = 0x0000,
.busybitpolarity = 0x0000,
.lutCustomSeq = {0x00},
.reserved_3 = {0x00}
};
for (val = strtok(lut_str, ","); val; val = strtok(NULL, ",")) {