External Memory Configuration Data (XMCD)
The XMCD is used for configuration of external memories (RAM)
XMCD template for rt116x and flexspi_ram
family(string): MCU family name. Must be one of:["rt116x", "rt117x", "rt118x"].revision(string): If needed this could be used to specify silicon revision of device. Must be one of:["latest"].mem_type(string): Specify type of memory used by XMCD description. Must be one of:["flexspi_ram", "semc_sdram"].config_type(string): Specify type of configuration used by XMCD description. Must be one of:["simplified", "full"].xmcd_settings(object)header(object): XMCD Header.bitfields(object, required)configurationBlockSize([‘string’, ‘number’]): Configuration block size including XMCD header itself.configurationBlockType([‘string’, ‘number’]): Configuration block type: 0 - Simplified, 1 - Full.instance([‘string’, ‘number’]): SoC defined instances.memoryInterface([‘string’, ‘number’]): Memory interface: 0 - FlexSPI, 1 - SEMC.version([‘string’, ‘number’]): Version, fixed value 0x0.tag([‘string’, ‘number’]): Tag, fixed value 0xC.
tag(object): [0x000-0x003] Tag: fixed value 0x62666366, ascii: ‘fcfb’.value([‘string’, ‘number’], required): [0x000-0x003] Tag: fixed value 0x62666366, ascii: ‘fcfb’.
version(object): [0x004-0x007] Version: [31:24] - ‘V’, [23:16] - Major, [15:8] - Minor, [7:0] - bugfix.bitfields(object, required)bugfix([‘string’, ‘number’]): bugfix.major([‘string’, ‘number’]): major = 1.minor([‘string’, ‘number’]): minor.ascii([‘string’, ‘number’]): ascii ‘V’.
reserved0(object): [0x008-0x00b] Reserved for future use.value([‘string’, ‘number’], required): [0x008-0x00b] Reserved for future use.
readSampleClkSrc(object): [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3.value([‘string’, ‘number’], required): [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3.
csHoldTime(object): [0x00d-0x00d] CS hold time, default value: 3.value([‘string’, ‘number’], required): [0x00d-0x00d] CS hold time, default value: 3.
csSetupTime(object): [0x00e-0x00e] CS setup time, default value: 3.value([‘string’, ‘number’], required): [0x00e-0x00e] CS setup time, default value: 3.
columnAddressWidth(object): [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet.value([‘string’, ‘number’], required): [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet.
deviceModeCfgEnable(object): [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled.value([‘string’, ‘number’], required): [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled.
deviceModeType(object): [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.value([‘string’, ‘number’], required): [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
waitTimeCfgCommands(object): [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command.value([‘string’, ‘number’], required): [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command.
deviceModeSeq(object): [0x014-0x017] Device mode sequence info, [7:0] - LUT number of sequences, [15:8] - LUT sequence index, [31:16] Reserved.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved, fixed to 0.
deviceModeArg(object): [0x018-0x01b] Argument/Parameter for device configuration.value([‘string’, ‘number’], required): [0x018-0x01b] Argument/Parameter for device configuration.
configCmdEnable(object): [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable.value([‘string’, ‘number’], required): [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable.
configModeType_0(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0].
configModeType_1(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1].
configModeType_2(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2].
configCmdSeqs_0(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
configCmdSeqs_1(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
configCmdSeqs_2(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
reserved1(object): [0x02c-0x02f] Reserved for future use.value([‘string’, ‘number’], required): [0x02c-0x02f] Reserved for future use.
configCmdArgs_0(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
configCmdArgs_1(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
configCmdArgs_2(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
reserved2(object): [0x03c-0x03f] Reserved for future use.value([‘string’, ‘number’], required): [0x03c-0x03f] Reserved for future use.
controllerMiscOption(object): [0x040-0x043] Controller Misc Option, see Misc feature bit definitions for more details.bitfields(object, required)bit0([‘string’, ‘number’]): Bit0 - differential clock enable.bit1([‘string’, ‘number’]): Bit1 - CK2 enable.bit2([‘string’, ‘number’]): Bit2 - ParallelModeEnable.bit3([‘string’, ‘number’]): Bit3 - wordAddressableEnable.bit4([‘string’, ‘number’]): Bit4 - Half-Speed access enable.bit5([‘string’, ‘number’]): Bit5 - Pad Settings Override Enable.bit6([‘string’, ‘number’]): Bit6 - DDR Mode Enable.bit7([‘string’, ‘number’]): Bit7 - Pad Settings Overide Enable.bit8([‘string’, ‘number’]): Bit8 - Second Pinmux group.bit9([‘string’, ‘number’]): Bit9 - Second DQS pi mux group.bit10([‘string’, ‘number’]): Bit10 - Write Mask Enable.bit11([‘string’, ‘number’]): Bit11 - Write Opt1 Clear.reserved([‘string’, ‘number’]): N/A.
deviceType(object): [0x044-0x044] Device Type: See Flash Type Definition for more details.value([‘string’, ‘number’], required): [0x044-0x044] Device Type: See Flash Type Definition for more details.
sflashPadType(object): [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal.value([‘string’, ‘number’], required): [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal.
serialClkFreq(object): [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details.value([‘string’, ‘number’], required): [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details.
lutCustomSeqEnable(object): [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH.value([‘string’, ‘number’], required): [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH.
reserved3_0(object): [0x048-0x04f] Reserved for future use.value([‘string’, ‘number’], required): [0x048-0x04f] Reserved for future use.
reserved3_1(object): [0x048-0x04f] Reserved for future use.value([‘string’, ‘number’], required): [0x048-0x04f] Reserved for future use.
sflashA1Size(object): [0x050-0x053] Size of Flash connected to A1.value([‘string’, ‘number’], required): [0x050-0x053] Size of Flash connected to A1.
sflashA2Size(object): [0x054-0x057] Size of Flash connected to A2.value([‘string’, ‘number’], required): [0x054-0x057] Size of Flash connected to A2.
sflashB1Size(object): [0x058-0x05b] Size of Flash connected to B1.value([‘string’, ‘number’], required): [0x058-0x05b] Size of Flash connected to B1.
sflashB2Size(object): [0x05c-0x05f] Size of Flash connected to B2.value([‘string’, ‘number’], required): [0x05c-0x05f] Size of Flash connected to B2.
csPadSettingOverride(object): [0x060-0x063] CS pad setting override value.value([‘string’, ‘number’], required): [0x060-0x063] CS pad setting override value.
sclkPadSettingOverride(object): [0x064-0x067] SCK pad setting override value.value([‘string’, ‘number’], required): [0x064-0x067] SCK pad setting override value.
dataPadSettingOverride(object): [0x068-0x06b] data pad setting override value.value([‘string’, ‘number’], required): [0x068-0x06b] data pad setting override value.
dqsPadSettingOverride(object): [0x06c-0x06f] DQS pad setting override value.value([‘string’, ‘number’], required): [0x06c-0x06f] DQS pad setting override value.
timeoutInMs(object): [0x070-0x073] Timeout threshold for read status command.value([‘string’, ‘number’], required): [0x070-0x073] Timeout threshold for read status command.
commandInterval(object): [0x074-0x077] CS deselect interval between two commands.value([‘string’, ‘number’], required): [0x074-0x077] CS deselect interval between two commands.
dataValidTime_0(object): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.value([‘string’, ‘number’], required): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.
dataValidTime_1(object): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.value([‘string’, ‘number’], required): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.
busyOffset(object): [0x07c-0x07d] Busy offset, valid value: 0-31.value([‘string’, ‘number’], required): [0x07c-0x07d] Busy offset, valid value: 0-31.
busyBitPolarity(object): [0x07e-0x07f] Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - busy flag is 0 when flash device is busy.bitfields(object, required)busyBitPolarity([‘string’, ‘number’]): Busy flag polarity.
lookupTable_0(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_1(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_2(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_3(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_4(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_5(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_6(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_7(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_8(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_9(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_10(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_11(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_12(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_13(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_14(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_15(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_16(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_17(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_18(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_19(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_20(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_21(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_22(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_23(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_24(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_25(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_26(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_27(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_28(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_29(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_30(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_31(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_32(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_33(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_34(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_35(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_36(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_37(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_38(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_39(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_40(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_41(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_42(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_43(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_44(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_45(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_46(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_47(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_48(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_49(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_50(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_51(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_52(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_53(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_54(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_55(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_56(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_57(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_58(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_59(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_60(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_61(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_62(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_63(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lutCustomSeq_0(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_1(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_2(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_3(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_4(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_5(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_6(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_7(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_8(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_9(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_10(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_11(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
reserved4_0(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_1(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_2(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_3(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
pageSize(object): Page size of Serial NOR.value([‘string’, ‘number’], required): Page size of Serial NOR.
sectorSize(object): Sector size of Serial NOR.value([‘string’, ‘number’], required): Sector size of Serial NOR.
ipcmdSerialClkFreq(object): Clock frequency for IP command.value([‘string’, ‘number’], required): Clock frequency for IP command.
isUniformBlockSize(object): Sector/Block size is the same.value([‘string’, ‘number’], required): Sector/Block size is the same.
reserved0_0(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserved0_1(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
serialNorType(object): Serial NOR Flash type: 0/1/2/3.value([‘string’, ‘number’], required): Serial NOR Flash type: 0/1/2/3.
needExitNoCmdMode(object): Need to exit NoCmd mode before other IP command.value([‘string’, ‘number’], required): Need to exit NoCmd mode before other IP command.
halfClkForNonReadCmd(object): Half the Serial Clock for non-read command: true/false.value([‘string’, ‘number’], required): Half the Serial Clock for non-read command: true/false.
needRestoreNoCmdMode(object): Need to Restore NoCmd mode after IP commmand execution.value([‘string’, ‘number’], required): Need to Restore NoCmd mode after IP commmand execution.
blockSize(object): Block size.value([‘string’, ‘number’], required): Block size.
reserve2_0(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_1(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_2(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_3(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_4(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_5(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_6(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_7(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_8(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_9(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_10(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
# =========== XMCD template for rt116x and flexspi_ram ===========
# ----------------------------------------------------------------------------------------------------
# == XMCD template for rt116x and flexspi_ram ==
# ----------------------------------------------------------------------------------------------------
family: CHOOSE_FROM_TABLE # [Required], MCU family name; Possible options:['rt116x', 'rt117x', 'rt118x']
revision: latest # [Optional], Chip silicon revision; If needed this could be used to specify silicon revision of device; Possible options:['latest']
mem_type: flexspi_ram # [Required], Memory type; Specify type of memory used by XMCD description; Possible options:['flexspi_ram', 'semc_sdram']
config_type: simplified # [Required], Configuration type; Specify type of configuration used by XMCD description; Possible options:['simplified', 'full']
xmcd_settings: # [Required], rt116x
header: # [Optional], header; XMCD Header
bitfields: # [Required]
configurationBlockSize: 516 # [Optional], configurationBlockSize; Configuration block size including XMCD header itself
configurationBlockType: 1 # [Optional], configurationBlockType; Configuration block type: 0 - Simplified, 1 - Full
instance: 0 # [Optional], instance; SoC defined instances
memoryInterface: 0 # [Optional], memoryInterface; Memory interface: 0 - FlexSPI, 1 - SEMC
version: 0 # [Optional], Version, fixed value 0x0
tag: 12 # [Optional], Tag, fixed value 0xC
tag: # [Optional], tag; [0x000-0x003] Tag: fixed value 0x62666366, ascii: 'fcfb'
value: '0x00000000' # [Required], tag; [0x000-0x003] Tag: fixed value 0x62666366, ascii: 'fcfb'
version: # [Optional], version; [0x004-0x007] Version: [31:24] - 'V', [23:16] - Major, [15:8] - Minor, [7:0] - bugfix
bitfields: # [Required]
bugfix: 0 # [Optional], bugfix; bugfix
major: 1 # [Optional], major; major = 1
minor: 0 # [Optional], minor; minor
ascii: 0 # [Optional], ascii; ascii 'V'
reserved0: # [Optional], reserved0; [0x008-0x00b] Reserved for future use
value: '0x00000000' # [Required], reserved0; [0x008-0x00b] Reserved for future use
readSampleClkSrc: # [Optional], readSampleClkSrc; [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3
value: '0x00' # [Required], readSampleClkSrc; [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3
csHoldTime: # [Optional], csHoldTime; [0x00d-0x00d] CS hold time, default value: 3
value: '0x03' # [Required], csHoldTime; [0x00d-0x00d] CS hold time, default value: 3
csSetupTime: # [Optional], csSetupTime; [0x00e-0x00e] CS setup time, default value: 3
value: '0x03' # [Required], csSetupTime; [0x00e-0x00e] CS setup time, default value: 3
columnAddressWidth: # [Optional], columnAddressWidth; [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet
value: '0x03' # [Required], columnAddressWidth; [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet
deviceModeCfgEnable: # [Optional], deviceModeCfgEnable; [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled
value: '0x00' # [Required], deviceModeCfgEnable; [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled
deviceModeType: # [Optional], deviceModeType; [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
value: '0x00' # [Required], deviceModeType; [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
waitTimeCfgCommands: # [Optional], waitTimeCfgCommands; [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command
value: '0x0000' # [Required], waitTimeCfgCommands; [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command
deviceModeSeq: # [Optional], deviceModeSeq; [0x014-0x017] Device mode sequence info, [7:0] - LUT number of sequences, [15:8] - LUT sequence index, [31:16] Reserved
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved, fixed to 0
deviceModeArg: # [Optional], deviceModeArg; [0x018-0x01b] Argument/Parameter for device configuration
value: '0x00000000' # [Required], deviceModeArg; [0x018-0x01b] Argument/Parameter for device configuration
configCmdEnable: # [Optional], configCmdEnable; [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable
value: '0x00' # [Required], configCmdEnable; [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable
configModeType_0: # [Optional], configModeType_0; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0]
value: '0x00' # [Required], configModeType_0; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0]
configModeType_1: # [Optional], configModeType_1; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1]
value: '0x00' # [Required], configModeType_1; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1]
configModeType_2: # [Optional], configModeType_2; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2]
value: '0x00' # [Required], configModeType_2; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2]
configCmdSeqs_0: # [Optional], configCmdSeqs_0; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
configCmdSeqs_1: # [Optional], configCmdSeqs_1; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
configCmdSeqs_2: # [Optional], configCmdSeqs_2; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
reserved1: # [Optional], reserved1; [0x02c-0x02f] Reserved for future use
value: '0x00000000' # [Required], reserved1; [0x02c-0x02f] Reserved for future use
configCmdArgs_0: # [Optional], configCmdArgs_0; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_0; [0x030-0x03b] Arguments/Parameters for device Configuration commands
configCmdArgs_1: # [Optional], configCmdArgs_1; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_1; [0x030-0x03b] Arguments/Parameters for device Configuration commands
configCmdArgs_2: # [Optional], configCmdArgs_2; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_2; [0x030-0x03b] Arguments/Parameters for device Configuration commands
reserved2: # [Optional], reserved2; [0x03c-0x03f] Reserved for future use
value: '0x00000000' # [Required], reserved2; [0x03c-0x03f] Reserved for future use
controllerMiscOption: # [Optional], controllerMiscOption; [0x040-0x043] Controller Misc Option, see Misc feature bit definitions for more details
bitfields: # [Required]
bit0: 0 # [Optional], bit0; Bit0 - differential clock enable
bit1: 0 # [Optional], bit1; Bit1 - CK2 enable
bit2: 0 # [Optional], bit2; Bit2 - ParallelModeEnable
bit3: 0 # [Optional], bit3; Bit3 - wordAddressableEnable
bit4: 0 # [Optional], bit4; Bit4 - Half-Speed access enable
bit5: 0 # [Optional], bit5; Bit5 - Pad Settings Override Enable
bit6: 0 # [Optional], bit6; Bit6 - DDR Mode Enable
bit7: 0 # [Optional], bit7; Bit7 - Pad Settings Overide Enable
bit8: 0 # [Optional], bit8; Bit8 - Second Pinmux group
bit9: 0 # [Optional], bit9; Bit9 - Second DQS pi mux group
bit10: 0 # [Optional], bit10; Bit10 - Write Mask Enable
bit11: 0 # [Optional], bit11; Bit11 - Write Opt1 Clear
reserved: 0 # [Optional], reserved; N/A
deviceType: # [Optional], deviceType; [0x044-0x044] Device Type: See Flash Type Definition for more details
value: '0x03' # [Required], deviceType; [0x044-0x044] Device Type: See Flash Type Definition for more details
sflashPadType: # [Optional], sflashPadType; [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal
value: '0x01' # [Required], sflashPadType; [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal
serialClkFreq: # [Optional], serialClkFreq; [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details
value: '0x00' # [Required], serialClkFreq; [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details
lutCustomSeqEnable: # [Optional], lutCustomSeqEnable; [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH
value: '0x00' # [Required], lutCustomSeqEnable; [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH
reserved3_0: # [Optional], reserved3_0; [0x048-0x04f] Reserved for future use
value: '0x00000000' # [Required], reserved3_0; [0x048-0x04f] Reserved for future use
reserved3_1: # [Optional], reserved3_1; [0x048-0x04f] Reserved for future use
value: '0x00000000' # [Required], reserved3_1; [0x048-0x04f] Reserved for future use
sflashA1Size: # [Optional], sflashA1Size; [0x050-0x053] Size of Flash connected to A1
value: '0x00000000' # [Required], sflashA1Size; [0x050-0x053] Size of Flash connected to A1
sflashA2Size: # [Optional], sflashA2Size; [0x054-0x057] Size of Flash connected to A2
value: '0x00000000' # [Required], sflashA2Size; [0x054-0x057] Size of Flash connected to A2
sflashB1Size: # [Optional], sflashB1Size; [0x058-0x05b] Size of Flash connected to B1
value: '0x00000000' # [Required], sflashB1Size; [0x058-0x05b] Size of Flash connected to B1
sflashB2Size: # [Optional], sflashB2Size; [0x05c-0x05f] Size of Flash connected to B2
value: '0x00000000' # [Required], sflashB2Size; [0x05c-0x05f] Size of Flash connected to B2
csPadSettingOverride: # [Optional], csPadSettingOverride; [0x060-0x063] CS pad setting override value
value: '0x00000000' # [Required], csPadSettingOverride; [0x060-0x063] CS pad setting override value
sclkPadSettingOverride: # [Optional], sclkPadSettingOverride; [0x064-0x067] SCK pad setting override value
value: '0x00000000' # [Required], sclkPadSettingOverride; [0x064-0x067] SCK pad setting override value
dataPadSettingOverride: # [Optional], dataPadSettingOverride; [0x068-0x06b] data pad setting override value
value: '0x00000000' # [Required], dataPadSettingOverride; [0x068-0x06b] data pad setting override value
dqsPadSettingOverride: # [Optional], dqsPadSettingOverride; [0x06c-0x06f] DQS pad setting override value
value: '0x00000000' # [Required], dqsPadSettingOverride; [0x06c-0x06f] DQS pad setting override value
timeoutInMs: # [Optional], timeoutInMs; [0x070-0x073] Timeout threshold for read status command
value: '0x00000000' # [Required], timeoutInMs; [0x070-0x073] Timeout threshold for read status command
commandInterval: # [Optional], commandInterval; [0x074-0x077] CS deselect interval between two commands
value: '0x00000000' # [Required], commandInterval; [0x074-0x077] CS deselect interval between two commands
dataValidTime_0: # [Optional], dataValidTime_0; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
value: '0x0000' # [Required], dataValidTime_0; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
dataValidTime_1: # [Optional], dataValidTime_1; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
value: '0x0000' # [Required], dataValidTime_1; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
busyOffset: # [Optional], busyOffset; [0x07c-0x07d] Busy offset, valid value: 0-31
value: '0x0000' # [Required], busyOffset; [0x07c-0x07d] Busy offset, valid value: 0-31
busyBitPolarity: # [Optional], busyBitPolarity; [0x07e-0x07f] Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - busy flag is 0 when flash device is busy
bitfields: # [Required]
busyBitPolarity: 0 # [Optional], busyBitPolarity; Busy flag polarity
lookupTable_0: # [Optional], lookupTable_0; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_0; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_1: # [Optional], lookupTable_1; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_1; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_2: # [Optional], lookupTable_2; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_2; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_3: # [Optional], lookupTable_3; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_3; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_4: # [Optional], lookupTable_4; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_4; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_5: # [Optional], lookupTable_5; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_5; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_6: # [Optional], lookupTable_6; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_6; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_7: # [Optional], lookupTable_7; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_7; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_8: # [Optional], lookupTable_8; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_8; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_9: # [Optional], lookupTable_9; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_9; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_10: # [Optional], lookupTable_10; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_10; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_11: # [Optional], lookupTable_11; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_11; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_12: # [Optional], lookupTable_12; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_12; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_13: # [Optional], lookupTable_13; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_13; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_14: # [Optional], lookupTable_14; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_14; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_15: # [Optional], lookupTable_15; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_15; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_16: # [Optional], lookupTable_16; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_16; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_17: # [Optional], lookupTable_17; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_17; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_18: # [Optional], lookupTable_18; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_18; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_19: # [Optional], lookupTable_19; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_19; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_20: # [Optional], lookupTable_20; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_20; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_21: # [Optional], lookupTable_21; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_21; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_22: # [Optional], lookupTable_22; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_22; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_23: # [Optional], lookupTable_23; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_23; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_24: # [Optional], lookupTable_24; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_24; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_25: # [Optional], lookupTable_25; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_25; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_26: # [Optional], lookupTable_26; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_26; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_27: # [Optional], lookupTable_27; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_27; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_28: # [Optional], lookupTable_28; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_28; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_29: # [Optional], lookupTable_29; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_29; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_30: # [Optional], lookupTable_30; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_30; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_31: # [Optional], lookupTable_31; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_31; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_32: # [Optional], lookupTable_32; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_32; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_33: # [Optional], lookupTable_33; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_33; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_34: # [Optional], lookupTable_34; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_34; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_35: # [Optional], lookupTable_35; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_35; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_36: # [Optional], lookupTable_36; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_36; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_37: # [Optional], lookupTable_37; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_37; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_38: # [Optional], lookupTable_38; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_38; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_39: # [Optional], lookupTable_39; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_39; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_40: # [Optional], lookupTable_40; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_40; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_41: # [Optional], lookupTable_41; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_41; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_42: # [Optional], lookupTable_42; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_42; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_43: # [Optional], lookupTable_43; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_43; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_44: # [Optional], lookupTable_44; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_44; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_45: # [Optional], lookupTable_45; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_45; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_46: # [Optional], lookupTable_46; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_46; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_47: # [Optional], lookupTable_47; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_47; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_48: # [Optional], lookupTable_48; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_48; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_49: # [Optional], lookupTable_49; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_49; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_50: # [Optional], lookupTable_50; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_50; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_51: # [Optional], lookupTable_51; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_51; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_52: # [Optional], lookupTable_52; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_52; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_53: # [Optional], lookupTable_53; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_53; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_54: # [Optional], lookupTable_54; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_54; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_55: # [Optional], lookupTable_55; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_55; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_56: # [Optional], lookupTable_56; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_56; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_57: # [Optional], lookupTable_57; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_57; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_58: # [Optional], lookupTable_58; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_58; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_59: # [Optional], lookupTable_59; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_59; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_60: # [Optional], lookupTable_60; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_60; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_61: # [Optional], lookupTable_61; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_61; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_62: # [Optional], lookupTable_62; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_62; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_63: # [Optional], lookupTable_63; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_63; [0x080-0x17f] Lookup table holds Flash command sequences
lutCustomSeq_0: # [Optional], lutCustomSeq_0; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_1: # [Optional], lutCustomSeq_1; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_2: # [Optional], lutCustomSeq_2; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_3: # [Optional], lutCustomSeq_3; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_4: # [Optional], lutCustomSeq_4; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_5: # [Optional], lutCustomSeq_5; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_6: # [Optional], lutCustomSeq_6; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_7: # [Optional], lutCustomSeq_7; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_8: # [Optional], lutCustomSeq_8; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_9: # [Optional], lutCustomSeq_9; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_10: # [Optional], lutCustomSeq_10; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_11: # [Optional], lutCustomSeq_11; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
reserved4_0: # [Optional], reserved4_0; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_0; [0x1b0-0x1bf] Reserved for future use
reserved4_1: # [Optional], reserved4_1; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_1; [0x1b0-0x1bf] Reserved for future use
reserved4_2: # [Optional], reserved4_2; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_2; [0x1b0-0x1bf] Reserved for future use
reserved4_3: # [Optional], reserved4_3; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_3; [0x1b0-0x1bf] Reserved for future use
pageSize: # [Optional], pageSize; Page size of Serial NOR
value: '0x00000000' # [Required], pageSize; Page size of Serial NOR
sectorSize: # [Optional], sectorSize; Sector size of Serial NOR
value: '0x00000000' # [Required], sectorSize; Sector size of Serial NOR
ipcmdSerialClkFreq: # [Optional], ipcmdSerialClkFreq; Clock frequency for IP command
value: '0x00' # [Required], ipcmdSerialClkFreq; Clock frequency for IP command
isUniformBlockSize: # [Optional], isUniformBlockSize; Sector/Block size is the same
value: '0x00' # [Required], isUniformBlockSize; Sector/Block size is the same
reserved0_0: # [Optional], reserved0_0; Reserved for future use
value: '0x00' # [Required], reserved0_0; Reserved for future use
reserved0_1: # [Optional], reserved0_1; Reserved for future use
value: '0x00' # [Required], reserved0_1; Reserved for future use
serialNorType: # [Optional], serialNorType; Serial NOR Flash type: 0/1/2/3
value: '0x00' # [Required], serialNorType; Serial NOR Flash type: 0/1/2/3
needExitNoCmdMode: # [Optional], needExitNoCmdMode; Need to exit NoCmd mode before other IP command
value: '0x00' # [Required], needExitNoCmdMode; Need to exit NoCmd mode before other IP command
halfClkForNonReadCmd: # [Optional], halfClkForNonReadCmd; Half the Serial Clock for non-read command: true/false
value: '0x00' # [Required], halfClkForNonReadCmd; Half the Serial Clock for non-read command: true/false
needRestoreNoCmdMode: # [Optional], needRestoreNoCmdMode; Need to Restore NoCmd mode after IP commmand execution
value: '0x00' # [Required], needRestoreNoCmdMode; Need to Restore NoCmd mode after IP commmand execution
blockSize: # [Optional], blockSize; Block size
value: '0x00000000' # [Required], blockSize; Block size
reserve2_0: # [Optional], reserve2_0; Reserved for future use
value: '0x00000000' # [Required], reserve2_0; Reserved for future use
reserve2_1: # [Optional], reserve2_1; Reserved for future use
value: '0x00000000' # [Required], reserve2_1; Reserved for future use
reserve2_2: # [Optional], reserve2_2; Reserved for future use
value: '0x00000000' # [Required], reserve2_2; Reserved for future use
reserve2_3: # [Optional], reserve2_3; Reserved for future use
value: '0x00000000' # [Required], reserve2_3; Reserved for future use
reserve2_4: # [Optional], reserve2_4; Reserved for future use
value: '0x00000000' # [Required], reserve2_4; Reserved for future use
reserve2_5: # [Optional], reserve2_5; Reserved for future use
value: '0x00000000' # [Required], reserve2_5; Reserved for future use
reserve2_6: # [Optional], reserve2_6; Reserved for future use
value: '0x00000000' # [Required], reserve2_6; Reserved for future use
reserve2_7: # [Optional], reserve2_7; Reserved for future use
value: '0x00000000' # [Required], reserve2_7; Reserved for future use
reserve2_8: # [Optional], reserve2_8; Reserved for future use
value: '0x00000000' # [Required], reserve2_8; Reserved for future use
reserve2_9: # [Optional], reserve2_9; Reserved for future use
value: '0x00000000' # [Required], reserve2_9; Reserved for future use
reserve2_10: # [Optional], reserve2_10; Reserved for future use
value: '0x00000000' # [Required], reserve2_10; Reserved for future use
XMCD template for rt116x and semc_sdram
family(string): MCU family name. Must be one of:["rt116x", "rt117x", "rt118x"].revision(string): If needed this could be used to specify silicon revision of device. Must be one of:["latest"].mem_type(string): Specify type of memory used by XMCD description. Must be one of:["flexspi_ram", "semc_sdram"].config_type(string): Specify type of configuration used by XMCD description. Must be one of:["simplified", "full"].xmcd_settings(object)header(object): XMCD Header.bitfields(object, required)configurationBlockSize([‘string’, ‘number’]): Configuration block size including XMCD header itself.configurationBlockType([‘string’, ‘number’]): Configuration block type: 0 - Simplified, 1 - Full.instance([‘string’, ‘number’]): SoC defined instances.memoryInterface([‘string’, ‘number’]): Memory interface: 0 - FlexSPI, 1 - SEMC.version([‘string’, ‘number’]): Version, fixed value 0x0.tag([‘string’, ‘number’]): Tag, fixed value 0xC.
magicNumber(object): Fixed to 0xA1.value([‘string’, ‘number’], required): Fixed to 0xA1.
version(object): Set to 1 for this implementation.value([‘string’, ‘number’], required): Set to 1 for this implementation.
configOption(object): Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case.value([‘string’, ‘number’], required): Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case.
clkMhz(object): Set the working frequency in the unit of MHz.value([‘string’, ‘number’], required): Set the working frequency in the unit of MHz.
sdramSizeKb(object): Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
portSize(object): Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit.value([‘string’, ‘number’], required): Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit.
pinConfigPull(object): Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value.value([‘string’, ‘number’], required): Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value.
pinConfigDriveStrength(object): Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value.value([‘string’, ‘number’], required): Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value.
muxRdy(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx0(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx1(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx2(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx3(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
bank(object): Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value.value([‘string’, ‘number’], required): Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value.
burstLen(object): Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value.value([‘string’, ‘number’], required): Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value.
columnAddrBitNum(object): Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value.value([‘string’, ‘number’], required): Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value.
casLatency(object): CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value.value([‘string’, ‘number’], required): CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value.
writeRecoveryNs(object): Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
refreshRecoveryNs(object): Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
act2readwriteNs(object): Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
precharge2actNs(object): Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.value([‘string’, ‘number’], required): Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
act2actBanksNs(object): Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
refresh2refreshNs(object): Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
selfrefRecoveryNs(object): Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
act2prechargeMinNs(object): ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.value([‘string’, ‘number’], required): ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
act2prechargeMaxNs(object): ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.value([‘string’, ‘number’], required): ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
refreshperiodPerrowNs(object): Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.value([‘string’, ‘number’], required): Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
modeRegister(object): Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.value([‘string’, ‘number’], required): Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
sdram0Base(object): Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.value([‘string’, ‘number’], required): Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
sdram1Base(object): Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
sdram2Base(object): Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
sdram3Base(object): Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
sdram1SizeKb(object): Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
sdram2SizeKb(object): Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
sdram3SizeKb(object): Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
# =========== XMCD template for rt116x and semc_sdram ===========
# ----------------------------------------------------------------------------------------------------
# == XMCD template for rt116x and semc_sdram ==
# ----------------------------------------------------------------------------------------------------
family: CHOOSE_FROM_TABLE # [Required], MCU family name; Possible options:['rt116x', 'rt117x', 'rt118x']
revision: latest # [Optional], Chip silicon revision; If needed this could be used to specify silicon revision of device; Possible options:['latest']
mem_type: flexspi_ram # [Required], Memory type; Specify type of memory used by XMCD description; Possible options:['flexspi_ram', 'semc_sdram']
config_type: simplified # [Required], Configuration type; Specify type of configuration used by XMCD description; Possible options:['simplified', 'full']
xmcd_settings: # [Required], rt116x
header: # [Optional], header; XMCD Header
bitfields: # [Required]
configurationBlockSize: 72 # [Optional], configurationBlockSize; Configuration block size including XMCD header itself
configurationBlockType: 1 # [Optional], configurationBlockType; Configuration block type: 0 - Simplified, 1 - Full
instance: 0 # [Optional], instance; SoC defined instances
memoryInterface: 1 # [Optional], memoryInterface; Memory interface: 0 - FlexSPI, 1 - SEMC
version: 0 # [Optional], Version, fixed value 0x0
tag: 12 # [Optional], Tag, fixed value 0xC
magicNumber: # [Optional], magicNumber; Fixed to 0xA1
value: '0xA1' # [Required], magicNumber; Fixed to 0xA1
version: # [Optional], version; Set to 1 for this implementation
value: '0x01' # [Required], version; Set to 1 for this implementation
configOption: # [Optional], configOption; Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case
value: '0xFF' # [Required], configOption; Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case
clkMhz: # [Optional], clkMhz; Set the working frequency in the unit of MHz
value: '0x00' # [Required], clkMhz; Set the working frequency in the unit of MHz
sdramSizeKb: # [Optional], sdramSizeKb; Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdramSizeKb; Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
portSize: # [Optional], portSize; Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit
value: '0x00' # [Required], portSize; Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit
pinConfigPull: # [Optional], pinConfigPull; Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value
value: '0x03' # [Required], pinConfigPull; Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value
pinConfigDriveStrength: # [Optional], pinConfigDriveStrength; Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value
value: '0x00' # [Required], pinConfigDriveStrength; Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value
muxRdy: # [Optional], muxRdy; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxRdy; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx0: # [Optional], muxCsx0; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx0; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx1: # [Optional], muxCsx1; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx1; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx2: # [Optional], muxCsx2; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx2; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx3: # [Optional], muxCsx3; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx3; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
bank: # [Optional], Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value
value: '0x00' # [Required], Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value
burstLen: # [Optional], burstLen; Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value
value: '0x00' # [Required], burstLen; Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value
columnAddrBitNum: # [Optional], columnAddrBitNum; Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value
value: '0x00' # [Required], columnAddrBitNum; Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value
casLatency: # [Optional], casLatency; CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value
value: '0x01' # [Required], casLatency; CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value
writeRecoveryNs: # [Optional], writeRecoveryNs; Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
value: '0x00' # [Required], writeRecoveryNs; Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
refreshRecoveryNs: # [Optional], refreshRecoveryNs; Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
value: '0x00' # [Required], refreshRecoveryNs; Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
act2readwriteNs: # [Optional], act2readwriteNs; Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
value: '0x00' # [Required], act2readwriteNs; Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
precharge2actNs: # [Optional], precharge2actNs; Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
value: '0x00' # [Required], precharge2actNs; Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
act2actBanksNs: # [Optional], act2actBanksNs; Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
value: '0x00' # [Required], act2actBanksNs; Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
refresh2refreshNs: # [Optional], refresh2refreshNs; Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
value: '0x00' # [Required], refresh2refreshNs; Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
selfrefRecoveryNs: # [Optional], selfrefRecoveryNs; Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
value: '0x00' # [Required], selfrefRecoveryNs; Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
act2prechargeMinNs: # [Optional], act2prechargeMinNs; ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
value: '0x00' # [Required], act2prechargeMinNs; ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
act2prechargeMaxNs: # [Optional], act2prechargeMaxNs; ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
value: '0x00000000' # [Required], act2prechargeMaxNs; ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
refreshperiodPerrowNs: # [Optional], refreshperiodPerrowNs; Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
value: '0x00000000' # [Required], refreshperiodPerrowNs; Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
modeRegister: # [Optional], modeRegister; Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
value: '0x00000000' # [Required], modeRegister; Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
sdram0Base: # [Optional], sdram0Base; Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
value: '0x00000000' # [Required], sdram0Base; Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
sdram1Base: # [Optional], sdram1Base; Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram1Base; Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
sdram2Base: # [Optional], sdram2Base; Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram2Base; Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
sdram3Base: # [Optional], sdram3Base; Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram3Base; Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
sdram1SizeKb: # [Optional], sdram1SizeKb; Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram1SizeKb; Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
sdram2SizeKb: # [Optional], sdram2SizeKb; Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram2SizeKb; Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
sdram3SizeKb: # [Optional], sdram3SizeKb; Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram3SizeKb; Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
XMCD template for rt117x and flexspi_ram
family(string): MCU family name. Must be one of:["rt116x", "rt117x", "rt118x"].revision(string): If needed this could be used to specify silicon revision of device. Must be one of:["latest"].mem_type(string): Specify type of memory used by XMCD description. Must be one of:["flexspi_ram", "semc_sdram"].config_type(string): Specify type of configuration used by XMCD description. Must be one of:["simplified", "full"].xmcd_settings(object)header(object): XMCD Header.bitfields(object, required)configurationBlockSize([‘string’, ‘number’]): Configuration block size including XMCD header itself.configurationBlockType([‘string’, ‘number’]): Configuration block type: 0 - Simplified, 1 - Full.instance([‘string’, ‘number’]): SoC defined instances.memoryInterface([‘string’, ‘number’]): Memory interface: 0 - FlexSPI, 1 - SEMC.version([‘string’, ‘number’]): Version, fixed value 0x0.tag([‘string’, ‘number’]): Tag, fixed value 0xC.
tag(object): [0x000-0x003] Tag: fixed value 0x62666366, ascii: ‘fcfb’.value([‘string’, ‘number’], required): [0x000-0x003] Tag: fixed value 0x62666366, ascii: ‘fcfb’.
version(object): [0x004-0x007] Version: [31:24] - ‘V’, [23:16] - Major, [15:8] - Minor, [7:0] - bugfix.bitfields(object, required)bugfix([‘string’, ‘number’]): bugfix.major([‘string’, ‘number’]): major = 1.minor([‘string’, ‘number’]): minor.ascii([‘string’, ‘number’]): ascii ‘V’.
reserved0(object): [0x008-0x00b] Reserved for future use.value([‘string’, ‘number’], required): [0x008-0x00b] Reserved for future use.
readSampleClkSrc(object): [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3.value([‘string’, ‘number’], required): [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3.
csHoldTime(object): [0x00d-0x00d] CS hold time, default value: 3.value([‘string’, ‘number’], required): [0x00d-0x00d] CS hold time, default value: 3.
csSetupTime(object): [0x00e-0x00e] CS setup time, default value: 3.value([‘string’, ‘number’], required): [0x00e-0x00e] CS setup time, default value: 3.
columnAddressWidth(object): [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet.value([‘string’, ‘number’], required): [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet.
deviceModeCfgEnable(object): [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled.value([‘string’, ‘number’], required): [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled.
deviceModeType(object): [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.value([‘string’, ‘number’], required): [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
waitTimeCfgCommands(object): [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command.value([‘string’, ‘number’], required): [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command.
deviceModeSeq(object): [0x014-0x017] Device mode sequence info, [7:0] - LUT number of sequences, [15:8] - LUT sequence index, [31:16] Reserved.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved, fixed to 0.
deviceModeArg(object): [0x018-0x01b] Argument/Parameter for device configuration.value([‘string’, ‘number’], required): [0x018-0x01b] Argument/Parameter for device configuration.
configCmdEnable(object): [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable.value([‘string’, ‘number’], required): [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable.
configModeType_0(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0].
configModeType_1(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1].
configModeType_2(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2].
configCmdSeqs_0(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
configCmdSeqs_1(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
configCmdSeqs_2(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
reserved1(object): [0x02c-0x02f] Reserved for future use.value([‘string’, ‘number’], required): [0x02c-0x02f] Reserved for future use.
configCmdArgs_0(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
configCmdArgs_1(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
configCmdArgs_2(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
reserved2(object): [0x03c-0x03f] Reserved for future use.value([‘string’, ‘number’], required): [0x03c-0x03f] Reserved for future use.
controllerMiscOption(object): [0x040-0x043] Controller Misc Option, see Misc feature bit definitions for more details.bitfields(object, required)bit0([‘string’, ‘number’]): Bit0 - differential clock enable.bit1([‘string’, ‘number’]): Bit1 - CK2 enable.bit2([‘string’, ‘number’]): Bit2 - ParallelModeEnable.bit3([‘string’, ‘number’]): Bit3 - wordAddressableEnable.bit4([‘string’, ‘number’]): Bit4 - Half-Speed access enable.bit5([‘string’, ‘number’]): Bit5 - Pad Settings Override Enable.bit6([‘string’, ‘number’]): Bit6 - DDR Mode Enable.bit7([‘string’, ‘number’]): Bit7 - Pad Settings Overide Enable.bit8([‘string’, ‘number’]): Bit8 - Second Pinmux group.bit9([‘string’, ‘number’]): Bit9 - Second DQS pi mux group.bit10([‘string’, ‘number’]): Bit10 - Write Mask Enable.bit11([‘string’, ‘number’]): Bit11 - Write Opt1 Clear.reserved([‘string’, ‘number’]): N/A.
deviceType(object): [0x044-0x044] Device Type: See Flash Type Definition for more details.value([‘string’, ‘number’], required): [0x044-0x044] Device Type: See Flash Type Definition for more details.
sflashPadType(object): [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal.value([‘string’, ‘number’], required): [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal.
serialClkFreq(object): [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details.value([‘string’, ‘number’], required): [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details.
lutCustomSeqEnable(object): [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH.value([‘string’, ‘number’], required): [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH.
reserved3_0(object): [0x048-0x04f] Reserved for future use.value([‘string’, ‘number’], required): [0x048-0x04f] Reserved for future use.
reserved3_1(object): [0x048-0x04f] Reserved for future use.value([‘string’, ‘number’], required): [0x048-0x04f] Reserved for future use.
sflashA1Size(object): [0x050-0x053] Size of Flash connected to A1.value([‘string’, ‘number’], required): [0x050-0x053] Size of Flash connected to A1.
sflashA2Size(object): [0x054-0x057] Size of Flash connected to A2.value([‘string’, ‘number’], required): [0x054-0x057] Size of Flash connected to A2.
sflashB1Size(object): [0x058-0x05b] Size of Flash connected to B1.value([‘string’, ‘number’], required): [0x058-0x05b] Size of Flash connected to B1.
sflashB2Size(object): [0x05c-0x05f] Size of Flash connected to B2.value([‘string’, ‘number’], required): [0x05c-0x05f] Size of Flash connected to B2.
csPadSettingOverride(object): [0x060-0x063] CS pad setting override value.value([‘string’, ‘number’], required): [0x060-0x063] CS pad setting override value.
sclkPadSettingOverride(object): [0x064-0x067] SCK pad setting override value.value([‘string’, ‘number’], required): [0x064-0x067] SCK pad setting override value.
dataPadSettingOverride(object): [0x068-0x06b] data pad setting override value.value([‘string’, ‘number’], required): [0x068-0x06b] data pad setting override value.
dqsPadSettingOverride(object): [0x06c-0x06f] DQS pad setting override value.value([‘string’, ‘number’], required): [0x06c-0x06f] DQS pad setting override value.
timeoutInMs(object): [0x070-0x073] Timeout threshold for read status command.value([‘string’, ‘number’], required): [0x070-0x073] Timeout threshold for read status command.
commandInterval(object): [0x074-0x077] CS deselect interval between two commands.value([‘string’, ‘number’], required): [0x074-0x077] CS deselect interval between two commands.
dataValidTime_0(object): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.value([‘string’, ‘number’], required): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.
dataValidTime_1(object): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.value([‘string’, ‘number’], required): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.
busyOffset(object): [0x07c-0x07d] Busy offset, valid value: 0-31.value([‘string’, ‘number’], required): [0x07c-0x07d] Busy offset, valid value: 0-31.
busyBitPolarity(object): [0x07e-0x07f] Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - busy flag is 0 when flash device is busy.bitfields(object, required)busyBitPolarity([‘string’, ‘number’]): Busy flag polarity.
lookupTable_0(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_1(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_2(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_3(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_4(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_5(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_6(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_7(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_8(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_9(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_10(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_11(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_12(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_13(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_14(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_15(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_16(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_17(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_18(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_19(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_20(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_21(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_22(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_23(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_24(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_25(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_26(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_27(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_28(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_29(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_30(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_31(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_32(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_33(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_34(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_35(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_36(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_37(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_38(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_39(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_40(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_41(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_42(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_43(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_44(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_45(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_46(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_47(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_48(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_49(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_50(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_51(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_52(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_53(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_54(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_55(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_56(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_57(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_58(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_59(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_60(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_61(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_62(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_63(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lutCustomSeq_0(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_1(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_2(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_3(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_4(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_5(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_6(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_7(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_8(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_9(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_10(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_11(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
reserved4_0(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_1(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_2(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_3(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
pageSize(object): Page size of Serial NOR.value([‘string’, ‘number’], required): Page size of Serial NOR.
sectorSize(object): Sector size of Serial NOR.value([‘string’, ‘number’], required): Sector size of Serial NOR.
ipcmdSerialClkFreq(object): Clock frequency for IP command.value([‘string’, ‘number’], required): Clock frequency for IP command.
isUniformBlockSize(object): Sector/Block size is the same.value([‘string’, ‘number’], required): Sector/Block size is the same.
reserved0_0(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserved0_1(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
serialNorType(object): Serial NOR Flash type: 0/1/2/3.value([‘string’, ‘number’], required): Serial NOR Flash type: 0/1/2/3.
needExitNoCmdMode(object): Need to exit NoCmd mode before other IP command.value([‘string’, ‘number’], required): Need to exit NoCmd mode before other IP command.
halfClkForNonReadCmd(object): Half the Serial Clock for non-read command: true/false.value([‘string’, ‘number’], required): Half the Serial Clock for non-read command: true/false.
needRestoreNoCmdMode(object): Need to Restore NoCmd mode after IP commmand execution.value([‘string’, ‘number’], required): Need to Restore NoCmd mode after IP commmand execution.
blockSize(object): Block size.value([‘string’, ‘number’], required): Block size.
reserve2_0(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_1(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_2(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_3(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_4(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_5(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_6(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_7(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_8(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_9(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_10(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
# =========== XMCD template for rt117x and flexspi_ram ===========
# ----------------------------------------------------------------------------------------------------
# == XMCD template for rt117x and flexspi_ram ==
# ----------------------------------------------------------------------------------------------------
family: CHOOSE_FROM_TABLE # [Required], MCU family name; Possible options:['rt116x', 'rt117x', 'rt118x']
revision: latest # [Optional], Chip silicon revision; If needed this could be used to specify silicon revision of device; Possible options:['latest']
mem_type: flexspi_ram # [Required], Memory type; Specify type of memory used by XMCD description; Possible options:['flexspi_ram', 'semc_sdram']
config_type: simplified # [Required], Configuration type; Specify type of configuration used by XMCD description; Possible options:['simplified', 'full']
xmcd_settings: # [Required], rt117x
header: # [Optional], header; XMCD Header
bitfields: # [Required]
configurationBlockSize: 516 # [Optional], configurationBlockSize; Configuration block size including XMCD header itself
configurationBlockType: 1 # [Optional], configurationBlockType; Configuration block type: 0 - Simplified, 1 - Full
instance: 0 # [Optional], instance; SoC defined instances
memoryInterface: 0 # [Optional], memoryInterface; Memory interface: 0 - FlexSPI, 1 - SEMC
version: 0 # [Optional], Version, fixed value 0x0
tag: 12 # [Optional], Tag, fixed value 0xC
tag: # [Optional], tag; [0x000-0x003] Tag: fixed value 0x62666366, ascii: 'fcfb'
value: '0x00000000' # [Required], tag; [0x000-0x003] Tag: fixed value 0x62666366, ascii: 'fcfb'
version: # [Optional], version; [0x004-0x007] Version: [31:24] - 'V', [23:16] - Major, [15:8] - Minor, [7:0] - bugfix
bitfields: # [Required]
bugfix: 0 # [Optional], bugfix; bugfix
major: 1 # [Optional], major; major = 1
minor: 0 # [Optional], minor; minor
ascii: 0 # [Optional], ascii; ascii 'V'
reserved0: # [Optional], reserved0; [0x008-0x00b] Reserved for future use
value: '0x00000000' # [Required], reserved0; [0x008-0x00b] Reserved for future use
readSampleClkSrc: # [Optional], readSampleClkSrc; [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3
value: '0x00' # [Required], readSampleClkSrc; [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3
csHoldTime: # [Optional], csHoldTime; [0x00d-0x00d] CS hold time, default value: 3
value: '0x03' # [Required], csHoldTime; [0x00d-0x00d] CS hold time, default value: 3
csSetupTime: # [Optional], csSetupTime; [0x00e-0x00e] CS setup time, default value: 3
value: '0x03' # [Required], csSetupTime; [0x00e-0x00e] CS setup time, default value: 3
columnAddressWidth: # [Optional], columnAddressWidth; [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet
value: '0x03' # [Required], columnAddressWidth; [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet
deviceModeCfgEnable: # [Optional], deviceModeCfgEnable; [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled
value: '0x00' # [Required], deviceModeCfgEnable; [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled
deviceModeType: # [Optional], deviceModeType; [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
value: '0x00' # [Required], deviceModeType; [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
waitTimeCfgCommands: # [Optional], waitTimeCfgCommands; [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command
value: '0x0000' # [Required], waitTimeCfgCommands; [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command
deviceModeSeq: # [Optional], deviceModeSeq; [0x014-0x017] Device mode sequence info, [7:0] - LUT number of sequences, [15:8] - LUT sequence index, [31:16] Reserved
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved, fixed to 0
deviceModeArg: # [Optional], deviceModeArg; [0x018-0x01b] Argument/Parameter for device configuration
value: '0x00000000' # [Required], deviceModeArg; [0x018-0x01b] Argument/Parameter for device configuration
configCmdEnable: # [Optional], configCmdEnable; [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable
value: '0x00' # [Required], configCmdEnable; [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable
configModeType_0: # [Optional], configModeType_0; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0]
value: '0x00' # [Required], configModeType_0; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0]
configModeType_1: # [Optional], configModeType_1; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1]
value: '0x00' # [Required], configModeType_1; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1]
configModeType_2: # [Optional], configModeType_2; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2]
value: '0x00' # [Required], configModeType_2; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2]
configCmdSeqs_0: # [Optional], configCmdSeqs_0; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
configCmdSeqs_1: # [Optional], configCmdSeqs_1; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
configCmdSeqs_2: # [Optional], configCmdSeqs_2; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
reserved1: # [Optional], reserved1; [0x02c-0x02f] Reserved for future use
value: '0x00000000' # [Required], reserved1; [0x02c-0x02f] Reserved for future use
configCmdArgs_0: # [Optional], configCmdArgs_0; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_0; [0x030-0x03b] Arguments/Parameters for device Configuration commands
configCmdArgs_1: # [Optional], configCmdArgs_1; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_1; [0x030-0x03b] Arguments/Parameters for device Configuration commands
configCmdArgs_2: # [Optional], configCmdArgs_2; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_2; [0x030-0x03b] Arguments/Parameters for device Configuration commands
reserved2: # [Optional], reserved2; [0x03c-0x03f] Reserved for future use
value: '0x00000000' # [Required], reserved2; [0x03c-0x03f] Reserved for future use
controllerMiscOption: # [Optional], controllerMiscOption; [0x040-0x043] Controller Misc Option, see Misc feature bit definitions for more details
bitfields: # [Required]
bit0: 0 # [Optional], bit0; Bit0 - differential clock enable
bit1: 0 # [Optional], bit1; Bit1 - CK2 enable
bit2: 0 # [Optional], bit2; Bit2 - ParallelModeEnable
bit3: 0 # [Optional], bit3; Bit3 - wordAddressableEnable
bit4: 0 # [Optional], bit4; Bit4 - Half-Speed access enable
bit5: 0 # [Optional], bit5; Bit5 - Pad Settings Override Enable
bit6: 0 # [Optional], bit6; Bit6 - DDR Mode Enable
bit7: 0 # [Optional], bit7; Bit7 - Pad Settings Overide Enable
bit8: 0 # [Optional], bit8; Bit8 - Second Pinmux group
bit9: 0 # [Optional], bit9; Bit9 - Second DQS pi mux group
bit10: 0 # [Optional], bit10; Bit10 - Write Mask Enable
bit11: 0 # [Optional], bit11; Bit11 - Write Opt1 Clear
reserved: 0 # [Optional], reserved; N/A
deviceType: # [Optional], deviceType; [0x044-0x044] Device Type: See Flash Type Definition for more details
value: '0x03' # [Required], deviceType; [0x044-0x044] Device Type: See Flash Type Definition for more details
sflashPadType: # [Optional], sflashPadType; [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal
value: '0x01' # [Required], sflashPadType; [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal
serialClkFreq: # [Optional], serialClkFreq; [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details
value: '0x00' # [Required], serialClkFreq; [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details
lutCustomSeqEnable: # [Optional], lutCustomSeqEnable; [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH
value: '0x00' # [Required], lutCustomSeqEnable; [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH
reserved3_0: # [Optional], reserved3_0; [0x048-0x04f] Reserved for future use
value: '0x00000000' # [Required], reserved3_0; [0x048-0x04f] Reserved for future use
reserved3_1: # [Optional], reserved3_1; [0x048-0x04f] Reserved for future use
value: '0x00000000' # [Required], reserved3_1; [0x048-0x04f] Reserved for future use
sflashA1Size: # [Optional], sflashA1Size; [0x050-0x053] Size of Flash connected to A1
value: '0x00000000' # [Required], sflashA1Size; [0x050-0x053] Size of Flash connected to A1
sflashA2Size: # [Optional], sflashA2Size; [0x054-0x057] Size of Flash connected to A2
value: '0x00000000' # [Required], sflashA2Size; [0x054-0x057] Size of Flash connected to A2
sflashB1Size: # [Optional], sflashB1Size; [0x058-0x05b] Size of Flash connected to B1
value: '0x00000000' # [Required], sflashB1Size; [0x058-0x05b] Size of Flash connected to B1
sflashB2Size: # [Optional], sflashB2Size; [0x05c-0x05f] Size of Flash connected to B2
value: '0x00000000' # [Required], sflashB2Size; [0x05c-0x05f] Size of Flash connected to B2
csPadSettingOverride: # [Optional], csPadSettingOverride; [0x060-0x063] CS pad setting override value
value: '0x00000000' # [Required], csPadSettingOverride; [0x060-0x063] CS pad setting override value
sclkPadSettingOverride: # [Optional], sclkPadSettingOverride; [0x064-0x067] SCK pad setting override value
value: '0x00000000' # [Required], sclkPadSettingOverride; [0x064-0x067] SCK pad setting override value
dataPadSettingOverride: # [Optional], dataPadSettingOverride; [0x068-0x06b] data pad setting override value
value: '0x00000000' # [Required], dataPadSettingOverride; [0x068-0x06b] data pad setting override value
dqsPadSettingOverride: # [Optional], dqsPadSettingOverride; [0x06c-0x06f] DQS pad setting override value
value: '0x00000000' # [Required], dqsPadSettingOverride; [0x06c-0x06f] DQS pad setting override value
timeoutInMs: # [Optional], timeoutInMs; [0x070-0x073] Timeout threshold for read status command
value: '0x00000000' # [Required], timeoutInMs; [0x070-0x073] Timeout threshold for read status command
commandInterval: # [Optional], commandInterval; [0x074-0x077] CS deselect interval between two commands
value: '0x00000000' # [Required], commandInterval; [0x074-0x077] CS deselect interval between two commands
dataValidTime_0: # [Optional], dataValidTime_0; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
value: '0x0000' # [Required], dataValidTime_0; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
dataValidTime_1: # [Optional], dataValidTime_1; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
value: '0x0000' # [Required], dataValidTime_1; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
busyOffset: # [Optional], busyOffset; [0x07c-0x07d] Busy offset, valid value: 0-31
value: '0x0000' # [Required], busyOffset; [0x07c-0x07d] Busy offset, valid value: 0-31
busyBitPolarity: # [Optional], busyBitPolarity; [0x07e-0x07f] Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - busy flag is 0 when flash device is busy
bitfields: # [Required]
busyBitPolarity: 0 # [Optional], busyBitPolarity; Busy flag polarity
lookupTable_0: # [Optional], lookupTable_0; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_0; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_1: # [Optional], lookupTable_1; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_1; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_2: # [Optional], lookupTable_2; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_2; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_3: # [Optional], lookupTable_3; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_3; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_4: # [Optional], lookupTable_4; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_4; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_5: # [Optional], lookupTable_5; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_5; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_6: # [Optional], lookupTable_6; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_6; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_7: # [Optional], lookupTable_7; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_7; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_8: # [Optional], lookupTable_8; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_8; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_9: # [Optional], lookupTable_9; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_9; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_10: # [Optional], lookupTable_10; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_10; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_11: # [Optional], lookupTable_11; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_11; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_12: # [Optional], lookupTable_12; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_12; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_13: # [Optional], lookupTable_13; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_13; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_14: # [Optional], lookupTable_14; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_14; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_15: # [Optional], lookupTable_15; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_15; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_16: # [Optional], lookupTable_16; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_16; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_17: # [Optional], lookupTable_17; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_17; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_18: # [Optional], lookupTable_18; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_18; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_19: # [Optional], lookupTable_19; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_19; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_20: # [Optional], lookupTable_20; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_20; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_21: # [Optional], lookupTable_21; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_21; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_22: # [Optional], lookupTable_22; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_22; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_23: # [Optional], lookupTable_23; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_23; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_24: # [Optional], lookupTable_24; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_24; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_25: # [Optional], lookupTable_25; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_25; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_26: # [Optional], lookupTable_26; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_26; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_27: # [Optional], lookupTable_27; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_27; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_28: # [Optional], lookupTable_28; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_28; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_29: # [Optional], lookupTable_29; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_29; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_30: # [Optional], lookupTable_30; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_30; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_31: # [Optional], lookupTable_31; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_31; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_32: # [Optional], lookupTable_32; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_32; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_33: # [Optional], lookupTable_33; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_33; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_34: # [Optional], lookupTable_34; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_34; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_35: # [Optional], lookupTable_35; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_35; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_36: # [Optional], lookupTable_36; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_36; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_37: # [Optional], lookupTable_37; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_37; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_38: # [Optional], lookupTable_38; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_38; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_39: # [Optional], lookupTable_39; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_39; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_40: # [Optional], lookupTable_40; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_40; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_41: # [Optional], lookupTable_41; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_41; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_42: # [Optional], lookupTable_42; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_42; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_43: # [Optional], lookupTable_43; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_43; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_44: # [Optional], lookupTable_44; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_44; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_45: # [Optional], lookupTable_45; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_45; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_46: # [Optional], lookupTable_46; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_46; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_47: # [Optional], lookupTable_47; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_47; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_48: # [Optional], lookupTable_48; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_48; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_49: # [Optional], lookupTable_49; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_49; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_50: # [Optional], lookupTable_50; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_50; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_51: # [Optional], lookupTable_51; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_51; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_52: # [Optional], lookupTable_52; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_52; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_53: # [Optional], lookupTable_53; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_53; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_54: # [Optional], lookupTable_54; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_54; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_55: # [Optional], lookupTable_55; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_55; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_56: # [Optional], lookupTable_56; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_56; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_57: # [Optional], lookupTable_57; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_57; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_58: # [Optional], lookupTable_58; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_58; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_59: # [Optional], lookupTable_59; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_59; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_60: # [Optional], lookupTable_60; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_60; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_61: # [Optional], lookupTable_61; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_61; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_62: # [Optional], lookupTable_62; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_62; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_63: # [Optional], lookupTable_63; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_63; [0x080-0x17f] Lookup table holds Flash command sequences
lutCustomSeq_0: # [Optional], lutCustomSeq_0; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_1: # [Optional], lutCustomSeq_1; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_2: # [Optional], lutCustomSeq_2; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_3: # [Optional], lutCustomSeq_3; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_4: # [Optional], lutCustomSeq_4; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_5: # [Optional], lutCustomSeq_5; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_6: # [Optional], lutCustomSeq_6; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_7: # [Optional], lutCustomSeq_7; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_8: # [Optional], lutCustomSeq_8; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_9: # [Optional], lutCustomSeq_9; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_10: # [Optional], lutCustomSeq_10; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_11: # [Optional], lutCustomSeq_11; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
reserved4_0: # [Optional], reserved4_0; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_0; [0x1b0-0x1bf] Reserved for future use
reserved4_1: # [Optional], reserved4_1; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_1; [0x1b0-0x1bf] Reserved for future use
reserved4_2: # [Optional], reserved4_2; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_2; [0x1b0-0x1bf] Reserved for future use
reserved4_3: # [Optional], reserved4_3; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_3; [0x1b0-0x1bf] Reserved for future use
pageSize: # [Optional], pageSize; Page size of Serial NOR
value: '0x00000000' # [Required], pageSize; Page size of Serial NOR
sectorSize: # [Optional], sectorSize; Sector size of Serial NOR
value: '0x00000000' # [Required], sectorSize; Sector size of Serial NOR
ipcmdSerialClkFreq: # [Optional], ipcmdSerialClkFreq; Clock frequency for IP command
value: '0x00' # [Required], ipcmdSerialClkFreq; Clock frequency for IP command
isUniformBlockSize: # [Optional], isUniformBlockSize; Sector/Block size is the same
value: '0x00' # [Required], isUniformBlockSize; Sector/Block size is the same
reserved0_0: # [Optional], reserved0_0; Reserved for future use
value: '0x00' # [Required], reserved0_0; Reserved for future use
reserved0_1: # [Optional], reserved0_1; Reserved for future use
value: '0x00' # [Required], reserved0_1; Reserved for future use
serialNorType: # [Optional], serialNorType; Serial NOR Flash type: 0/1/2/3
value: '0x00' # [Required], serialNorType; Serial NOR Flash type: 0/1/2/3
needExitNoCmdMode: # [Optional], needExitNoCmdMode; Need to exit NoCmd mode before other IP command
value: '0x00' # [Required], needExitNoCmdMode; Need to exit NoCmd mode before other IP command
halfClkForNonReadCmd: # [Optional], halfClkForNonReadCmd; Half the Serial Clock for non-read command: true/false
value: '0x00' # [Required], halfClkForNonReadCmd; Half the Serial Clock for non-read command: true/false
needRestoreNoCmdMode: # [Optional], needRestoreNoCmdMode; Need to Restore NoCmd mode after IP commmand execution
value: '0x00' # [Required], needRestoreNoCmdMode; Need to Restore NoCmd mode after IP commmand execution
blockSize: # [Optional], blockSize; Block size
value: '0x00000000' # [Required], blockSize; Block size
reserve2_0: # [Optional], reserve2_0; Reserved for future use
value: '0x00000000' # [Required], reserve2_0; Reserved for future use
reserve2_1: # [Optional], reserve2_1; Reserved for future use
value: '0x00000000' # [Required], reserve2_1; Reserved for future use
reserve2_2: # [Optional], reserve2_2; Reserved for future use
value: '0x00000000' # [Required], reserve2_2; Reserved for future use
reserve2_3: # [Optional], reserve2_3; Reserved for future use
value: '0x00000000' # [Required], reserve2_3; Reserved for future use
reserve2_4: # [Optional], reserve2_4; Reserved for future use
value: '0x00000000' # [Required], reserve2_4; Reserved for future use
reserve2_5: # [Optional], reserve2_5; Reserved for future use
value: '0x00000000' # [Required], reserve2_5; Reserved for future use
reserve2_6: # [Optional], reserve2_6; Reserved for future use
value: '0x00000000' # [Required], reserve2_6; Reserved for future use
reserve2_7: # [Optional], reserve2_7; Reserved for future use
value: '0x00000000' # [Required], reserve2_7; Reserved for future use
reserve2_8: # [Optional], reserve2_8; Reserved for future use
value: '0x00000000' # [Required], reserve2_8; Reserved for future use
reserve2_9: # [Optional], reserve2_9; Reserved for future use
value: '0x00000000' # [Required], reserve2_9; Reserved for future use
reserve2_10: # [Optional], reserve2_10; Reserved for future use
value: '0x00000000' # [Required], reserve2_10; Reserved for future use
XMCD template for rt117x and semc_sdram
family(string): MCU family name. Must be one of:["rt116x", "rt117x", "rt118x"].revision(string): If needed this could be used to specify silicon revision of device. Must be one of:["latest"].mem_type(string): Specify type of memory used by XMCD description. Must be one of:["flexspi_ram", "semc_sdram"].config_type(string): Specify type of configuration used by XMCD description. Must be one of:["simplified", "full"].xmcd_settings(object)header(object): XMCD Header.bitfields(object, required)configurationBlockSize([‘string’, ‘number’]): Configuration block size including XMCD header itself.configurationBlockType([‘string’, ‘number’]): Configuration block type: 0 - Simplified, 1 - Full.instance([‘string’, ‘number’]): SoC defined instances.memoryInterface([‘string’, ‘number’]): Memory interface: 0 - FlexSPI, 1 - SEMC.version([‘string’, ‘number’]): Version, fixed value 0x0.tag([‘string’, ‘number’]): Tag, fixed value 0xC.
magicNumber(object): Fixed to 0xA1.value([‘string’, ‘number’], required): Fixed to 0xA1.
version(object): Set to 1 for this implementation.value([‘string’, ‘number’], required): Set to 1 for this implementation.
configOption(object): Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case.value([‘string’, ‘number’], required): Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case.
clkMhz(object): Set the working frequency in the unit of MHz.value([‘string’, ‘number’], required): Set the working frequency in the unit of MHz.
sdramSizeKb(object): Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
portSize(object): Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit.value([‘string’, ‘number’], required): Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit.
pinConfigPull(object): Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value.value([‘string’, ‘number’], required): Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value.
pinConfigDriveStrength(object): Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value.value([‘string’, ‘number’], required): Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value.
muxRdy(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx0(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx1(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx2(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx3(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
bank(object): Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value.value([‘string’, ‘number’], required): Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value.
burstLen(object): Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value.value([‘string’, ‘number’], required): Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value.
columnAddrBitNum(object): Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value.value([‘string’, ‘number’], required): Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value.
casLatency(object): CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value.value([‘string’, ‘number’], required): CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value.
writeRecoveryNs(object): Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
refreshRecoveryNs(object): Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
act2readwriteNs(object): Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
precharge2actNs(object): Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.value([‘string’, ‘number’], required): Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
act2actBanksNs(object): Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
refresh2refreshNs(object): Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
selfrefRecoveryNs(object): Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
act2prechargeMinNs(object): ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.value([‘string’, ‘number’], required): ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
act2prechargeMaxNs(object): ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.value([‘string’, ‘number’], required): ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
refreshperiodPerrowNs(object): Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.value([‘string’, ‘number’], required): Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
modeRegister(object): Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.value([‘string’, ‘number’], required): Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
sdram0Base(object): Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.value([‘string’, ‘number’], required): Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
sdram1Base(object): Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
sdram2Base(object): Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
sdram3Base(object): Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
sdram1SizeKb(object): Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
sdram2SizeKb(object): Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
sdram3SizeKb(object): Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
# =========== XMCD template for rt117x and semc_sdram ===========
# ----------------------------------------------------------------------------------------------------
# == XMCD template for rt117x and semc_sdram ==
# ----------------------------------------------------------------------------------------------------
family: CHOOSE_FROM_TABLE # [Required], MCU family name; Possible options:['rt116x', 'rt117x', 'rt118x']
revision: latest # [Optional], Chip silicon revision; If needed this could be used to specify silicon revision of device; Possible options:['latest']
mem_type: flexspi_ram # [Required], Memory type; Specify type of memory used by XMCD description; Possible options:['flexspi_ram', 'semc_sdram']
config_type: simplified # [Required], Configuration type; Specify type of configuration used by XMCD description; Possible options:['simplified', 'full']
xmcd_settings: # [Required], rt117x
header: # [Optional], header; XMCD Header
bitfields: # [Required]
configurationBlockSize: 72 # [Optional], configurationBlockSize; Configuration block size including XMCD header itself
configurationBlockType: 1 # [Optional], configurationBlockType; Configuration block type: 0 - Simplified, 1 - Full
instance: 0 # [Optional], instance; SoC defined instances
memoryInterface: 1 # [Optional], memoryInterface; Memory interface: 0 - FlexSPI, 1 - SEMC
version: 0 # [Optional], Version, fixed value 0x0
tag: 12 # [Optional], Tag, fixed value 0xC
magicNumber: # [Optional], magicNumber; Fixed to 0xA1
value: '0xA1' # [Required], magicNumber; Fixed to 0xA1
version: # [Optional], version; Set to 1 for this implementation
value: '0x01' # [Required], version; Set to 1 for this implementation
configOption: # [Optional], configOption; Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case
value: '0xFF' # [Required], configOption; Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case
clkMhz: # [Optional], clkMhz; Set the working frequency in the unit of MHz
value: '0x00' # [Required], clkMhz; Set the working frequency in the unit of MHz
sdramSizeKb: # [Optional], sdramSizeKb; Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdramSizeKb; Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
portSize: # [Optional], portSize; Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit
value: '0x00' # [Required], portSize; Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit
pinConfigPull: # [Optional], pinConfigPull; Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value
value: '0x03' # [Required], pinConfigPull; Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value
pinConfigDriveStrength: # [Optional], pinConfigDriveStrength; Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value
value: '0x00' # [Required], pinConfigDriveStrength; Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value
muxRdy: # [Optional], muxRdy; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxRdy; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx0: # [Optional], muxCsx0; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx0; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx1: # [Optional], muxCsx1; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx1; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx2: # [Optional], muxCsx2; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx2; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx3: # [Optional], muxCsx3; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx3; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
bank: # [Optional], Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value
value: '0x00' # [Required], Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value
burstLen: # [Optional], burstLen; Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value
value: '0x00' # [Required], burstLen; Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value
columnAddrBitNum: # [Optional], columnAddrBitNum; Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value
value: '0x00' # [Required], columnAddrBitNum; Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value
casLatency: # [Optional], casLatency; CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value
value: '0x01' # [Required], casLatency; CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value
writeRecoveryNs: # [Optional], writeRecoveryNs; Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
value: '0x00' # [Required], writeRecoveryNs; Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
refreshRecoveryNs: # [Optional], refreshRecoveryNs; Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
value: '0x00' # [Required], refreshRecoveryNs; Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
act2readwriteNs: # [Optional], act2readwriteNs; Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
value: '0x00' # [Required], act2readwriteNs; Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
precharge2actNs: # [Optional], precharge2actNs; Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
value: '0x00' # [Required], precharge2actNs; Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
act2actBanksNs: # [Optional], act2actBanksNs; Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
value: '0x00' # [Required], act2actBanksNs; Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
refresh2refreshNs: # [Optional], refresh2refreshNs; Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
value: '0x00' # [Required], refresh2refreshNs; Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
selfrefRecoveryNs: # [Optional], selfrefRecoveryNs; Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
value: '0x00' # [Required], selfrefRecoveryNs; Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
act2prechargeMinNs: # [Optional], act2prechargeMinNs; ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
value: '0x00' # [Required], act2prechargeMinNs; ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
act2prechargeMaxNs: # [Optional], act2prechargeMaxNs; ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
value: '0x00000000' # [Required], act2prechargeMaxNs; ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
refreshperiodPerrowNs: # [Optional], refreshperiodPerrowNs; Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
value: '0x00000000' # [Required], refreshperiodPerrowNs; Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
modeRegister: # [Optional], modeRegister; Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
value: '0x00000000' # [Required], modeRegister; Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
sdram0Base: # [Optional], sdram0Base; Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
value: '0x00000000' # [Required], sdram0Base; Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
sdram1Base: # [Optional], sdram1Base; Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram1Base; Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
sdram2Base: # [Optional], sdram2Base; Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram2Base; Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
sdram3Base: # [Optional], sdram3Base; Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram3Base; Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
sdram1SizeKb: # [Optional], sdram1SizeKb; Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram1SizeKb; Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
sdram2SizeKb: # [Optional], sdram2SizeKb; Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram2SizeKb; Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
sdram3SizeKb: # [Optional], sdram3SizeKb; Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram3SizeKb; Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
XMCD template for rt118x and flexspi_ram
family(string): MCU family name. Must be one of:["rt116x", "rt117x", "rt118x"].revision(string): If needed this could be used to specify silicon revision of device. Must be one of:["latest"].mem_type(string): Specify type of memory used by XMCD description. Must be one of:["flexspi_ram", "semc_sdram"].config_type(string): Specify type of configuration used by XMCD description. Must be one of:["simplified", "full"].xmcd_settings(object)header(object): XMCD Header.bitfields(object, required)configurationBlockSize([‘string’, ‘number’]): Configuration block size including XMCD header itself.configurationBlockType([‘string’, ‘number’]): Configuration block type: 0 - Simplified, 1 - Full.instance([‘string’, ‘number’]): SoC defined instances.memoryInterface([‘string’, ‘number’]): Memory interface: 0 - FlexSPI, 1 - SEMC.version([‘string’, ‘number’]): Version, fixed value 0x0.tag([‘string’, ‘number’]): Tag, fixed value 0xC.
tag(object): [0x000-0x003] Tag: fixed value 0x62666366, ascii: ‘fcfb’.value([‘string’, ‘number’], required): [0x000-0x003] Tag: fixed value 0x62666366, ascii: ‘fcfb’.
version(object): [0x004-0x007] Version: [31:24] - ‘V’, [23:16] - Major, [15:8] - Minor, [7:0] - bugfix.bitfields(object, required)bugfix([‘string’, ‘number’]): bugfix.major([‘string’, ‘number’]): major = 1.minor([‘string’, ‘number’]): minor.ascii([‘string’, ‘number’]): ascii ‘V’.
reserved0(object): [0x008-0x00b] Reserved for future use.value([‘string’, ‘number’], required): [0x008-0x00b] Reserved for future use.
readSampleClkSrc(object): [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3.value([‘string’, ‘number’], required): [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3.
csHoldTime(object): [0x00d-0x00d] CS hold time, default value: 3.value([‘string’, ‘number’], required): [0x00d-0x00d] CS hold time, default value: 3.
csSetupTime(object): [0x00e-0x00e] CS setup time, default value: 3.value([‘string’, ‘number’], required): [0x00e-0x00e] CS setup time, default value: 3.
columnAddressWidth(object): [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet.value([‘string’, ‘number’], required): [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet.
deviceModeCfgEnable(object): [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled.value([‘string’, ‘number’], required): [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled.
deviceModeType(object): [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.value([‘string’, ‘number’], required): [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
waitTimeCfgCommands(object): [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command.value([‘string’, ‘number’], required): [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command.
deviceModeSeq(object): [0x014-0x017] Device mode sequence info, [7:0] - LUT number of sequences, [15:8] - LUT sequence index, [31:16] Reserved.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved, fixed to 0.
deviceModeArg(object): [0x018-0x01b] Argument/Parameter for device configuration.value([‘string’, ‘number’], required): [0x018-0x01b] Argument/Parameter for device configuration.
configCmdEnable(object): [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable.value([‘string’, ‘number’], required): [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable.
configModeType_0(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0].
configModeType_1(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1].
configModeType_2(object): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2].value([‘string’, ‘number’], required): [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2].
configCmdSeqs_0(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
configCmdSeqs_1(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
configCmdSeqs_2(object): [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
reserved1(object): [0x02c-0x02f] Reserved for future use.value([‘string’, ‘number’], required): [0x02c-0x02f] Reserved for future use.
configCmdArgs_0(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
configCmdArgs_1(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
configCmdArgs_2(object): [0x030-0x03b] Arguments/Parameters for device Configuration commands.value([‘string’, ‘number’], required): [0x030-0x03b] Arguments/Parameters for device Configuration commands.
reserved2(object): [0x03c-0x03f] Reserved for future use.value([‘string’, ‘number’], required): [0x03c-0x03f] Reserved for future use.
controllerMiscOption(object): [0x040-0x043] Controller Misc Option, see Misc feature bit definitions for more details.bitfields(object, required)bit0([‘string’, ‘number’]): Bit0 - differential clock enable.bit1([‘string’, ‘number’]): Bit1 - CK2 enable.bit2([‘string’, ‘number’]): Bit2 - ParallelModeEnable.bit3([‘string’, ‘number’]): Bit3 - wordAddressableEnable.bit4([‘string’, ‘number’]): Bit4 - Half-Speed access enable.bit5([‘string’, ‘number’]): Bit5 - Pad Settings Override Enable.bit6([‘string’, ‘number’]): Bit6 - DDR Mode Enable.bit7([‘string’, ‘number’]): Bit7 - Pad Settings Overide Enable.bit8([‘string’, ‘number’]): Bit8 - Second Pinmux group.bit9([‘string’, ‘number’]): Bit9 - Second DQS pi mux group.bit10([‘string’, ‘number’]): Bit10 - Write Mask Enable.bit11([‘string’, ‘number’]): Bit11 - Write Opt1 Clear.reserved([‘string’, ‘number’]): N/A.
deviceType(object): [0x044-0x044] Device Type: See Flash Type Definition for more details.value([‘string’, ‘number’], required): [0x044-0x044] Device Type: See Flash Type Definition for more details.
sflashPadType(object): [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal.value([‘string’, ‘number’], required): [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal.
serialClkFreq(object): [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details.value([‘string’, ‘number’], required): [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details.
lutCustomSeqEnable(object): [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH.value([‘string’, ‘number’], required): [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH.
reserved3_0(object): [0x048-0x04f] Reserved for future use.value([‘string’, ‘number’], required): [0x048-0x04f] Reserved for future use.
reserved3_1(object): [0x048-0x04f] Reserved for future use.value([‘string’, ‘number’], required): [0x048-0x04f] Reserved for future use.
sflashA1Size(object): [0x050-0x053] Size of Flash connected to A1.value([‘string’, ‘number’], required): [0x050-0x053] Size of Flash connected to A1.
sflashA2Size(object): [0x054-0x057] Size of Flash connected to A2.value([‘string’, ‘number’], required): [0x054-0x057] Size of Flash connected to A2.
sflashB1Size(object): [0x058-0x05b] Size of Flash connected to B1.value([‘string’, ‘number’], required): [0x058-0x05b] Size of Flash connected to B1.
sflashB2Size(object): [0x05c-0x05f] Size of Flash connected to B2.value([‘string’, ‘number’], required): [0x05c-0x05f] Size of Flash connected to B2.
csPadSettingOverride(object): [0x060-0x063] CS pad setting override value.value([‘string’, ‘number’], required): [0x060-0x063] CS pad setting override value.
sclkPadSettingOverride(object): [0x064-0x067] SCK pad setting override value.value([‘string’, ‘number’], required): [0x064-0x067] SCK pad setting override value.
dataPadSettingOverride(object): [0x068-0x06b] data pad setting override value.value([‘string’, ‘number’], required): [0x068-0x06b] data pad setting override value.
dqsPadSettingOverride(object): [0x06c-0x06f] DQS pad setting override value.value([‘string’, ‘number’], required): [0x06c-0x06f] DQS pad setting override value.
timeoutInMs(object): [0x070-0x073] Timeout threshold for read status command.value([‘string’, ‘number’], required): [0x070-0x073] Timeout threshold for read status command.
commandInterval(object): [0x074-0x077] CS deselect interval between two commands.value([‘string’, ‘number’], required): [0x074-0x077] CS deselect interval between two commands.
dataValidTime_0(object): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.value([‘string’, ‘number’], required): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.
dataValidTime_1(object): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.value([‘string’, ‘number’], required): [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns.
busyOffset(object): [0x07c-0x07d] Busy offset, valid value: 0-31.value([‘string’, ‘number’], required): [0x07c-0x07d] Busy offset, valid value: 0-31.
busyBitPolarity(object): [0x07e-0x07f] Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - busy flag is 0 when flash device is busy.bitfields(object, required)busyBitPolarity([‘string’, ‘number’]): Busy flag polarity.
lookupTable_0(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_1(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_2(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_3(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_4(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_5(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_6(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_7(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_8(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_9(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_10(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_11(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_12(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_13(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_14(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_15(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_16(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_17(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_18(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_19(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_20(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_21(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_22(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_23(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_24(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_25(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_26(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_27(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_28(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_29(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_30(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_31(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_32(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_33(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_34(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_35(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_36(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_37(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_38(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_39(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_40(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_41(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_42(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_43(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_44(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_45(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_46(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_47(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_48(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_49(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_50(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_51(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_52(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_53(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_54(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_55(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_56(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_57(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_58(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_59(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_60(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_61(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_62(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lookupTable_63(object): [0x080-0x17f] Lookup table holds Flash command sequences.value([‘string’, ‘number’], required): [0x080-0x17f] Lookup table holds Flash command sequences.
lutCustomSeq_0(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_1(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_2(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_3(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_4(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_5(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_6(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_7(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_8(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_9(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_10(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
lutCustomSeq_11(object): [0x180-0x1af] Customizable LUT Sequences.bitfields(object, required)seqNum([‘string’, ‘number’]): Number of sequences, valid number: 1-16.seqId([‘string’, ‘number’]): Sequence Index, valid number: 0-15.reserved([‘string’, ‘number’]): Reserved.
reserved4_0(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_1(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_2(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
reserved4_3(object): [0x1b0-0x1bf] Reserved for future use.value([‘string’, ‘number’], required): [0x1b0-0x1bf] Reserved for future use.
pageSize(object): Page size of Serial NOR.value([‘string’, ‘number’], required): Page size of Serial NOR.
sectorSize(object): Sector size of Serial NOR.value([‘string’, ‘number’], required): Sector size of Serial NOR.
ipcmdSerialClkFreq(object): Clock frequency for IP command.value([‘string’, ‘number’], required): Clock frequency for IP command.
isUniformBlockSize(object): Sector/Block size is the same.value([‘string’, ‘number’], required): Sector/Block size is the same.
reserved0_0(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserved0_1(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
serialNorType(object): Serial NOR Flash type: 0/1/2/3.value([‘string’, ‘number’], required): Serial NOR Flash type: 0/1/2/3.
needExitNoCmdMode(object): Need to exit NoCmd mode before other IP command.value([‘string’, ‘number’], required): Need to exit NoCmd mode before other IP command.
halfClkForNonReadCmd(object): Half the Serial Clock for non-read command: true/false.value([‘string’, ‘number’], required): Half the Serial Clock for non-read command: true/false.
needRestoreNoCmdMode(object): Need to Restore NoCmd mode after IP commmand execution.value([‘string’, ‘number’], required): Need to Restore NoCmd mode after IP commmand execution.
blockSize(object): Block size.value([‘string’, ‘number’], required): Block size.
reserve2_0(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_1(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_2(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_3(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_4(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_5(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_6(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_7(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_8(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_9(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
reserve2_10(object): Reserved for future use.value([‘string’, ‘number’], required): Reserved for future use.
# =========== XMCD template for rt118x and flexspi_ram ===========
# ----------------------------------------------------------------------------------------------------
# == XMCD template for rt118x and flexspi_ram ==
# ----------------------------------------------------------------------------------------------------
family: CHOOSE_FROM_TABLE # [Required], MCU family name; Possible options:['rt116x', 'rt117x', 'rt118x']
revision: latest # [Optional], Chip silicon revision; If needed this could be used to specify silicon revision of device; Possible options:['latest']
mem_type: flexspi_ram # [Required], Memory type; Specify type of memory used by XMCD description; Possible options:['flexspi_ram', 'semc_sdram']
config_type: simplified # [Required], Configuration type; Specify type of configuration used by XMCD description; Possible options:['simplified', 'full']
xmcd_settings: # [Required], rt118x
header: # [Optional], header; XMCD Header
bitfields: # [Required]
configurationBlockSize: 516 # [Optional], configurationBlockSize; Configuration block size including XMCD header itself
configurationBlockType: 1 # [Optional], configurationBlockType; Configuration block type: 0 - Simplified, 1 - Full
instance: 0 # [Optional], instance; SoC defined instances
memoryInterface: 0 # [Optional], memoryInterface; Memory interface: 0 - FlexSPI, 1 - SEMC
version: 0 # [Optional], Version, fixed value 0x0
tag: 12 # [Optional], Tag, fixed value 0xC
tag: # [Optional], tag; [0x000-0x003] Tag: fixed value 0x62666366, ascii: 'fcfb'
value: '0x00000000' # [Required], tag; [0x000-0x003] Tag: fixed value 0x62666366, ascii: 'fcfb'
version: # [Optional], version; [0x004-0x007] Version: [31:24] - 'V', [23:16] - Major, [15:8] - Minor, [7:0] - bugfix
bitfields: # [Required]
bugfix: 0 # [Optional], bugfix; bugfix
major: 1 # [Optional], major; major = 1
minor: 0 # [Optional], minor; minor
ascii: 0 # [Optional], ascii; ascii 'V'
reserved0: # [Optional], reserved0; [0x008-0x00b] Reserved for future use
value: '0x00000000' # [Required], reserved0; [0x008-0x00b] Reserved for future use
readSampleClkSrc: # [Optional], readSampleClkSrc; [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3
value: '0x00' # [Required], readSampleClkSrc; [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3
csHoldTime: # [Optional], csHoldTime; [0x00d-0x00d] CS hold time, default value: 3
value: '0x03' # [Required], csHoldTime; [0x00d-0x00d] CS hold time, default value: 3
csSetupTime: # [Optional], csSetupTime; [0x00e-0x00e] CS setup time, default value: 3
value: '0x03' # [Required], csSetupTime; [0x00e-0x00e] CS setup time, default value: 3
columnAddressWidth: # [Optional], columnAddressWidth; [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet
value: '0x03' # [Required], columnAddressWidth; [0x00f-0x00f] Column Address width, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet
deviceModeCfgEnable: # [Optional], deviceModeCfgEnable; [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled
value: '0x00' # [Required], deviceModeCfgEnable; [0x010-0x010] Device Mode Configuration Enable feature: 1 - Enabled, 0 - Disabled
deviceModeType: # [Optional], deviceModeType; [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
value: '0x00' # [Required], deviceModeType; [0x011-0x011] Specify the configuration command type: Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
waitTimeCfgCommands: # [Optional], waitTimeCfgCommands; [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command
value: '0x0000' # [Required], waitTimeCfgCommands; [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command
deviceModeSeq: # [Optional], deviceModeSeq; [0x014-0x017] Device mode sequence info, [7:0] - LUT number of sequences, [15:8] - LUT sequence index, [31:16] Reserved
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved, fixed to 0
deviceModeArg: # [Optional], deviceModeArg; [0x018-0x01b] Argument/Parameter for device configuration
value: '0x00000000' # [Required], deviceModeArg; [0x018-0x01b] Argument/Parameter for device configuration
configCmdEnable: # [Optional], configCmdEnable; [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable
value: '0x00' # [Required], configCmdEnable; [0x01c-0x01c] Config Command Enable feature: 1 - Enable, 0 - Disable
configModeType_0: # [Optional], configModeType_0; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0]
value: '0x00' # [Required], configModeType_0; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[0]
configModeType_1: # [Optional], configModeType_1; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1]
value: '0x00' # [Required], configModeType_1; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[1]
configModeType_2: # [Optional], configModeType_2; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2]
value: '0x00' # [Required], configModeType_2; [0x01d-0x01f] Configure Mode Type, similar as deviceModeType, configModeType for configCmdSeq[2]
configCmdSeqs_0: # [Optional], configCmdSeqs_0; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
configCmdSeqs_1: # [Optional], configCmdSeqs_1; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
configCmdSeqs_2: # [Optional], configCmdSeqs_2; [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
reserved1: # [Optional], reserved1; [0x02c-0x02f] Reserved for future use
value: '0x00000000' # [Required], reserved1; [0x02c-0x02f] Reserved for future use
configCmdArgs_0: # [Optional], configCmdArgs_0; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_0; [0x030-0x03b] Arguments/Parameters for device Configuration commands
configCmdArgs_1: # [Optional], configCmdArgs_1; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_1; [0x030-0x03b] Arguments/Parameters for device Configuration commands
configCmdArgs_2: # [Optional], configCmdArgs_2; [0x030-0x03b] Arguments/Parameters for device Configuration commands
value: '0x00000000' # [Required], configCmdArgs_2; [0x030-0x03b] Arguments/Parameters for device Configuration commands
reserved2: # [Optional], reserved2; [0x03c-0x03f] Reserved for future use
value: '0x00000000' # [Required], reserved2; [0x03c-0x03f] Reserved for future use
controllerMiscOption: # [Optional], controllerMiscOption; [0x040-0x043] Controller Misc Option, see Misc feature bit definitions for more details
bitfields: # [Required]
bit0: 0 # [Optional], bit0; Bit0 - differential clock enable
bit1: 0 # [Optional], bit1; Bit1 - CK2 enable
bit2: 0 # [Optional], bit2; Bit2 - ParallelModeEnable
bit3: 0 # [Optional], bit3; Bit3 - wordAddressableEnable
bit4: 0 # [Optional], bit4; Bit4 - Half-Speed access enable
bit5: 0 # [Optional], bit5; Bit5 - Pad Settings Override Enable
bit6: 0 # [Optional], bit6; Bit6 - DDR Mode Enable
bit7: 0 # [Optional], bit7; Bit7 - Pad Settings Overide Enable
bit8: 0 # [Optional], bit8; Bit8 - Second Pinmux group
bit9: 0 # [Optional], bit9; Bit9 - Second DQS pi mux group
bit10: 0 # [Optional], bit10; Bit10 - Write Mask Enable
bit11: 0 # [Optional], bit11; Bit11 - Write Opt1 Clear
reserved: 0 # [Optional], reserved; N/A
deviceType: # [Optional], deviceType; [0x044-0x044] Device Type: See Flash Type Definition for more details
value: '0x03' # [Required], deviceType; [0x044-0x044] Device Type: See Flash Type Definition for more details
sflashPadType: # [Optional], sflashPadType; [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal
value: '0x01' # [Required], sflashPadType; [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal
serialClkFreq: # [Optional], serialClkFreq; [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details
value: '0x00' # [Required], serialClkFreq; [0x046-0x046] Serial Flash Frequency, device specific definitions, See System Boot Chapter for more details
lutCustomSeqEnable: # [Optional], lutCustomSeqEnable; [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH
value: '0x00' # [Required], lutCustomSeqEnable; [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH
reserved3_0: # [Optional], reserved3_0; [0x048-0x04f] Reserved for future use
value: '0x00000000' # [Required], reserved3_0; [0x048-0x04f] Reserved for future use
reserved3_1: # [Optional], reserved3_1; [0x048-0x04f] Reserved for future use
value: '0x00000000' # [Required], reserved3_1; [0x048-0x04f] Reserved for future use
sflashA1Size: # [Optional], sflashA1Size; [0x050-0x053] Size of Flash connected to A1
value: '0x00000000' # [Required], sflashA1Size; [0x050-0x053] Size of Flash connected to A1
sflashA2Size: # [Optional], sflashA2Size; [0x054-0x057] Size of Flash connected to A2
value: '0x00000000' # [Required], sflashA2Size; [0x054-0x057] Size of Flash connected to A2
sflashB1Size: # [Optional], sflashB1Size; [0x058-0x05b] Size of Flash connected to B1
value: '0x00000000' # [Required], sflashB1Size; [0x058-0x05b] Size of Flash connected to B1
sflashB2Size: # [Optional], sflashB2Size; [0x05c-0x05f] Size of Flash connected to B2
value: '0x00000000' # [Required], sflashB2Size; [0x05c-0x05f] Size of Flash connected to B2
csPadSettingOverride: # [Optional], csPadSettingOverride; [0x060-0x063] CS pad setting override value
value: '0x00000000' # [Required], csPadSettingOverride; [0x060-0x063] CS pad setting override value
sclkPadSettingOverride: # [Optional], sclkPadSettingOverride; [0x064-0x067] SCK pad setting override value
value: '0x00000000' # [Required], sclkPadSettingOverride; [0x064-0x067] SCK pad setting override value
dataPadSettingOverride: # [Optional], dataPadSettingOverride; [0x068-0x06b] data pad setting override value
value: '0x00000000' # [Required], dataPadSettingOverride; [0x068-0x06b] data pad setting override value
dqsPadSettingOverride: # [Optional], dqsPadSettingOverride; [0x06c-0x06f] DQS pad setting override value
value: '0x00000000' # [Required], dqsPadSettingOverride; [0x06c-0x06f] DQS pad setting override value
timeoutInMs: # [Optional], timeoutInMs; [0x070-0x073] Timeout threshold for read status command
value: '0x00000000' # [Required], timeoutInMs; [0x070-0x073] Timeout threshold for read status command
commandInterval: # [Optional], commandInterval; [0x074-0x077] CS deselect interval between two commands
value: '0x00000000' # [Required], commandInterval; [0x074-0x077] CS deselect interval between two commands
dataValidTime_0: # [Optional], dataValidTime_0; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
value: '0x0000' # [Required], dataValidTime_0; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
dataValidTime_1: # [Optional], dataValidTime_1; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
value: '0x0000' # [Required], dataValidTime_1; [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B, in terms of 0.1ns
busyOffset: # [Optional], busyOffset; [0x07c-0x07d] Busy offset, valid value: 0-31
value: '0x0000' # [Required], busyOffset; [0x07c-0x07d] Busy offset, valid value: 0-31
busyBitPolarity: # [Optional], busyBitPolarity; [0x07e-0x07f] Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - busy flag is 0 when flash device is busy
bitfields: # [Required]
busyBitPolarity: 0 # [Optional], busyBitPolarity; Busy flag polarity
lookupTable_0: # [Optional], lookupTable_0; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_0; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_1: # [Optional], lookupTable_1; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_1; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_2: # [Optional], lookupTable_2; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_2; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_3: # [Optional], lookupTable_3; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_3; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_4: # [Optional], lookupTable_4; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_4; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_5: # [Optional], lookupTable_5; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_5; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_6: # [Optional], lookupTable_6; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_6; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_7: # [Optional], lookupTable_7; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_7; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_8: # [Optional], lookupTable_8; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_8; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_9: # [Optional], lookupTable_9; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_9; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_10: # [Optional], lookupTable_10; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_10; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_11: # [Optional], lookupTable_11; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_11; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_12: # [Optional], lookupTable_12; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_12; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_13: # [Optional], lookupTable_13; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_13; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_14: # [Optional], lookupTable_14; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_14; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_15: # [Optional], lookupTable_15; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_15; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_16: # [Optional], lookupTable_16; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_16; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_17: # [Optional], lookupTable_17; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_17; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_18: # [Optional], lookupTable_18; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_18; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_19: # [Optional], lookupTable_19; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_19; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_20: # [Optional], lookupTable_20; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_20; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_21: # [Optional], lookupTable_21; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_21; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_22: # [Optional], lookupTable_22; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_22; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_23: # [Optional], lookupTable_23; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_23; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_24: # [Optional], lookupTable_24; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_24; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_25: # [Optional], lookupTable_25; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_25; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_26: # [Optional], lookupTable_26; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_26; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_27: # [Optional], lookupTable_27; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_27; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_28: # [Optional], lookupTable_28; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_28; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_29: # [Optional], lookupTable_29; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_29; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_30: # [Optional], lookupTable_30; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_30; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_31: # [Optional], lookupTable_31; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_31; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_32: # [Optional], lookupTable_32; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_32; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_33: # [Optional], lookupTable_33; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_33; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_34: # [Optional], lookupTable_34; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_34; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_35: # [Optional], lookupTable_35; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_35; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_36: # [Optional], lookupTable_36; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_36; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_37: # [Optional], lookupTable_37; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_37; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_38: # [Optional], lookupTable_38; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_38; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_39: # [Optional], lookupTable_39; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_39; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_40: # [Optional], lookupTable_40; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_40; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_41: # [Optional], lookupTable_41; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_41; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_42: # [Optional], lookupTable_42; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_42; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_43: # [Optional], lookupTable_43; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_43; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_44: # [Optional], lookupTable_44; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_44; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_45: # [Optional], lookupTable_45; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_45; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_46: # [Optional], lookupTable_46; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_46; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_47: # [Optional], lookupTable_47; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_47; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_48: # [Optional], lookupTable_48; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_48; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_49: # [Optional], lookupTable_49; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_49; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_50: # [Optional], lookupTable_50; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_50; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_51: # [Optional], lookupTable_51; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_51; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_52: # [Optional], lookupTable_52; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_52; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_53: # [Optional], lookupTable_53; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_53; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_54: # [Optional], lookupTable_54; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_54; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_55: # [Optional], lookupTable_55; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_55; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_56: # [Optional], lookupTable_56; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_56; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_57: # [Optional], lookupTable_57; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_57; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_58: # [Optional], lookupTable_58; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_58; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_59: # [Optional], lookupTable_59; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_59; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_60: # [Optional], lookupTable_60; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_60; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_61: # [Optional], lookupTable_61; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_61; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_62: # [Optional], lookupTable_62; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_62; [0x080-0x17f] Lookup table holds Flash command sequences
lookupTable_63: # [Optional], lookupTable_63; [0x080-0x17f] Lookup table holds Flash command sequences
value: '0x00000000' # [Required], lookupTable_63; [0x080-0x17f] Lookup table holds Flash command sequences
lutCustomSeq_0: # [Optional], lutCustomSeq_0; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_1: # [Optional], lutCustomSeq_1; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_2: # [Optional], lutCustomSeq_2; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_3: # [Optional], lutCustomSeq_3; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_4: # [Optional], lutCustomSeq_4; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_5: # [Optional], lutCustomSeq_5; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_6: # [Optional], lutCustomSeq_6; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_7: # [Optional], lutCustomSeq_7; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_8: # [Optional], lutCustomSeq_8; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_9: # [Optional], lutCustomSeq_9; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_10: # [Optional], lutCustomSeq_10; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
lutCustomSeq_11: # [Optional], lutCustomSeq_11; [0x180-0x1af] Customizable LUT Sequences
bitfields: # [Required]
seqNum: 0 # [Optional], seqNum; Number of sequences, valid number: 1-16
seqId: 0 # [Optional], seqId; Sequence Index, valid number: 0-15
reserved: 0 # [Optional], Reserved
reserved4_0: # [Optional], reserved4_0; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_0; [0x1b0-0x1bf] Reserved for future use
reserved4_1: # [Optional], reserved4_1; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_1; [0x1b0-0x1bf] Reserved for future use
reserved4_2: # [Optional], reserved4_2; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_2; [0x1b0-0x1bf] Reserved for future use
reserved4_3: # [Optional], reserved4_3; [0x1b0-0x1bf] Reserved for future use
value: '0x00000000' # [Required], reserved4_3; [0x1b0-0x1bf] Reserved for future use
pageSize: # [Optional], pageSize; Page size of Serial NOR
value: '0x00000000' # [Required], pageSize; Page size of Serial NOR
sectorSize: # [Optional], sectorSize; Sector size of Serial NOR
value: '0x00000000' # [Required], sectorSize; Sector size of Serial NOR
ipcmdSerialClkFreq: # [Optional], ipcmdSerialClkFreq; Clock frequency for IP command
value: '0x00' # [Required], ipcmdSerialClkFreq; Clock frequency for IP command
isUniformBlockSize: # [Optional], isUniformBlockSize; Sector/Block size is the same
value: '0x00' # [Required], isUniformBlockSize; Sector/Block size is the same
reserved0_0: # [Optional], reserved0_0; Reserved for future use
value: '0x00' # [Required], reserved0_0; Reserved for future use
reserved0_1: # [Optional], reserved0_1; Reserved for future use
value: '0x00' # [Required], reserved0_1; Reserved for future use
serialNorType: # [Optional], serialNorType; Serial NOR Flash type: 0/1/2/3
value: '0x00' # [Required], serialNorType; Serial NOR Flash type: 0/1/2/3
needExitNoCmdMode: # [Optional], needExitNoCmdMode; Need to exit NoCmd mode before other IP command
value: '0x00' # [Required], needExitNoCmdMode; Need to exit NoCmd mode before other IP command
halfClkForNonReadCmd: # [Optional], halfClkForNonReadCmd; Half the Serial Clock for non-read command: true/false
value: '0x00' # [Required], halfClkForNonReadCmd; Half the Serial Clock for non-read command: true/false
needRestoreNoCmdMode: # [Optional], needRestoreNoCmdMode; Need to Restore NoCmd mode after IP commmand execution
value: '0x00' # [Required], needRestoreNoCmdMode; Need to Restore NoCmd mode after IP commmand execution
blockSize: # [Optional], blockSize; Block size
value: '0x00000000' # [Required], blockSize; Block size
reserve2_0: # [Optional], reserve2_0; Reserved for future use
value: '0x00000000' # [Required], reserve2_0; Reserved for future use
reserve2_1: # [Optional], reserve2_1; Reserved for future use
value: '0x00000000' # [Required], reserve2_1; Reserved for future use
reserve2_2: # [Optional], reserve2_2; Reserved for future use
value: '0x00000000' # [Required], reserve2_2; Reserved for future use
reserve2_3: # [Optional], reserve2_3; Reserved for future use
value: '0x00000000' # [Required], reserve2_3; Reserved for future use
reserve2_4: # [Optional], reserve2_4; Reserved for future use
value: '0x00000000' # [Required], reserve2_4; Reserved for future use
reserve2_5: # [Optional], reserve2_5; Reserved for future use
value: '0x00000000' # [Required], reserve2_5; Reserved for future use
reserve2_6: # [Optional], reserve2_6; Reserved for future use
value: '0x00000000' # [Required], reserve2_6; Reserved for future use
reserve2_7: # [Optional], reserve2_7; Reserved for future use
value: '0x00000000' # [Required], reserve2_7; Reserved for future use
reserve2_8: # [Optional], reserve2_8; Reserved for future use
value: '0x00000000' # [Required], reserve2_8; Reserved for future use
reserve2_9: # [Optional], reserve2_9; Reserved for future use
value: '0x00000000' # [Required], reserve2_9; Reserved for future use
reserve2_10: # [Optional], reserve2_10; Reserved for future use
value: '0x00000000' # [Required], reserve2_10; Reserved for future use
XMCD template for rt118x and semc_sdram
family(string): MCU family name. Must be one of:["rt116x", "rt117x", "rt118x"].revision(string): If needed this could be used to specify silicon revision of device. Must be one of:["latest"].mem_type(string): Specify type of memory used by XMCD description. Must be one of:["flexspi_ram", "semc_sdram"].config_type(string): Specify type of configuration used by XMCD description. Must be one of:["simplified", "full"].xmcd_settings(object)header(object): XMCD Header.bitfields(object, required)configurationBlockSize([‘string’, ‘number’]): Configuration block size including XMCD header itself.configurationBlockType([‘string’, ‘number’]): Configuration block type: 0 - Simplified, 1 - Full.instance([‘string’, ‘number’]): SoC defined instances.memoryInterface([‘string’, ‘number’]): Memory interface: 0 - FlexSPI, 1 - SEMC.version([‘string’, ‘number’]): Version, fixed value 0x0.tag([‘string’, ‘number’]): Tag, fixed value 0xC.
magicNumber(object): Fixed to 0xA1.value([‘string’, ‘number’], required): Fixed to 0xA1.
version(object): Set to 1 for this implementation.value([‘string’, ‘number’], required): Set to 1 for this implementation.
configOption(object): Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case.value([‘string’, ‘number’], required): Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case.
clkMhz(object): Set the working frequency in the unit of MHz.value([‘string’, ‘number’], required): Set the working frequency in the unit of MHz.
sdramSizeKb(object): Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
portSize(object): Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit.value([‘string’, ‘number’], required): Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit.
pinConfigPull(object): Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value.value([‘string’, ‘number’], required): Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value.
pinConfigDriveStrength(object): Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value.value([‘string’, ‘number’], required): Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value.
muxRdy(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx0(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx1(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx2(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
muxCsx3(object): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.value([‘string’, ‘number’], required): SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices.
bank(object): Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value.value([‘string’, ‘number’], required): Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value.
burstLen(object): Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value.value([‘string’, ‘number’], required): Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value.
columnAddrBitNum(object): Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value.value([‘string’, ‘number’], required): Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value.
casLatency(object): CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value.value([‘string’, ‘number’], required): CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value.
writeRecoveryNs(object): Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
refreshRecoveryNs(object): Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
act2readwriteNs(object): Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
precharge2actNs(object): Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.value([‘string’, ‘number’], required): Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
act2actBanksNs(object): Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
refresh2refreshNs(object): Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
selfrefRecoveryNs(object): Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.value([‘string’, ‘number’], required): Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
act2prechargeMinNs(object): ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.value([‘string’, ‘number’], required): ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
act2prechargeMaxNs(object): ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.value([‘string’, ‘number’], required): ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
refreshperiodPerrowNs(object): Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.value([‘string’, ‘number’], required): Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
modeRegister(object): Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.value([‘string’, ‘number’], required): Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
sdram0Base(object): Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.value([‘string’, ‘number’], required): Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
sdram1Base(object): Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
sdram2Base(object): Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
sdram3Base(object): Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.value([‘string’, ‘number’], required): Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
sdram1SizeKb(object): Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
sdram2SizeKb(object): Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
sdram3SizeKb(object): Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.value([‘string’, ‘number’], required): Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~410241024 kilobytes.
# =========== XMCD template for rt118x and semc_sdram ===========
# ----------------------------------------------------------------------------------------------------
# == XMCD template for rt118x and semc_sdram ==
# ----------------------------------------------------------------------------------------------------
family: CHOOSE_FROM_TABLE # [Required], MCU family name; Possible options:['rt116x', 'rt117x', 'rt118x']
revision: latest # [Optional], Chip silicon revision; If needed this could be used to specify silicon revision of device; Possible options:['latest']
mem_type: flexspi_ram # [Required], Memory type; Specify type of memory used by XMCD description; Possible options:['flexspi_ram', 'semc_sdram']
config_type: simplified # [Required], Configuration type; Specify type of configuration used by XMCD description; Possible options:['simplified', 'full']
xmcd_settings: # [Required], rt118x
header: # [Optional], header; XMCD Header
bitfields: # [Required]
configurationBlockSize: 72 # [Optional], configurationBlockSize; Configuration block size including XMCD header itself
configurationBlockType: 1 # [Optional], configurationBlockType; Configuration block type: 0 - Simplified, 1 - Full
instance: 0 # [Optional], instance; SoC defined instances
memoryInterface: 1 # [Optional], memoryInterface; Memory interface: 0 - FlexSPI, 1 - SEMC
version: 0 # [Optional], Version, fixed value 0x0
tag: 12 # [Optional], Tag, fixed value 0xC
magicNumber: # [Optional], magicNumber; Fixed to 0xA1
value: '0xA1' # [Required], magicNumber; Fixed to 0xA1
version: # [Optional], version; Set to 1 for this implementation
value: '0x01' # [Required], version; Set to 1 for this implementation
configOption: # [Optional], configOption; Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case
value: '0xFF' # [Required], configOption; Simplified - 0x00, Full - 0xFF - Must be 0xFF in this case
clkMhz: # [Optional], clkMhz; Set the working frequency in the unit of MHz
value: '0x00' # [Required], clkMhz; Set the working frequency in the unit of MHz
sdramSizeKb: # [Optional], sdramSizeKb; Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdramSizeKb; Set the memory size of SDRAM CS0 in the unit of kilobytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
portSize: # [Optional], portSize; Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit
value: '0x00' # [Required], portSize; Port size of SDRAM: 0 - 8-bit, 1 - 16-bit, 2 - 32-bit
pinConfigPull: # [Optional], pinConfigPull; Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value
value: '0x03' # [Required], pinConfigPull; Pull config of the SDRAM GPIO pin: 0 - Forbidden, 1 - Pull up, 2 - Pull down, 3 - No pull, Others - Invalid value
pinConfigDriveStrength: # [Optional], pinConfigDriveStrength; Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value
value: '0x00' # [Required], pinConfigDriveStrength; Driver config of SDRAM GPIO pin: 0 - High driver, 1 - Normal driver, Others - Invalid value
muxRdy: # [Optional], muxRdy; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxRdy; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx0: # [Optional], muxCsx0; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx0; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx1: # [Optional], muxCsx1; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx1; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx2: # [Optional], muxCsx2; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx2; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
muxCsx3: # [Optional], muxCsx3; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
value: '0x01' # [Required], muxCsx3; SDRAM CSn device selection: 1 - SDRAM CS1, 2 - SDRAM CS2, 3 - SDRAM CS3, Others - Invalid for SDRAM, select other external devices
bank: # [Optional], Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value
value: '0x00' # [Required], Bank numbers of SDRAM device: 0 - 4 banks, 1 - 2 banks, Others - Invalid value
burstLen: # [Optional], burstLen; Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value
value: '0x00' # [Required], burstLen; Burst length: 0 - 1, 1 - 2, 2 - 4, 3 - 8, Others - Invalid value
columnAddrBitNum: # [Optional], columnAddrBitNum; Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value
value: '0x00' # [Required], columnAddrBitNum; Column address bit number: 0 - 12 bit, 1 - 11 bit, 2 - 10 bit, 3 - 9 bit, 4 - 8 bit, Others - Invalid value
casLatency: # [Optional], casLatency; CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value
value: '0x01' # [Required], casLatency; CAS Latency: 1 - 1, 2 - 2, 3 - 3, Others - Invalid value
writeRecoveryNs: # [Optional], writeRecoveryNs; Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
value: '0x00' # [Required], writeRecoveryNs; Write recovery time in unit of nanosecond. This could help to meet tWR timing requirement by the SDRAM device.
refreshRecoveryNs: # [Optional], refreshRecoveryNs; Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
value: '0x00' # [Required], refreshRecoveryNs; Refresh recovery time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
act2readwriteNs: # [Optional], act2readwriteNs; Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
value: '0x00' # [Required], act2readwriteNs; Act to read/write wait time in unit of nanosecond. This could help to meet tRCD timing requirement by the SDRAM device.
precharge2actNs: # [Optional], precharge2actNs; Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
value: '0x00' # [Required], precharge2actNs; Precharge to active wait time in unit of nanosecond. This could help to meet tRP timing requirement by SDRAM device.
act2actBanksNs: # [Optional], act2actBanksNs; Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
value: '0x00' # [Required], act2actBanksNs; Active to active wait time between two different banks in unit of nanosecond. This could help to meet tRRD timing requirement by the SDRAM device.
refresh2refreshNs: # [Optional], refresh2refreshNs; Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
value: '0x00' # [Required], refresh2refreshNs; Auto refresh to auto refresh wait time in unit of nanosecond. This could help to meet tRFC timing requirement by the SDRAM device.
selfrefRecoveryNs: # [Optional], selfrefRecoveryNs; Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
value: '0x00' # [Required], selfrefRecoveryNs; Self refresh recovery time in unit of nanosecond. This could help to meet tXSR timing requirement by the SDRAM device.
act2prechargeMinNs: # [Optional], act2prechargeMinNs; ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
value: '0x00' # [Required], act2prechargeMinNs; ACT to Precharge minimum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
act2prechargeMaxNs: # [Optional], act2prechargeMaxNs; ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
value: '0x00000000' # [Required], act2prechargeMaxNs; ACT to Precharge maximum time in unit of nanosecond. This could help to meet tRAS(max) timing requirement by the SDRAM device.
refreshperiodPerrowNs: # [Optional], refreshperiodPerrowNs; Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
value: '0x00000000' # [Required], refreshperiodPerrowNs; Refresh timer period in unit of nanosecond. Set to (tREF(ms) * 1000000/rows) value.
modeRegister: # [Optional], modeRegister; Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
value: '0x00000000' # [Required], modeRegister; Define the specific mode of operation of SDRAM. Set to the value required by SDRAM device.
sdram0Base: # [Optional], sdram0Base; Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
value: '0x00000000' # [Required], sdram0Base; Base address of SDRAM CS0. Range: 0x8000_0000~0xDFFF_FFFF.
sdram1Base: # [Optional], sdram1Base; Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram1Base; Base address of SDRAM CS1. Range: 0x8000_0000~0xDFFF_FFFF. If CS1 is not being used, set the address to 0.
sdram2Base: # [Optional], sdram2Base; Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram2Base; Base address of SDRAM CS2. Range: 0x8000_0000~0xDFFF_FFFF. If CS2 is not being used, set the address to 0.
sdram3Base: # [Optional], sdram3Base; Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
value: '0x00000000' # [Required], sdram3Base; Base address of SDRAM CS3. Range: 0x8000_0000~0xDFFF_FFFF. If CS3 is not being used, set the address to 0.
sdram1SizeKb: # [Optional], sdram1SizeKb; Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram1SizeKb; Set the memory size of SDRAM CS1 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
sdram2SizeKb: # [Optional], sdram2SizeKb; Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram2SizeKb; Set the memory size of SDRAM CS2 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
sdram3SizeKb: # [Optional], sdram3SizeKb; Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.
value: '0x00000000' # [Required], sdram3SizeKb; Set the memory size of SDRAM CS3 in unit of kbytes. Range: 0x0000_0004~0x0040_0000, i.e. 4~4*1024*1024 kilobytes.