Let fmc_h7 be fmc_v3x1
This commit is contained in:
parent
e8aa0ee7f9
commit
b877664b6a
@ -1,850 +0,0 @@
|
||||
---
|
||||
block/FMC:
|
||||
description: FMC
|
||||
items:
|
||||
- name: BCR1
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
byte_offset: 0
|
||||
fieldset: BCR1
|
||||
- name: BTR1
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
byte_offset: 4
|
||||
fieldset: BTR1
|
||||
- name: BCR2
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
byte_offset: 8
|
||||
fieldset: BCR2
|
||||
- name: BTR2
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
byte_offset: 12
|
||||
fieldset: BTR2
|
||||
- name: BCR3
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
byte_offset: 16
|
||||
fieldset: BCR3
|
||||
- name: BTR3
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
byte_offset: 20
|
||||
fieldset: BTR3
|
||||
- name: BCR4
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
byte_offset: 24
|
||||
fieldset: BCR4
|
||||
- name: BTR4
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
byte_offset: 28
|
||||
fieldset: BTR4
|
||||
- name: PCR
|
||||
description: NAND Flash control registers
|
||||
byte_offset: 128
|
||||
fieldset: PCR
|
||||
- name: SR
|
||||
description: "This register contains information about the FIFO status and interrupt. The FMC features a FIFO that is used when writing to memories to transfer up to 16 words of data.This is used to quickly write to the FIFO and free the AXI bus for transactions to peripherals other than the FMC, while the FMC is draining its FIFO into the memory. One of these register bits indicates the status of the FIFO, for ECC purposes.The ECC is calculated while the data are written to the memory. To read the correct ECC, the software must consequently wait until the FIFO is empty."
|
||||
byte_offset: 132
|
||||
fieldset: SR
|
||||
- name: PMEM
|
||||
description: "The FMC_PMEM read/write register contains the timing information for NAND Flash memory bank. This information is used to access either the common memory space of the NAND Flash for command, address write access and data read/write access."
|
||||
byte_offset: 136
|
||||
fieldset: PMEM
|
||||
- name: PATT
|
||||
description: "The FMC_PATT read/write register contains the timing information for NAND Flash memory bank. It is used for 8-bit accesses to the attribute memory space of the NAND Flash for the last address write access if the timing must differ from that of previous accesses (for Ready/Busy management, refer to Section20.8.5: NAND Flash prewait feature)."
|
||||
byte_offset: 140
|
||||
fieldset: PATT
|
||||
- name: ECCR
|
||||
description: "This register contain the current error correction code value computed by the ECC computation modules of the FMC NAND controller. When the CPU reads/writes the data from a NAND Flash memory page at the correct address (refer to Section20.8.6: Computation of the error correction code (ECC) in NAND Flash memory), the data read/written from/to the NAND Flash memory are processed automatically by the ECC computation module. When X bytes have been read (according to the ECCPS field in the FMC_PCR registers), the CPU must read the computed ECC value from the FMC_ECC registers. It then verifies if these computed parity data are the same as the parity value recorded in the spare area, to determine whether a page is valid, and, to correct it otherwise. The FMC_ECCR register should be cleared after being read by setting the ECCEN bit to 0. To compute a new data block, the ECCEN bit must be set to 1."
|
||||
byte_offset: 148
|
||||
access: Read
|
||||
fieldset: ECCR
|
||||
- name: BWTR1
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
byte_offset: 260
|
||||
fieldset: BWTR1
|
||||
- name: BWTR2
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
byte_offset: 268
|
||||
fieldset: BWTR2
|
||||
- name: BWTR3
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
byte_offset: 276
|
||||
fieldset: BWTR3
|
||||
- name: BWTR4
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
byte_offset: 284
|
||||
fieldset: BWTR4
|
||||
- name: SDBANK
|
||||
description: "Cluster SDBANK%s, containing SDTR?, SDCR?"
|
||||
array:
|
||||
len: 2
|
||||
stride: 4
|
||||
byte_offset: 320
|
||||
block: SDBANK
|
||||
- name: SDCMR
|
||||
description: "This register contains the command issued when the SDRAM device is accessed. This register is used to initialize the SDRAM device, and to activate the Self-refresh and the Power-down modes. As soon as the MODE field is written, the command will be issued only to one or to both SDRAM banks according to CTB1 and CTB2 command bits. This register is the same for both SDRAM banks."
|
||||
byte_offset: 336
|
||||
fieldset: SDCMR
|
||||
- name: SDRTR
|
||||
description: "This register sets the refresh rate in number of SDCLK clock cycles between the refresh cycles by configuring the Refresh Timer Count value.Examplewhere 64 ms is the SDRAM refresh period.The refresh rate must be increased by 20 SDRAM clock cycles (as in the above example) to obtain a safe margin if an internal refresh request occurs when a read request has been accepted. It corresponds to a COUNT value of 0000111000000 (448). This 13-bit field is loaded into a timer which is decremented using the SDRAM clock. This timer generates a refresh pulse when zero is reached. The COUNT value must be set at least to 41 SDRAM clock cycles.As soon as the FMC_SDRTR register is programmed, the timer starts counting. If the value programmed in the register is 0, no refresh is carried out. This register must not be reprogrammed after the initialization procedure to avoid modifying the refresh rate.Each time a refresh pulse is generated, this 13-bit COUNT field is reloaded into the counter.If a memory access is in progress, the Auto-refresh request is delayed. However, if the memory access and Auto-refresh requests are generated simultaneously, the Auto-refresh takes precedence. If the memory access occurs during a refresh operation, the request is buffered to be processed when the refresh is complete.This register is common to SDRAM bank 1 and bank 2."
|
||||
byte_offset: 340
|
||||
fieldset: SDRTR
|
||||
- name: SDSR
|
||||
description: SDRAM Status register
|
||||
byte_offset: 344
|
||||
access: Read
|
||||
fieldset: SDSR
|
||||
block/SDBANK:
|
||||
description: "Cluster SDBANK%s, containing SDTR?, SDCR?"
|
||||
items:
|
||||
- name: SDCR
|
||||
description: This register contains the control parameters for each SDRAM memory bank
|
||||
byte_offset: 0
|
||||
fieldset: SDCR
|
||||
- name: SDTR
|
||||
description: This register contains the timing parameters of each SDRAM bank
|
||||
byte_offset: 8
|
||||
fieldset: SDTR
|
||||
fieldset/BCR1:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
fields:
|
||||
- name: MBKEN
|
||||
description: "Memory bank enable bit This bit enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AXI bus."
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MUXEN
|
||||
description: "Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories:"
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: MTYP
|
||||
description: "Memory type These bits define the type of external memory attached to the corresponding memory bank:"
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
- name: MWID
|
||||
description: "Memory data bus width Defines the external memory device width, valid for all type of memories."
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
- name: FACCEN
|
||||
description: Flash access enable This bit enables NOR Flash memory access operations.
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: BURSTEN
|
||||
description: "Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode:"
|
||||
bit_offset: 8
|
||||
bit_size: 1
|
||||
- name: WAITPOL
|
||||
description: "Wait signal polarity bit This bit defines the polarity of the wait signal from memory used for either in synchronous or asynchronous mode:"
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
- name: WAITCFG
|
||||
description: "Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state:"
|
||||
bit_offset: 11
|
||||
bit_size: 1
|
||||
- name: WREN
|
||||
description: "Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC:"
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: WAITEN
|
||||
description: Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in synchronous mode.
|
||||
bit_offset: 13
|
||||
bit_size: 1
|
||||
- name: EXTMOD
|
||||
description: "Extended mode enable. This bit enables the FMC to program the write timings for asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the extended mode is disabled, the FMC can operate in Mode1 or Mode2 as follows: ** Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP =0x0 or 0x01) ** Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10)."
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
- name: ASYNCWAIT
|
||||
description: Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol.
|
||||
bit_offset: 15
|
||||
bit_size: 1
|
||||
- name: CPSIZE
|
||||
description: "CRAM Page Size These are used for Cellular RAM 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Other configuration: reserved."
|
||||
bit_offset: 16
|
||||
bit_size: 3
|
||||
- name: CBURSTRW
|
||||
description: "Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register."
|
||||
bit_offset: 19
|
||||
bit_size: 1
|
||||
- name: CCLKEN
|
||||
description: "Continuous Clock Enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in synchronous mode to generate the FMC_CLK continuous clock. If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is dont care. If the synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.)"
|
||||
bit_offset: 20
|
||||
bit_size: 1
|
||||
- name: WFDIS
|
||||
description: "Write FIFO Disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 21
|
||||
bit_size: 1
|
||||
- name: BMAP
|
||||
description: "FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 24
|
||||
bit_size: 2
|
||||
- name: FMCEN
|
||||
description: "FMC controller Enable This bit enables/disables the FMC controller. Note: The FMCEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 31
|
||||
bit_size: 1
|
||||
fieldset/BCR2:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
fields:
|
||||
- name: MBKEN
|
||||
description: "Memory bank enable bit This bit enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AXI bus."
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MUXEN
|
||||
description: "Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories:"
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: MTYP
|
||||
description: "Memory type These bits define the type of external memory attached to the corresponding memory bank:"
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
- name: MWID
|
||||
description: "Memory data bus width Defines the external memory device width, valid for all type of memories."
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
- name: FACCEN
|
||||
description: Flash access enable This bit enables NOR Flash memory access operations.
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: BURSTEN
|
||||
description: "Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode:"
|
||||
bit_offset: 8
|
||||
bit_size: 1
|
||||
- name: WAITPOL
|
||||
description: "Wait signal polarity bit This bit defines the polarity of the wait signal from memory used for either in synchronous or asynchronous mode:"
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
- name: WAITCFG
|
||||
description: "Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state:"
|
||||
bit_offset: 11
|
||||
bit_size: 1
|
||||
- name: WREN
|
||||
description: "Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC:"
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: WAITEN
|
||||
description: Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in synchronous mode.
|
||||
bit_offset: 13
|
||||
bit_size: 1
|
||||
- name: EXTMOD
|
||||
description: "Extended mode enable. This bit enables the FMC to program the write timings for asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the extended mode is disabled, the FMC can operate in Mode1 or Mode2 as follows: ** Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP =0x0 or 0x01) ** Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10)."
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
- name: ASYNCWAIT
|
||||
description: Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol.
|
||||
bit_offset: 15
|
||||
bit_size: 1
|
||||
- name: CPSIZE
|
||||
description: "CRAM Page Size These are used for Cellular RAM 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Other configuration: reserved."
|
||||
bit_offset: 16
|
||||
bit_size: 3
|
||||
- name: CBURSTRW
|
||||
description: "Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register."
|
||||
bit_offset: 19
|
||||
bit_size: 1
|
||||
- name: CCLKEN
|
||||
description: "Continuous Clock Enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in synchronous mode to generate the FMC_CLK continuous clock. If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is dont care. If the synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.)"
|
||||
bit_offset: 20
|
||||
bit_size: 1
|
||||
- name: WFDIS
|
||||
description: "Write FIFO Disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 21
|
||||
bit_size: 1
|
||||
- name: BMAP
|
||||
description: "FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 24
|
||||
bit_size: 2
|
||||
- name: FMCEN
|
||||
description: "FMC controller Enable This bit enables/disables the FMC controller. Note: The FMCEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 31
|
||||
bit_size: 1
|
||||
fieldset/BCR3:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
fields:
|
||||
- name: MBKEN
|
||||
description: "Memory bank enable bit This bit enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AXI bus."
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MUXEN
|
||||
description: "Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories:"
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: MTYP
|
||||
description: "Memory type These bits define the type of external memory attached to the corresponding memory bank:"
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
- name: MWID
|
||||
description: "Memory data bus width Defines the external memory device width, valid for all type of memories."
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
- name: FACCEN
|
||||
description: Flash access enable This bit enables NOR Flash memory access operations.
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: BURSTEN
|
||||
description: "Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode:"
|
||||
bit_offset: 8
|
||||
bit_size: 1
|
||||
- name: WAITPOL
|
||||
description: "Wait signal polarity bit This bit defines the polarity of the wait signal from memory used for either in synchronous or asynchronous mode:"
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
- name: WAITCFG
|
||||
description: "Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state:"
|
||||
bit_offset: 11
|
||||
bit_size: 1
|
||||
- name: WREN
|
||||
description: "Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC:"
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: WAITEN
|
||||
description: Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in synchronous mode.
|
||||
bit_offset: 13
|
||||
bit_size: 1
|
||||
- name: EXTMOD
|
||||
description: "Extended mode enable. This bit enables the FMC to program the write timings for asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the extended mode is disabled, the FMC can operate in Mode1 or Mode2 as follows: ** Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP =0x0 or 0x01) ** Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10)."
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
- name: ASYNCWAIT
|
||||
description: Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol.
|
||||
bit_offset: 15
|
||||
bit_size: 1
|
||||
- name: CPSIZE
|
||||
description: "CRAM Page Size These are used for Cellular RAM 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Other configuration: reserved."
|
||||
bit_offset: 16
|
||||
bit_size: 3
|
||||
- name: CBURSTRW
|
||||
description: "Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register."
|
||||
bit_offset: 19
|
||||
bit_size: 1
|
||||
- name: CCLKEN
|
||||
description: "Continuous Clock Enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in synchronous mode to generate the FMC_CLK continuous clock. If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is dont care. If the synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.)"
|
||||
bit_offset: 20
|
||||
bit_size: 1
|
||||
- name: WFDIS
|
||||
description: "Write FIFO Disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 21
|
||||
bit_size: 1
|
||||
- name: BMAP
|
||||
description: "FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 24
|
||||
bit_size: 2
|
||||
- name: FMCEN
|
||||
description: "FMC controller Enable This bit enables/disables the FMC controller. Note: The FMCEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 31
|
||||
bit_size: 1
|
||||
fieldset/BCR4:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories."
|
||||
fields:
|
||||
- name: MBKEN
|
||||
description: "Memory bank enable bit This bit enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AXI bus."
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MUXEN
|
||||
description: "Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories:"
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: MTYP
|
||||
description: "Memory type These bits define the type of external memory attached to the corresponding memory bank:"
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
- name: MWID
|
||||
description: "Memory data bus width Defines the external memory device width, valid for all type of memories."
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
- name: FACCEN
|
||||
description: Flash access enable This bit enables NOR Flash memory access operations.
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: BURSTEN
|
||||
description: "Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode:"
|
||||
bit_offset: 8
|
||||
bit_size: 1
|
||||
- name: WAITPOL
|
||||
description: "Wait signal polarity bit This bit defines the polarity of the wait signal from memory used for either in synchronous or asynchronous mode:"
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
- name: WAITCFG
|
||||
description: "Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state:"
|
||||
bit_offset: 11
|
||||
bit_size: 1
|
||||
- name: WREN
|
||||
description: "Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC:"
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: WAITEN
|
||||
description: Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in synchronous mode.
|
||||
bit_offset: 13
|
||||
bit_size: 1
|
||||
- name: EXTMOD
|
||||
description: "Extended mode enable. This bit enables the FMC to program the write timings for asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the extended mode is disabled, the FMC can operate in Mode1 or Mode2 as follows: ** Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP =0x0 or 0x01) ** Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10)."
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
- name: ASYNCWAIT
|
||||
description: Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol.
|
||||
bit_offset: 15
|
||||
bit_size: 1
|
||||
- name: CPSIZE
|
||||
description: "CRAM Page Size These are used for Cellular RAM 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Other configuration: reserved."
|
||||
bit_offset: 16
|
||||
bit_size: 3
|
||||
- name: CBURSTRW
|
||||
description: "Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register."
|
||||
bit_offset: 19
|
||||
bit_size: 1
|
||||
- name: CCLKEN
|
||||
description: "Continuous Clock Enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in synchronous mode to generate the FMC_CLK continuous clock. If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is dont care. If the synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.)"
|
||||
bit_offset: 20
|
||||
bit_size: 1
|
||||
- name: WFDIS
|
||||
description: "Write FIFO Disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 21
|
||||
bit_size: 1
|
||||
- name: BMAP
|
||||
description: "FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 24
|
||||
bit_size: 2
|
||||
- name: FMCEN
|
||||
description: "FMC controller Enable This bit enables/disables the FMC controller. Note: The FMCEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 31
|
||||
bit_size: 1
|
||||
fieldset/BTR1:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration These bits are written by software to define the duration of the address setup phase (refer to Figure81 to Figure93), used in SRAMs, ROMs and asynchronous NOR Flash: For each access mode address setup phase duration, please refer to the respective figure (refer to Figure81 to Figure93). Note: In synchronous accesses, this value is dont care. In Muxed mode or Mode D, the minimum value for ADDSET is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in mode D or multiplexed accesses: For each access mode address-hold phase duration, please refer to the respective figure (Figure81 to Figure93). Note: In synchronous accesses, this value is not used, the address hold phase is always 1 memory clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous accesses: For each memory type and access mode data-phase duration, please refer to the respective figure (Figure81 to Figure93). Example: Mode1, write access, DATAST=1: Data-phase duration= DATAST+1 = 2 KCK_FMC clock cycles. Note: In synchronous accesses, this value is dont care."
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write-to-read or read-to write transaction. The programmed bus turnaround delay is inserted between an asynchronous read (in muxed or mode D) or write transaction and any other asynchronous /synchronous read/write from/to a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except in muxed mode and mode D. There is a bus turnaround delay of 1 FMC clock cycle between: Two consecutive asynchronous read transfers to the same static memory bank except for modes muxed and D. An asynchronous read to an asynchronous or synchronous write to any static bank or dynamic bank except in modes muxed and D mode. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank. A synchronous write (burst or single) access and an asynchronous write or read transfer to or from static memory bank (the bank can be the same or a different one in case of a read operation. Two consecutive synchronous read operations (in Burst or Single mode) followed by any synchronous/asynchronous read or write from/to another static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write access (in Burst or Single mode) and a synchronous read from the same or a different bank. The bus turnaround delay allows to match the minimum time between consecutive transactions (tEHEL from NEx high to NEx low) and the maximum time required by the memory to free the data bus after a read access (tEHQZ): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin and (BUSTRUN + 2)KCK_FMC period ≥ tEHQZmax if EXTMOD = 0 (BUSTRUN + 2)KCK_FMC period ≥ max (tEHELmin, tEHQZmax) if EXTMOD = 126. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: CLKDIV
|
||||
description: "Clock divide ratio (for FMC_CLK signal) These bits define the period of FMC_CLK clock output signal, expressed in number of KCK_FMC cycles: In asynchronous NOR Flash, SRAM or PSRAM accesses, this value is dont care. Note: Refer to Section20.6.5: Synchronous transactions for FMC_CLK divider ratio formula)"
|
||||
bit_offset: 20
|
||||
bit_size: 4
|
||||
- name: DATLAT
|
||||
description: Data latency for synchronous memory For synchronous access with read write burst mode enabled these bits define the number of memory clock cycles
|
||||
bit_offset: 24
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode These bits specify the asynchronous access modes as shown in the timing diagrams. They are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/BTR2:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration These bits are written by software to define the duration of the address setup phase (refer to Figure81 to Figure93), used in SRAMs, ROMs and asynchronous NOR Flash: For each access mode address setup phase duration, please refer to the respective figure (refer to Figure81 to Figure93). Note: In synchronous accesses, this value is dont care. In Muxed mode or Mode D, the minimum value for ADDSET is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in mode D or multiplexed accesses: For each access mode address-hold phase duration, please refer to the respective figure (Figure81 to Figure93). Note: In synchronous accesses, this value is not used, the address hold phase is always 1 memory clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous accesses: For each memory type and access mode data-phase duration, please refer to the respective figure (Figure81 to Figure93). Example: Mode1, write access, DATAST=1: Data-phase duration= DATAST+1 = 2 KCK_FMC clock cycles. Note: In synchronous accesses, this value is dont care."
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write-to-read or read-to write transaction. The programmed bus turnaround delay is inserted between an asynchronous read (in muxed or mode D) or write transaction and any other asynchronous /synchronous read/write from/to a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except in muxed mode and mode D. There is a bus turnaround delay of 1 FMC clock cycle between: Two consecutive asynchronous read transfers to the same static memory bank except for modes muxed and D. An asynchronous read to an asynchronous or synchronous write to any static bank or dynamic bank except in modes muxed and D mode. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank. A synchronous write (burst or single) access and an asynchronous write or read transfer to or from static memory bank (the bank can be the same or a different one in case of a read operation. Two consecutive synchronous read operations (in Burst or Single mode) followed by any synchronous/asynchronous read or write from/to another static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write access (in Burst or Single mode) and a synchronous read from the same or a different bank. The bus turnaround delay allows to match the minimum time between consecutive transactions (tEHEL from NEx high to NEx low) and the maximum time required by the memory to free the data bus after a read access (tEHQZ): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin and (BUSTRUN + 2)KCK_FMC period ≥ tEHQZmax if EXTMOD = 0 (BUSTRUN + 2)KCK_FMC period ≥ max (tEHELmin, tEHQZmax) if EXTMOD = 1. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: CLKDIV
|
||||
description: "Clock divide ratio (for FMC_CLK signal) These bits define the period of FMC_CLK clock output signal, expressed in number of KCK_FMC cycles: In asynchronous NOR Flash, SRAM or PSRAM accesses, this value is dont care. Note: Refer to Section20.6.5: Synchronous transactions for FMC_CLK divider ratio formula)"
|
||||
bit_offset: 20
|
||||
bit_size: 4
|
||||
- name: DATLAT
|
||||
description: Data latency for synchronous memory For synchronous access with read write burst mode enabled these bits define the number of memory clock cycles
|
||||
bit_offset: 24
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode These bits specify the asynchronous access modes as shown in the timing diagrams. They are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/BTR3:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration These bits are written by software to define the duration of the address setup phase (refer to Figure81 to Figure93), used in SRAMs, ROMs and asynchronous NOR Flash: For each access mode address setup phase duration, please refer to the respective figure (refer to Figure81 to Figure93). Note: In synchronous accesses, this value is dont care. In Muxed mode or Mode D, the minimum value for ADDSET is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in mode D or multiplexed accesses: For each access mode address-hold phase duration, please refer to the respective figure (Figure81 to Figure93). Note: In synchronous accesses, this value is not used, the address hold phase is always 1 memory clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous accesses: For each memory type and access mode data-phase duration, please refer to the respective figure (Figure81 to Figure93). Example: Mode1, write access, DATAST=1: Data-phase duration= DATAST+1 = 2 KCK_FMC clock cycles. Note: In synchronous accesses, this value is dont care."
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write-to-read or read-to write transaction. The programmed bus turnaround delay is inserted between an asynchronous read (in muxed or mode D) or write transaction and any other asynchronous /synchronous read/write from/to a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except in muxed mode and mode D. There is a bus turnaround delay of 1 FMC clock cycle between: Two consecutive asynchronous read transfers to the same static memory bank except for modes muxed and D. An asynchronous read to an asynchronous or synchronous write to any static bank or dynamic bank except in modes muxed and D mode. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank. A synchronous write (burst or single) access and an asynchronous write or read transfer to or from static memory bank (the bank can be the same or a different one in case of a read operation. Two consecutive synchronous read operations (in Burst or Single mode) followed by any synchronous/asynchronous read or write from/to another static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write access (in Burst or Single mode) and a synchronous read from the same or a different bank. The bus turnaround delay allows to match the minimum time between consecutive transactions (tEHEL from NEx high to NEx low) and the maximum time required by the memory to free the data bus after a read access (tEHQZ): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin and (BUSTRUN + 2)KCK_FMC period ≥ tEHQZmax if EXTMOD = 0 (BUSTRUN + 2)KCK_FMC period ≥ max (tEHELmin, tEHQZmax) if EXTMOD =1. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: CLKDIV
|
||||
description: "Clock divide ratio (for FMC_CLK signal) These bits define the period of FMC_CLK clock output signal, expressed in number of KCK_FMC cycles: In asynchronous NOR Flash, SRAM or PSRAM accesses, this value is dont care. Note: Refer to Section20.6.5: Synchronous transactions for FMC_CLK divider ratio formula)"
|
||||
bit_offset: 20
|
||||
bit_size: 4
|
||||
- name: DATLAT
|
||||
description: Data latency for synchronous memory For synchronous access with read write burst mode enabled these bits define the number of memory clock cycles
|
||||
bit_offset: 24
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode These bits specify the asynchronous access modes as shown in the timing diagrams. They are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/BTR4:
|
||||
description: "This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers)."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration These bits are written by software to define the duration of the address setup phase (refer to Figure81 to Figure93), used in SRAMs, ROMs and asynchronous NOR Flash: For each access mode address setup phase duration, please refer to the respective figure (refer to Figure81 to Figure93). Note: In synchronous accesses, this value is dont care. In Muxed mode or Mode D, the minimum value for ADDSET is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in mode D or multiplexed accesses: For each access mode address-hold phase duration, please refer to the respective figure (Figure81 to Figure93). Note: In synchronous accesses, this value is not used, the address hold phase is always 1 memory clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous accesses: For each memory type and access mode data-phase duration, please refer to the respective figure (Figure81 to Figure93). Example: Mode1, write access, DATAST=1: Data-phase duration= DATAST+1 = 2 KCK_FMC clock cycles. Note: In synchronous accesses, this value is dont care."
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write-to-read or read-to write transaction. The programmed bus turnaround delay is inserted between an asynchronous read (in muxed or mode D) or write transaction and any other asynchronous /synchronous read/write from/to a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except in muxed mode and mode D. There is a bus turnaround delay of 1 FMC clock cycle between: Two consecutive asynchronous read transfers to the same static memory bank except for modes muxed and D. An asynchronous read to an asynchronous or synchronous write to any static bank or dynamic bank except in modes muxed and D mode. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank. A synchronous write (burst or single) access and an asynchronous write or read transfer to or from static memory bank (the bank can be the same or a different one in case of a read operation. Two consecutive synchronous read operations (in Burst or Single mode) followed by any synchronous/asynchronous read or write from/to another static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write access (in Burst or Single mode) and a synchronous read from the same or a different bank. The bus turnaround delay allows to match the minimum time between consecutive transactions (tEHEL from NEx high to NEx low) and the maximum time required by the memory to free the data bus after a read access (tEHQZ): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin and (BUSTRUN + 2)KCK_FMC period ≥ tEHQZmax if EXTMOD = 0 (BUSTRUN + 2)KCK_FMC period ≥ max (tEHELmin, tEHQZmax) if EXTMOD =1. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: CLKDIV
|
||||
description: "Clock divide ratio (for FMC_CLK signal) These bits define the period of FMC_CLK clock output signal, expressed in number of KCK_FMC cycles: In asynchronous NOR Flash, SRAM or PSRAM accesses, this value is dont care. Note: Refer to Section20.6.5: Synchronous transactions for FMC_CLK divider ratio formula)"
|
||||
bit_offset: 20
|
||||
bit_size: 4
|
||||
- name: DATLAT
|
||||
description: Data latency for synchronous memory For synchronous access with read write burst mode enabled these bits define the number of memory clock cycles
|
||||
bit_offset: 24
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode These bits specify the asynchronous access modes as shown in the timing diagrams. They are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/BWTR1:
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration. These bits are written by software to define the duration of the address setup phase in KCK_FMC cycles (refer to Figure81 to Figure93), used in asynchronous accesses: ... Note: In synchronous accesses, this value is not used, the address setup phase is always 1 Flash clock period duration. In muxed mode, the minimum ADDSET value is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration. These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in asynchronous multiplexed accesses: ... Note: In synchronous NOR Flash accesses, this value is not used, the address hold phase is always 1 Flash clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration. These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous SRAM, PSRAM and NOR Flash memory accesses:"
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write transaction to match the minimum time between consecutive transactions (tEHEL from ENx high to ENx low): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin. The programmed bus turnaround delay is inserted between a an asynchronous write transfer and any other asynchronous /synchronous read or write transfer to or from a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except for muxed mode and mode D. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank A synchronous write transfer ((in Burst or Single mode) and an asynchronous write or read transfer to or from static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write transfer (in Burst or Single mode) and a synchronous read from the same or a different bank. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode. These bits specify the asynchronous access modes as shown in the next timing diagrams.These bits are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/BWTR2:
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration. These bits are written by software to define the duration of the address setup phase in KCK_FMC cycles (refer to Figure81 to Figure93), used in asynchronous accesses: ... Note: In synchronous accesses, this value is not used, the address setup phase is always 1 Flash clock period duration. In muxed mode, the minimum ADDSET value is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration. These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in asynchronous multiplexed accesses: ... Note: In synchronous NOR Flash accesses, this value is not used, the address hold phase is always 1 Flash clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration. These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous SRAM, PSRAM and NOR Flash memory accesses:"
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write transaction to match the minimum time between consecutive transactions (tEHEL from ENx high to ENx low): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin. The programmed bus turnaround delay is inserted between a an asynchronous write transfer and any other asynchronous /synchronous read or write transfer to or from a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except for muxed mode and mode D. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank A synchronous write transfer ((in Burst or Single mode) and an asynchronous write or read transfer to or from static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write transfer (in Burst or Single mode) and a synchronous read from the same or a different bank. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode. These bits specify the asynchronous access modes as shown in the next timing diagrams.These bits are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/BWTR3:
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration. These bits are written by software to define the duration of the address setup phase in KCK_FMC cycles (refer to Figure81 to Figure93), used in asynchronous accesses: ... Note: In synchronous accesses, this value is not used, the address setup phase is always 1 Flash clock period duration. In muxed mode, the minimum ADDSET value is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration. These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in asynchronous multiplexed accesses: ... Note: In synchronous NOR Flash accesses, this value is not used, the address hold phase is always 1 Flash clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration. These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous SRAM, PSRAM and NOR Flash memory accesses:"
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write transaction to match the minimum time between consecutive transactions (tEHEL from ENx high to ENx low): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin. The programmed bus turnaround delay is inserted between a an asynchronous write transfer and any other asynchronous /synchronous read or write transfer to or from a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except for muxed mode and mode D. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank A synchronous write transfer ((in Burst or Single mode) and an asynchronous write or read transfer to or from static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write transfer (in Burst or Single mode) and a synchronous read from the same or a different bank. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode. These bits specify the asynchronous access modes as shown in the next timing diagrams.These bits are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/BWTR4:
|
||||
description: "This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access."
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: "Address setup phase duration. These bits are written by software to define the duration of the address setup phase in KCK_FMC cycles (refer to Figure81 to Figure93), used in asynchronous accesses: ... Note: In synchronous accesses, this value is not used, the address setup phase is always 1 Flash clock period duration. In muxed mode, the minimum ADDSET value is 1."
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: "Address-hold phase duration. These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in asynchronous multiplexed accesses: ... Note: In synchronous NOR Flash accesses, this value is not used, the address hold phase is always 1 Flash clock period duration."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: "Data-phase duration. These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous SRAM, PSRAM and NOR Flash memory accesses:"
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: "Bus turnaround phase duration These bits are written by software to add a delay at the end of a write transaction to match the minimum time between consecutive transactions (tEHEL from ENx high to ENx low): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin. The programmed bus turnaround delay is inserted between a an asynchronous write transfer and any other asynchronous /synchronous read or write transfer to or from a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except for muxed mode and mode D. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank A synchronous write transfer ((in Burst or Single mode) and an asynchronous write or read transfer to or from static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write transfer (in Burst or Single mode) and a synchronous read from the same or a different bank. ..."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode. These bits specify the asynchronous access modes as shown in the next timing diagrams.These bits are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1.
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
fieldset/ECCR:
|
||||
description: "This register contain the current error correction code value computed by the ECC computation modules of the FMC NAND controller. When the CPU reads/writes the data from a NAND Flash memory page at the correct address (refer to Section20.8.6: Computation of the error correction code (ECC) in NAND Flash memory), the data read/written from/to the NAND Flash memory are processed automatically by the ECC computation module. When X bytes have been read (according to the ECCPS field in the FMC_PCR registers), the CPU must read the computed ECC value from the FMC_ECC registers. It then verifies if these computed parity data are the same as the parity value recorded in the spare area, to determine whether a page is valid, and, to correct it otherwise. The FMC_ECCR register should be cleared after being read by setting the ECCEN bit to 0. To compute a new data block, the ECCEN bit must be set to 1."
|
||||
fields:
|
||||
- name: ECC
|
||||
description: ECC result This field contains the value computed by the ECC computation logic. Table167 describes the contents of these bit fields.
|
||||
bit_offset: 0
|
||||
bit_size: 32
|
||||
fieldset/PATT:
|
||||
description: "The FMC_PATT read/write register contains the timing information for NAND Flash memory bank. It is used for 8-bit accesses to the attribute memory space of the NAND Flash for the last address write access if the timing must differ from that of previous accesses (for Ready/Busy management, refer to Section20.8.5: NAND Flash prewait feature)."
|
||||
fields:
|
||||
- name: ATTSET
|
||||
description: "Attribute memory setup time These bits define the number of KCK_FMC (+1) clock cycles to set up address before the command assertion (NWE, NOE), for NAND Flash read or write access to attribute memory space:"
|
||||
bit_offset: 0
|
||||
bit_size: 8
|
||||
- name: ATTWAIT
|
||||
description: "Attribute memory wait time These bits define the minimum number of x KCK_FMC (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to attribute memory space. The duration for command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of KCK_FMC:"
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: ATTHOLD
|
||||
description: "Attribute memory hold time These bits define the number of KCK_FMC clock cycles during which the address is held (and data for write access) after the command de-assertion (NWE, NOE), for NAND Flash read or write access to attribute memory space:"
|
||||
bit_offset: 16
|
||||
bit_size: 8
|
||||
- name: ATTHIZ
|
||||
description: "Attribute memory data bus Hi-Z time These bits define the number of KCK_FMC clock cycles during which the data bus is kept in Hi-Z after the start of a NAND Flash write access to attribute memory space on socket. Only valid for writ transaction:"
|
||||
bit_offset: 24
|
||||
bit_size: 8
|
||||
fieldset/PCR:
|
||||
description: NAND Flash control registers
|
||||
fields:
|
||||
- name: PWAITEN
|
||||
description: "Wait feature enable bit. This bit enables the Wait feature for the NAND Flash memory bank:"
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: PBKEN
|
||||
description: NAND Flash memory bank enable bit. This bit enables the memory bank. Accessing a disabled memory bank causes an ERROR on AXI bus
|
||||
bit_offset: 2
|
||||
bit_size: 1
|
||||
- name: PWID
|
||||
description: Data bus width. These bits define the external memory device width.
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
- name: ECCEN
|
||||
description: ECC computation logic enable bit
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: TCLR
|
||||
description: "CLE to RE delay. These bits set time from CLE low to RE low in number of KCK_FMC clock cycles. The time is give by the following formula: t_clr = (TCLR + SET + 2) TKCK_FMC where TKCK_FMC is the KCK_FMC clock period Note: Set is MEMSET or ATTSET according to the addressed space."
|
||||
bit_offset: 9
|
||||
bit_size: 4
|
||||
- name: TAR
|
||||
description: "ALE to RE delay. These bits set time from ALE low to RE low in number of KCK_FMC clock cycles. Time is: t_ar = (TAR + SET + 2) TKCK_FMC where TKCK_FMC is the FMC clock period Note: Set is MEMSET or ATTSET according to the addressed space."
|
||||
bit_offset: 13
|
||||
bit_size: 4
|
||||
- name: ECCPS
|
||||
description: "ECC page size. These bits define the page size for the extended ECC:"
|
||||
bit_offset: 17
|
||||
bit_size: 3
|
||||
fieldset/PMEM:
|
||||
description: "The FMC_PMEM read/write register contains the timing information for NAND Flash memory bank. This information is used to access either the common memory space of the NAND Flash for command, address write access and data read/write access."
|
||||
fields:
|
||||
- name: MEMSET
|
||||
description: "Common memory x setup time These bits define the number of KCK_FMC (+1) clock cycles to set up the address before the command assertion (NWE, NOE), for NAND Flash read or write access to common memory space:"
|
||||
bit_offset: 0
|
||||
bit_size: 8
|
||||
- name: MEMWAIT
|
||||
description: "Common memory wait time These bits define the minimum number of KCK_FMC (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to common memory space. The duration of command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of KCK_FMC:"
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: MEMHOLD
|
||||
description: "Common memory hold time These bits define the number of KCK_FMC clock cycles for write accesses and KCK_FMC+1 clock cycles for read accesses during which the address is held (and data for write accesses) after the command is de-asserted (NWE, NOE), for NAND Flash read or write access to common memory space:"
|
||||
bit_offset: 16
|
||||
bit_size: 8
|
||||
- name: MEMHIZ
|
||||
description: "Common memory x data bus Hi-Z time These bits define the number of KCK_FMC clock cycles during which the data bus is kept Hi-Z after the start of a NAND Flash write access to common memory space. This is only valid for write transactions:"
|
||||
bit_offset: 24
|
||||
bit_size: 8
|
||||
fieldset/SDCMR:
|
||||
description: "This register contains the command issued when the SDRAM device is accessed. This register is used to initialize the SDRAM device, and to activate the Self-refresh and the Power-down modes. As soon as the MODE field is written, the command will be issued only to one or to both SDRAM banks according to CTB1 and CTB2 command bits. This register is the same for both SDRAM banks."
|
||||
fields:
|
||||
- name: MODE
|
||||
description: "Command mode These bits define the command issued to the SDRAM device. Note: When a command is issued, at least one Command Target Bank bit ( CTB1 or CTB2) must be set otherwise the command will be ignored. Note: If two SDRAM banks are used, the Auto-refresh and PALL command must be issued simultaneously to the two devices with CTB1 and CTB2 bits set otherwise the command will be ignored. Note: If only one SDRAM bank is used and a command is issued with its associated CTB bit set, the other CTB bit of the unused bank must be kept to 0."
|
||||
bit_offset: 0
|
||||
bit_size: 3
|
||||
- name: CTB2
|
||||
description: Command Target Bank 2 This bit indicates whether the command will be issued to SDRAM Bank 2 or not.
|
||||
bit_offset: 3
|
||||
bit_size: 1
|
||||
- name: CTB1
|
||||
description: Command Target Bank 1 This bit indicates whether the command will be issued to SDRAM Bank 1 or not.
|
||||
bit_offset: 4
|
||||
bit_size: 1
|
||||
- name: NRFS
|
||||
description: Number of Auto-refresh These bits define the number of consecutive Auto-refresh commands issued when MODE = 011. ....
|
||||
bit_offset: 5
|
||||
bit_size: 4
|
||||
- name: MRD
|
||||
description: "Mode Register definition This 14-bit field defines the SDRAM Mode Register content. The Mode Register is programmed using the Load Mode Register command. The MRD[13:0] bits are also used to program the extended mode register for mobile SDRAM."
|
||||
bit_offset: 9
|
||||
bit_size: 14
|
||||
fieldset/SDCR:
|
||||
description: This register contains the control parameters for each SDRAM memory bank
|
||||
fields:
|
||||
- name: NC
|
||||
description: Number of column address bits These bits define the number of bits of a column address.
|
||||
bit_offset: 0
|
||||
bit_size: 2
|
||||
- name: NR
|
||||
description: Number of row address bits These bits define the number of bits of a row address.
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
- name: MWID
|
||||
description: Memory data bus width. These bits define the memory device width.
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
- name: NB
|
||||
description: Number of internal banks This bit sets the number of internal banks.
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: CAS
|
||||
description: CAS Latency This bits sets the SDRAM CAS latency in number of memory clock cycles
|
||||
bit_offset: 7
|
||||
bit_size: 2
|
||||
- name: WP
|
||||
description: Write protection This bit enables write mode access to the SDRAM bank.
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
- name: SDCLK
|
||||
description: "SDRAM clock configuration These bits define the SDRAM clock period for both SDRAM banks and allow disabling the clock before changing the frequency. In this case the SDRAM must be re-initialized. Note: The corresponding bits in the FMC_SDCR2 register is read only."
|
||||
bit_offset: 10
|
||||
bit_size: 2
|
||||
- name: RBURST
|
||||
description: "Burst read This bit enables burst read mode. The SDRAM controller anticipates the next read commands during the CAS latency and stores data in the Read FIFO. Note: The corresponding bit in the FMC_SDCR2 register is read only."
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: RPIPE
|
||||
description: "Read pipe These bits define the delay, in KCK_FMC clock cycles, for reading data after CAS latency. Note: The corresponding bits in the FMC_SDCR2 register is read only."
|
||||
bit_offset: 13
|
||||
bit_size: 2
|
||||
fieldset/SDRTR:
|
||||
description: "This register sets the refresh rate in number of SDCLK clock cycles between the refresh cycles by configuring the Refresh Timer Count value.Examplewhere 64 ms is the SDRAM refresh period.The refresh rate must be increased by 20 SDRAM clock cycles (as in the above example) to obtain a safe margin if an internal refresh request occurs when a read request has been accepted. It corresponds to a COUNT value of 0000111000000 (448). This 13-bit field is loaded into a timer which is decremented using the SDRAM clock. This timer generates a refresh pulse when zero is reached. The COUNT value must be set at least to 41 SDRAM clock cycles.As soon as the FMC_SDRTR register is programmed, the timer starts counting. If the value programmed in the register is 0, no refresh is carried out. This register must not be reprogrammed after the initialization procedure to avoid modifying the refresh rate.Each time a refresh pulse is generated, this 13-bit COUNT field is reloaded into the counter.If a memory access is in progress, the Auto-refresh request is delayed. However, if the memory access and Auto-refresh requests are generated simultaneously, the Auto-refresh takes precedence. If the memory access occurs during a refresh operation, the request is buffered to be processed when the refresh is complete.This register is common to SDRAM bank 1 and bank 2."
|
||||
fields:
|
||||
- name: CRE
|
||||
description: Clear Refresh error flag This bit is used to clear the Refresh Error Flag (RE) in the Status Register.
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: COUNT
|
||||
description: Refresh Timer Count This 13-bit field defines the refresh rate of the SDRAM device. It is expressed in number of memory clock cycles. It must be set at least to 41 SDRAM clock cycles (0x29). Refresh rate = (COUNT + 1) x SDRAM frequency clock COUNT = (SDRAM refresh period / Number of rows) - 20
|
||||
bit_offset: 1
|
||||
bit_size: 13
|
||||
- name: REIE
|
||||
description: RES Interrupt Enable
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
fieldset/SDSR:
|
||||
description: SDRAM Status register
|
||||
fields:
|
||||
- name: RE
|
||||
description: Refresh error flag An interrupt is generated if REIE = 1 and RE = 1
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MODES1
|
||||
description: Status Mode for Bank 1 These bits define the Status Mode of SDRAM Bank 1.
|
||||
bit_offset: 1
|
||||
bit_size: 2
|
||||
- name: MODES2
|
||||
description: Status Mode for Bank 2 These bits define the Status Mode of SDRAM Bank 2.
|
||||
bit_offset: 3
|
||||
bit_size: 2
|
||||
fieldset/SDTR:
|
||||
description: This register contains the timing parameters of each SDRAM bank
|
||||
fields:
|
||||
- name: TMRD
|
||||
description: Load Mode Register to Active These bits define the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles. ....
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: TXSR
|
||||
description: "Exit Self-refresh delay These bits define the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. .... Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TXSR timing corresponding to the slowest SDRAM device."
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: TRAS
|
||||
description: Self refresh time These bits define the minimum Self-refresh period in number of memory clock cycles. ....
|
||||
bit_offset: 8
|
||||
bit_size: 4
|
||||
- name: TRC
|
||||
description: "Row cycle delay These bits define the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. The TRC timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRC must be programmed with the timings of the slowest device. .... Note: TRC must match the TRC and TRFC (Auto Refresh period) timings defined in the SDRAM device datasheet. Note: The corresponding bits in the FMC_SDTR2 register are dont care."
|
||||
bit_offset: 12
|
||||
bit_size: 4
|
||||
- name: TWR
|
||||
description: "Recovery delay These bits define the delay between a Write and a Precharge command in number of memory clock cycles. .... Note: TWR must be programmed to match the write recovery time (tWR) defined in the SDRAM datasheet, and to guarantee that: TWR ≥ TRAS - TRCD and TWR ≥TRC - TRCD - TRP Example: TRAS= 4 cycles, TRCD= 2 cycles. So, TWR >= 2 cycles. TWR must be programmed to 0x1. If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TWR timing corresponding to the slowest SDRAM device."
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: TRP
|
||||
description: "Row precharge delay These bits define the delay between a Precharge command and another command in number of memory clock cycles. The TRP timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRP must be programmed with the timing of the slowest device. .... Note: The corresponding bits in the FMC_SDTR2 register are dont care."
|
||||
bit_offset: 20
|
||||
bit_size: 4
|
||||
- name: TRCD
|
||||
description: Row to column delay These bits define the delay between the Activate command and a Read/Write command in number of memory clock cycles. ....
|
||||
bit_offset: 24
|
||||
bit_size: 4
|
||||
fieldset/SR:
|
||||
description: "This register contains information about the FIFO status and interrupt. The FMC features a FIFO that is used when writing to memories to transfer up to 16 words of data.This is used to quickly write to the FIFO and free the AXI bus for transactions to peripherals other than the FMC, while the FMC is draining its FIFO into the memory. One of these register bits indicates the status of the FIFO, for ECC purposes.The ECC is calculated while the data are written to the memory. To read the correct ECC, the software must consequently wait until the FIFO is empty."
|
||||
fields:
|
||||
- name: IRS
|
||||
description: "Interrupt rising edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it will be set."
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: ILS
|
||||
description: Interrupt high-level status The flag is set by hardware and reset by software.
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: IFS
|
||||
description: "Interrupt falling edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it will be set."
|
||||
bit_offset: 2
|
||||
bit_size: 1
|
||||
- name: IREN
|
||||
description: Interrupt rising edge detection enable bit
|
||||
bit_offset: 3
|
||||
bit_size: 1
|
||||
- name: ILEN
|
||||
description: Interrupt high-level detection enable bit
|
||||
bit_offset: 4
|
||||
bit_size: 1
|
||||
- name: IFEN
|
||||
description: Interrupt falling edge detection enable bit
|
||||
bit_offset: 5
|
||||
bit_size: 1
|
||||
- name: FEMPT
|
||||
description: FIFO empty. Read-only bit that provides the status of the FIFO
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
@ -441,7 +441,7 @@ fieldset/SDCR:
|
||||
description: Memory data bus width
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
enum: SDCR_MWID
|
||||
enum: MWID
|
||||
- name: NB
|
||||
description: Number of internal banks
|
||||
bit_offset: 6
|
||||
@ -552,12 +552,12 @@ fieldset/SDSR:
|
||||
description: Status Mode for Bank 1
|
||||
bit_offset: 1
|
||||
bit_size: 2
|
||||
enum_read: MODES1
|
||||
enum_read: MODES
|
||||
- name: MODES2
|
||||
description: Status Mode for Bank 2
|
||||
bit_offset: 3
|
||||
bit_size: 2
|
||||
enum_read: MODES1
|
||||
enum_read: MODES
|
||||
- name: BUSY
|
||||
description: Busy status
|
||||
bit_offset: 5
|
||||
@ -658,7 +658,7 @@ enum/MODE:
|
||||
- name: PowerDownCommand
|
||||
description: Power-down command
|
||||
value: 6
|
||||
enum/MODES1:
|
||||
enum/MODES:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Normal
|
||||
@ -769,18 +769,6 @@ enum/SDCLK:
|
||||
- name: Div3
|
||||
description: SDCLK period = 3 x HCLK period
|
||||
value: 3
|
||||
enum/SDCR_MWID:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Bits8
|
||||
description: Memory data bus width 8 bits
|
||||
value: 0
|
||||
- name: Bits16
|
||||
description: Memory data bus width 16 bits
|
||||
value: 1
|
||||
- name: Bits32
|
||||
description: Memory data bus width 32 bits
|
||||
value: 2
|
||||
enum/WAITCFG:
|
||||
bit_size: 1
|
||||
variants:
|
||||
|
@ -400,7 +400,7 @@ fieldset/SDCR:
|
||||
description: Memory data bus width
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
enum: SDCR_MWID
|
||||
enum: MWID
|
||||
- name: NB
|
||||
description: Number of internal banks
|
||||
bit_offset: 6
|
||||
@ -511,12 +511,12 @@ fieldset/SDSR:
|
||||
description: Status Mode for Bank 1
|
||||
bit_offset: 1
|
||||
bit_size: 2
|
||||
enum_read: MODES1
|
||||
enum_read: MODES
|
||||
- name: MODES2
|
||||
description: Status Mode for Bank 2
|
||||
bit_offset: 3
|
||||
bit_size: 2
|
||||
enum_read: MODES1
|
||||
enum_read: MODES
|
||||
- name: BUSY
|
||||
description: Busy status
|
||||
bit_offset: 5
|
||||
@ -617,7 +617,7 @@ enum/MODE:
|
||||
- name: PowerDownCommand
|
||||
description: Power-down command
|
||||
value: 6
|
||||
enum/MODES1:
|
||||
enum/MODES:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Normal
|
||||
@ -728,18 +728,6 @@ enum/SDCLK:
|
||||
- name: Div3
|
||||
description: SDCLK period = 3 x HCLK period
|
||||
value: 3
|
||||
enum/SDCR_MWID:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Bits8
|
||||
description: Memory data bus width 8 bits
|
||||
value: 0
|
||||
- name: Bits16
|
||||
description: Memory data bus width 16 bits
|
||||
value: 1
|
||||
- name: Bits32
|
||||
description: Memory data bus width 32 bits
|
||||
value: 2
|
||||
enum/WAITCFG:
|
||||
bit_size: 1
|
||||
variants:
|
||||
|
740
data/registers/fmc_v3x1.yaml
Normal file
740
data/registers/fmc_v3x1.yaml
Normal file
@ -0,0 +1,740 @@
|
||||
# stm32h7
|
||||
---
|
||||
block/FMC:
|
||||
description: Flexible memory controller
|
||||
items:
|
||||
- name: BCR1
|
||||
description: SRAM/NOR-Flash chip-select control register 1
|
||||
byte_offset: 0
|
||||
fieldset: BCR1
|
||||
- name: BCR
|
||||
description: SRAM/NOR-Flash chip-select control register 2-4
|
||||
array:
|
||||
len: 3
|
||||
stride: 8
|
||||
byte_offset: 8
|
||||
fieldset: BCR
|
||||
- name: BTR
|
||||
description: SRAM/NOR-Flash chip-select timing register 1-4
|
||||
array:
|
||||
len: 4
|
||||
stride: 8
|
||||
byte_offset: 4
|
||||
fieldset: BTR
|
||||
- name: BWTR
|
||||
description: SRAM/NOR-Flash write timing registers 1-4
|
||||
array:
|
||||
len: 4
|
||||
stride: 8
|
||||
byte_offset: 260
|
||||
fieldset: BWTR
|
||||
- name: PCR
|
||||
description: PC Card/NAND Flash control register
|
||||
byte_offset: 128
|
||||
fieldset: PCR
|
||||
- name: SR
|
||||
description: FIFO status and interrupt register
|
||||
byte_offset: 132
|
||||
fieldset: SR
|
||||
- name: PMEM
|
||||
description: Common memory space timing register
|
||||
byte_offset: 136
|
||||
fieldset: PMEM
|
||||
- name: PATT
|
||||
description: Attribute memory space timing register
|
||||
byte_offset: 140
|
||||
fieldset: PATT
|
||||
- name: ECCR
|
||||
description: ECC result register
|
||||
byte_offset: 148
|
||||
access: Read
|
||||
fieldset: ECCR
|
||||
- name: SDCR
|
||||
description: SDRAM Control Register 1-2
|
||||
array:
|
||||
len: 2
|
||||
stride: 4
|
||||
byte_offset: 320
|
||||
fieldset: SDCR
|
||||
- name: SDTR
|
||||
description: SDRAM Timing register 1-2
|
||||
array:
|
||||
len: 2
|
||||
stride: 4
|
||||
byte_offset: 328
|
||||
fieldset: SDTR
|
||||
- name: SDCMR
|
||||
description: SDRAM Command Mode register
|
||||
byte_offset: 336
|
||||
fieldset: SDCMR
|
||||
- name: SDRTR
|
||||
description: SDRAM Refresh Timer register
|
||||
byte_offset: 340
|
||||
fieldset: SDRTR
|
||||
- name: SDSR
|
||||
description: SDRAM Status register
|
||||
byte_offset: 344
|
||||
access: Read
|
||||
fieldset: SDSR
|
||||
fieldset/BCR1:
|
||||
description: SRAM/NOR-Flash chip-select control register 1
|
||||
fields:
|
||||
- name: MBKEN
|
||||
description: Memory bank enable bit
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MUXEN
|
||||
description: Address/data multiplexing enable bit
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: MTYP
|
||||
description: Memory type
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
enum: MTYP
|
||||
- name: MWID
|
||||
description: Memory data bus width
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
enum: MWID
|
||||
- name: FACCEN
|
||||
description: Flash access enable
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: BURSTEN
|
||||
description: Burst enable bit
|
||||
bit_offset: 8
|
||||
bit_size: 1
|
||||
- name: WAITPOL
|
||||
description: Wait signal polarity bit
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
enum: WAITPOL
|
||||
- name: WAITCFG
|
||||
description: Wait timing configuration
|
||||
bit_offset: 11
|
||||
bit_size: 1
|
||||
enum: WAITCFG
|
||||
- name: WREN
|
||||
description: Write enable bit
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: WAITEN
|
||||
description: Wait enable bit
|
||||
bit_offset: 13
|
||||
bit_size: 1
|
||||
- name: EXTMOD
|
||||
description: Extended mode enable
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
- name: ASYNCWAIT
|
||||
description: Wait signal during asynchronous transfers
|
||||
bit_offset: 15
|
||||
bit_size: 1
|
||||
- name: CPSIZE
|
||||
description: CRAM page size
|
||||
bit_offset: 16
|
||||
bit_size: 3
|
||||
enum: CPSIZE
|
||||
- name: CBURSTRW
|
||||
description: Write burst enable
|
||||
bit_offset: 19
|
||||
bit_size: 1
|
||||
- name: CCLKEN
|
||||
description: Continuous clock enable
|
||||
bit_offset: 20
|
||||
bit_size: 1
|
||||
- name: WFDIS
|
||||
description: Write FIFO disable
|
||||
bit_offset: 21
|
||||
bit_size: 1
|
||||
- name: BMAP
|
||||
description: "FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register."
|
||||
bit_offset: 24
|
||||
bit_size: 2
|
||||
- name: FMCEN
|
||||
description: FMC controller enable
|
||||
bit_offset: 31
|
||||
bit_size: 1
|
||||
fieldset/BCR:
|
||||
description: SRAM/NOR-Flash chip-select control register 2-4
|
||||
fields:
|
||||
- name: MBKEN
|
||||
description: Memory bank enable bit
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MUXEN
|
||||
description: Address/data multiplexing enable bit
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: MTYP
|
||||
description: Memory type
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
enum: MTYP
|
||||
- name: MWID
|
||||
description: Memory data bus width
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
enum: MWID
|
||||
- name: FACCEN
|
||||
description: Flash access enable
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: BURSTEN
|
||||
description: Burst enable bit
|
||||
bit_offset: 8
|
||||
bit_size: 1
|
||||
- name: WAITPOL
|
||||
description: Wait signal polarity bit
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
enum: WAITPOL
|
||||
- name: WAITCFG
|
||||
description: Wait timing configuration
|
||||
bit_offset: 11
|
||||
bit_size: 1
|
||||
enum: WAITCFG
|
||||
- name: WREN
|
||||
description: Write enable bit
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: WAITEN
|
||||
description: Wait enable bit
|
||||
bit_offset: 13
|
||||
bit_size: 1
|
||||
- name: EXTMOD
|
||||
description: Extended mode enable
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
- name: ASYNCWAIT
|
||||
description: Wait signal during asynchronous transfers
|
||||
bit_offset: 15
|
||||
bit_size: 1
|
||||
- name: CPSIZE
|
||||
description: CRAM page size
|
||||
bit_offset: 16
|
||||
bit_size: 3
|
||||
enum: CPSIZE
|
||||
- name: CBURSTRW
|
||||
description: Write burst enable
|
||||
bit_offset: 19
|
||||
bit_size: 1
|
||||
fieldset/BTR:
|
||||
description: SRAM/NOR-Flash chip-select timing register
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: Address setup phase duration
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: Address-hold phase duration
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: Data-phase duration
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: Bus turnaround phase duration
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: CLKDIV
|
||||
description: Clock divide ratio (for FMC_CLK signal)
|
||||
bit_offset: 20
|
||||
bit_size: 4
|
||||
- name: DATLAT
|
||||
description: Data latency for synchronous memory
|
||||
bit_offset: 24
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
enum: ACCMOD
|
||||
fieldset/BWTR:
|
||||
description: SRAM/NOR-Flash write timing registers
|
||||
fields:
|
||||
- name: ADDSET
|
||||
description: Address setup phase duration
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: ADDHLD
|
||||
description: Address-hold phase duration
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: DATAST
|
||||
description: Data-phase duration
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: BUSTURN
|
||||
description: Bus turnaround phase duration
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: ACCMOD
|
||||
description: Access mode
|
||||
bit_offset: 28
|
||||
bit_size: 2
|
||||
enum: ACCMOD
|
||||
fieldset/PCR:
|
||||
description: PC Card/NAND Flash control register
|
||||
fields:
|
||||
- name: PWAITEN
|
||||
description: Wait feature enable bit
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: PBKEN
|
||||
description: NAND Flash memory bank enable bit
|
||||
bit_offset: 2
|
||||
bit_size: 1
|
||||
- name: PWID
|
||||
description: Data bus width
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
enum: PWID
|
||||
- name: ECCEN
|
||||
description: ECC computation logic enable bit
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
- name: TCLR
|
||||
description: CLE to RE delay
|
||||
bit_offset: 9
|
||||
bit_size: 4
|
||||
- name: TAR
|
||||
description: ALE to RE delay
|
||||
bit_offset: 13
|
||||
bit_size: 4
|
||||
- name: ECCPS
|
||||
description: ECC page size
|
||||
bit_offset: 17
|
||||
bit_size: 3
|
||||
enum: ECCPS
|
||||
fieldset/SR:
|
||||
description: FIFO status and interrupt register
|
||||
fields:
|
||||
- name: IRS
|
||||
description: Interrupt rising edge status
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: ILS
|
||||
description: Interrupt high-level status
|
||||
bit_offset: 1
|
||||
bit_size: 1
|
||||
- name: IFS
|
||||
description: Interrupt falling edge status
|
||||
bit_offset: 2
|
||||
bit_size: 1
|
||||
- name: IREN
|
||||
description: Interrupt rising edge detection enable bit
|
||||
bit_offset: 3
|
||||
bit_size: 1
|
||||
- name: ILEN
|
||||
description: Interrupt high-level detection enable bit
|
||||
bit_offset: 4
|
||||
bit_size: 1
|
||||
- name: IFEN
|
||||
description: Interrupt falling edge detection enable bit
|
||||
bit_offset: 5
|
||||
bit_size: 1
|
||||
- name: FEMPT
|
||||
description: FIFO empty status
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
fieldset/PMEM:
|
||||
description: Common memory space timing register
|
||||
fields:
|
||||
- name: MEMSET
|
||||
description: Common memory x setup time
|
||||
bit_offset: 0
|
||||
bit_size: 8
|
||||
- name: MEMWAIT
|
||||
description: Common memory wait time
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: MEMHOLD
|
||||
description: Common memory hold time
|
||||
bit_offset: 16
|
||||
bit_size: 8
|
||||
- name: MEMHIZ
|
||||
description: Common memory x data bus Hi-Z time
|
||||
bit_offset: 24
|
||||
bit_size: 8
|
||||
fieldset/PATT:
|
||||
description: Attribute memory space timing register
|
||||
fields:
|
||||
- name: ATTSET
|
||||
description: Attribute memory setup time
|
||||
bit_offset: 0
|
||||
bit_size: 8
|
||||
- name: ATTWAIT
|
||||
description: Attribute memory wait time
|
||||
bit_offset: 8
|
||||
bit_size: 8
|
||||
- name: ATTHOLD
|
||||
description: Attribute memory hold time
|
||||
bit_offset: 16
|
||||
bit_size: 8
|
||||
- name: ATTHIZ
|
||||
description: Attribute memory data bus Hi-Z time
|
||||
bit_offset: 24
|
||||
bit_size: 8
|
||||
fieldset/ECCR:
|
||||
description: ECC result register
|
||||
fields:
|
||||
- name: ECC
|
||||
description: ECC computation result value
|
||||
bit_offset: 0
|
||||
bit_size: 32
|
||||
fieldset/SDCR:
|
||||
description: SDRAM Control Register
|
||||
fields:
|
||||
- name: NC
|
||||
description: Number of column address bits
|
||||
bit_offset: 0
|
||||
bit_size: 2
|
||||
enum: NC
|
||||
- name: NR
|
||||
description: Number of row address bits
|
||||
bit_offset: 2
|
||||
bit_size: 2
|
||||
enum: NR
|
||||
- name: MWID
|
||||
description: Memory data bus width
|
||||
bit_offset: 4
|
||||
bit_size: 2
|
||||
enum: MWID
|
||||
- name: NB
|
||||
description: Number of internal banks
|
||||
bit_offset: 6
|
||||
bit_size: 1
|
||||
enum: NB
|
||||
- name: CAS
|
||||
description: CAS latency
|
||||
bit_offset: 7
|
||||
bit_size: 2
|
||||
enum: CAS
|
||||
- name: WP
|
||||
description: Write protection
|
||||
bit_offset: 9
|
||||
bit_size: 1
|
||||
- name: SDCLK
|
||||
description: SDRAM clock configuration
|
||||
bit_offset: 10
|
||||
bit_size: 2
|
||||
enum: SDCLK
|
||||
- name: RBURST
|
||||
description: Burst read
|
||||
bit_offset: 12
|
||||
bit_size: 1
|
||||
- name: RPIPE
|
||||
description: Read pipe
|
||||
bit_offset: 13
|
||||
bit_size: 2
|
||||
enum: RPIPE
|
||||
fieldset/SDTR:
|
||||
description: SDRAM Timing register
|
||||
fields:
|
||||
- name: TMRD
|
||||
description: Load Mode Register to Active
|
||||
bit_offset: 0
|
||||
bit_size: 4
|
||||
- name: TXSR
|
||||
description: Exit self-refresh delay
|
||||
bit_offset: 4
|
||||
bit_size: 4
|
||||
- name: TRAS
|
||||
description: Self refresh time
|
||||
bit_offset: 8
|
||||
bit_size: 4
|
||||
- name: TRC
|
||||
description: Row cycle delay
|
||||
bit_offset: 12
|
||||
bit_size: 4
|
||||
- name: TWR
|
||||
description: Recovery delay
|
||||
bit_offset: 16
|
||||
bit_size: 4
|
||||
- name: TRP
|
||||
description: Row precharge delay
|
||||
bit_offset: 20
|
||||
bit_size: 4
|
||||
- name: TRCD
|
||||
description: Row to column delay
|
||||
bit_offset: 24
|
||||
bit_size: 4
|
||||
fieldset/SDCMR:
|
||||
description: SDRAM Command Mode register
|
||||
fields:
|
||||
- name: MODE
|
||||
description: Command mode
|
||||
bit_offset: 0
|
||||
bit_size: 3
|
||||
enum_write: MODE
|
||||
- name: CTB2
|
||||
description: Command target bank 2
|
||||
bit_offset: 3
|
||||
bit_size: 1
|
||||
- name: CTB1
|
||||
description: Command target bank 1
|
||||
bit_offset: 4
|
||||
bit_size: 1
|
||||
- name: NRFS
|
||||
description: Number of Auto-refresh
|
||||
bit_offset: 5
|
||||
bit_size: 4
|
||||
- name: MRD
|
||||
description: Mode Register definition
|
||||
bit_offset: 9
|
||||
bit_size: 13
|
||||
fieldset/SDRTR:
|
||||
description: SDRAM Refresh Timer register
|
||||
fields:
|
||||
- name: CRE
|
||||
description: Clear Refresh error flag
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
enum_write: CRE
|
||||
- name: COUNT
|
||||
description: Refresh Timer Count
|
||||
bit_offset: 1
|
||||
bit_size: 13
|
||||
- name: REIE
|
||||
description: RES Interrupt Enable
|
||||
bit_offset: 14
|
||||
bit_size: 1
|
||||
fieldset/SDSR:
|
||||
description: SDRAM Status register
|
||||
fields:
|
||||
- name: RE
|
||||
description: Refresh error flag
|
||||
bit_offset: 0
|
||||
bit_size: 1
|
||||
- name: MODES1
|
||||
description: Status Mode for Bank 1
|
||||
bit_offset: 1
|
||||
bit_size: 2
|
||||
enum_read: MODES
|
||||
- name: MODES2
|
||||
description: Status Mode for Bank 2
|
||||
bit_offset: 3
|
||||
bit_size: 2
|
||||
enum_read: MODES
|
||||
enum/ACCMOD:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: A
|
||||
description: Access mode A
|
||||
value: 0
|
||||
- name: B
|
||||
description: Access mode B
|
||||
value: 1
|
||||
- name: C
|
||||
description: Access mode C
|
||||
value: 2
|
||||
- name: D
|
||||
description: Access mode D
|
||||
value: 3
|
||||
enum/CAS:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Clocks1
|
||||
description: 1 cycle
|
||||
value: 1
|
||||
- name: Clocks2
|
||||
description: 2 cycles
|
||||
value: 2
|
||||
- name: Clocks3
|
||||
description: 3 cycles
|
||||
value: 3
|
||||
enum/CPSIZE:
|
||||
bit_size: 3
|
||||
variants:
|
||||
- name: NoBurstSplit
|
||||
description: No burst split when crossing page boundary
|
||||
value: 0
|
||||
- name: Bytes128
|
||||
description: 128 bytes CRAM page size
|
||||
value: 1
|
||||
- name: Bytes256
|
||||
description: 256 bytes CRAM page size
|
||||
value: 2
|
||||
- name: Bytes512
|
||||
description: 512 bytes CRAM page size
|
||||
value: 3
|
||||
- name: Bytes1024
|
||||
description: 1024 bytes CRAM page size
|
||||
value: 4
|
||||
enum/CRE:
|
||||
bit_size: 1
|
||||
variants:
|
||||
- name: Clear
|
||||
description: Refresh Error Flag is cleared
|
||||
value: 1
|
||||
enum/ECCPS:
|
||||
bit_size: 3
|
||||
variants:
|
||||
- name: Bytes256
|
||||
description: ECC page size 256 bytes
|
||||
value: 0
|
||||
- name: Bytes512
|
||||
description: ECC page size 512 bytes
|
||||
value: 1
|
||||
- name: Bytes1024
|
||||
description: ECC page size 1024 bytes
|
||||
value: 2
|
||||
- name: Bytes2048
|
||||
description: ECC page size 2048 bytes
|
||||
value: 3
|
||||
- name: Bytes4096
|
||||
description: ECC page size 4096 bytes
|
||||
value: 4
|
||||
- name: Bytes8192
|
||||
description: ECC page size 8192 bytes
|
||||
value: 5
|
||||
enum/MODE:
|
||||
bit_size: 3
|
||||
variants:
|
||||
- name: Normal
|
||||
description: Normal Mode
|
||||
value: 0
|
||||
- name: ClockConfigurationEnable
|
||||
description: Clock Configuration Enable
|
||||
value: 1
|
||||
- name: PALL
|
||||
description: PALL (All Bank Precharge) command
|
||||
value: 2
|
||||
- name: AutoRefreshCommand
|
||||
description: Auto-refresh command
|
||||
value: 3
|
||||
- name: LoadModeRegister
|
||||
description: Load Mode Resgier
|
||||
value: 4
|
||||
- name: SelfRefreshCommand
|
||||
description: Self-refresh command
|
||||
value: 5
|
||||
- name: PowerDownCommand
|
||||
description: Power-down command
|
||||
value: 6
|
||||
enum/MODES:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Normal
|
||||
description: Normal Mode
|
||||
value: 0
|
||||
- name: SelfRefresh
|
||||
description: Self-refresh mode
|
||||
value: 1
|
||||
- name: PowerDown
|
||||
description: Power-down mode
|
||||
value: 2
|
||||
enum/MTYP:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: SRAM
|
||||
description: SRAM memory type
|
||||
value: 0
|
||||
- name: PSRAM
|
||||
description: PSRAM (CRAM) memory type
|
||||
value: 1
|
||||
- name: Flash
|
||||
description: NOR Flash/OneNAND Flash
|
||||
value: 2
|
||||
enum/MWID:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Bits8
|
||||
description: Memory data bus width 8 bits
|
||||
value: 0
|
||||
- name: Bits16
|
||||
description: Memory data bus width 16 bits
|
||||
value: 1
|
||||
- name: Bits32
|
||||
description: Memory data bus width 32 bits
|
||||
value: 2
|
||||
enum/NB:
|
||||
bit_size: 1
|
||||
variants:
|
||||
- name: NB2
|
||||
description: Two internal Banks
|
||||
value: 0
|
||||
- name: NB4
|
||||
description: Four internal Banks
|
||||
value: 1
|
||||
enum/NC:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Bits8
|
||||
description: 8 bits
|
||||
value: 0
|
||||
- name: Bits9
|
||||
description: 9 bits
|
||||
value: 1
|
||||
- name: Bits10
|
||||
description: 10 bits
|
||||
value: 2
|
||||
- name: Bits11
|
||||
description: 11 bits
|
||||
value: 3
|
||||
enum/NR:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Bits11
|
||||
description: 11 bits
|
||||
value: 0
|
||||
- name: Bits12
|
||||
description: 12 bits
|
||||
value: 1
|
||||
- name: Bits13
|
||||
description: 13 bits
|
||||
value: 2
|
||||
enum/PWID:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Bits8
|
||||
description: External memory device width 8 bits
|
||||
value: 0
|
||||
- name: Bits16
|
||||
description: External memory device width 16 bits
|
||||
value: 1
|
||||
enum/RPIPE:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: NoDelay
|
||||
description: No clock cycle delay
|
||||
value: 0
|
||||
- name: Clocks1
|
||||
description: One clock cycle delay
|
||||
value: 1
|
||||
- name: Clocks2
|
||||
description: Two clock cycles delay
|
||||
value: 2
|
||||
enum/SDCLK:
|
||||
bit_size: 2
|
||||
variants:
|
||||
- name: Disabled
|
||||
description: SDCLK clock disabled
|
||||
value: 0
|
||||
- name: Div2
|
||||
description: SDCLK period = 2 x HCLK period
|
||||
value: 2
|
||||
- name: Div3
|
||||
description: SDCLK period = 3 x HCLK period
|
||||
value: 3
|
||||
enum/WAITCFG:
|
||||
bit_size: 1
|
||||
variants:
|
||||
- name: BeforeWaitState
|
||||
description: NWAIT signal is active one data cycle before wait state
|
||||
value: 0
|
||||
- name: DuringWaitState
|
||||
description: NWAIT signal is active during wait state
|
||||
value: 1
|
||||
enum/WAITPOL:
|
||||
bit_size: 1
|
||||
variants:
|
||||
- name: ActiveLow
|
||||
description: NWAIT active low
|
||||
value: 0
|
||||
- name: ActiveHigh
|
||||
description: NWAIT active high
|
||||
value: 1
|
Loading…
x
Reference in New Issue
Block a user