1724 lines
114 KiB
Plaintext
1724 lines
114 KiB
Plaintext
/*
|
|
* Copyright (c) 2013 ETH Zurich. All rights reserved.
|
|
*
|
|
* This file is distributed under the terms in the attached LICENSE file.
|
|
* If you do not find this file, copies can be found by writing to:
|
|
* ETH Zurich D-INFK, CAB F.78, Universitaetstrasse 6, CH-8092 Zurich,
|
|
* Attn: Systems Group.
|
|
*/
|
|
|
|
/*
|
|
* omap44xx_gpmc.dev
|
|
*
|
|
* DESCRIPTION:
|
|
*
|
|
* NOTE: This file has been automatically generated based on the
|
|
* XML files extracted from the TI RDT v1.0.0.4p Tool.
|
|
* Download from here: http://www.ti.com/product/omap4460
|
|
* This means that the file might not be optimal in terms of naming
|
|
* conventions for constants and registers (duplicated
|
|
* namespaces in register and device name etc.).
|
|
* Also, because of the underlying structure from the original XML
|
|
* it's possible that some constants appear multiple times (if they
|
|
* have slightly different descriptions for example).
|
|
*
|
|
* You want to clean that up before using the files for the first time!
|
|
*/
|
|
|
|
device omap44xx_gpmc msbfirst ( addr base ) "" {
|
|
|
|
|
|
register gpmc_revision ro addr(base, 0x0) "This register contains the IP revision code." type(uint32);
|
|
|
|
constants sidlemode_status width(2) "" {
|
|
SIDLEMODE_1 = 1 "No-idle. An idle request is never acknowledged";
|
|
SIDLEMODE_2 = 2 "Smart-idle. Acknowledgment to an idle request is given based on the internal activity of the module";
|
|
SIDLEMODE_3 = 3 "Do not use";
|
|
};
|
|
|
|
constants softreset_status width(1) "" {
|
|
SOFTRESET_0 = 0 "Normal mode";
|
|
SOFTRESET_1 = 1 "The module is reset";
|
|
};
|
|
|
|
constants autoidle_status width(1) "" {
|
|
AUTOIDLE_0 = 0 "Interface clock is free-running";
|
|
AUTOIDLE_1 = 1 "Automatic Interface clock gating strategy is applied, based on the Interconnect activity";
|
|
};
|
|
|
|
register gpmc_sysconfig addr(base, 0x10) "This register controls the various parameters of the Interconnect." {
|
|
_ 27 mbz;
|
|
sidlemode 2 rw type(sidlemode_status) "0x0: Force-idle. An idle request is acknowledged unconditionally";
|
|
_ 1 mbz;
|
|
softreset 1 rw type(softreset_status) "Software reset. Set this bit to 1 triggers a module reset. This bit is automatically reset by hardware. During reads, it always returns 0.";
|
|
autoidle 1 rw type(autoidle_status) "Internal Interface clock gating strategy";
|
|
};
|
|
|
|
constants resetdone_status width(1) "" {
|
|
RESETDONE_0 = 0 "Internal module reset in ongoing";
|
|
RESETDONE_1 = 1 "Reset completed";
|
|
};
|
|
|
|
register gpmc_sysstatus addr(base, 0x14) "This register provides status information about the module, excluding the interrupt status information" {
|
|
_ 24 mbz;
|
|
_ 7 mbz;
|
|
resetdone 1 ro type(resetdone_status) "Internal reset monitoring";
|
|
};
|
|
|
|
constants wait2edgedetection_status_status width(1) "" {
|
|
WAIT2EDGEDETECTION_STATUS_0_r = 0 "A transition on WAIT2 input pin has not been detected";
|
|
WAIT2EDGEDETECTION_STATUS_0_w = 0 "WAIT2EDGEDETECTIONSTATUS bit unchanged";
|
|
WAIT2EDGEDETECTION_STATUS_1_r = 1 "A transition on WAIT2 input pin has been detected";
|
|
WAIT2EDGEDETECTION_STATUS_1_w = 1 "WAIT2EDGEDETECTIONSTATUS bit is reset";
|
|
};
|
|
|
|
constants wait1edgedetection_status_status width(1) "" {
|
|
WAIT1EDGEDETECTION_STATUS_0_r = 0 "A transition on WAIT1 input pin has not been detected";
|
|
WAIT1EDGEDETECTION_STATUS_0_w = 0 "WAIT1EDGEDETECTIONSTATUS bit unchanged";
|
|
WAIT1EDGEDETECTION_STATUS_1_r = 1 "A transition on WAIT1 input pin has been detected";
|
|
WAIT1EDGEDETECTION_STATUS_1_w = 1 "WAIT1EDGEDETECTIONSTATUS bit is reset";
|
|
};
|
|
|
|
constants wait0edgedetection_status_status width(1) "" {
|
|
WAIT0EDGEDETECTION_STATUS_0_r = 0 "A transition on WAIT0 input pin has not been detected";
|
|
WAIT0EDGEDETECTION_STATUS_0_w = 0 "WAIT0EDGEDETECTIONSTATUS bit unchanged";
|
|
WAIT0EDGEDETECTION_STATUS_1_r = 1 "A transition on WAIT0 input pin has been detected";
|
|
WAIT0EDGEDETECTION_STATUS_1_w = 1 "WAIT0EDGEDETECTIONSTATUS bit is reset";
|
|
};
|
|
|
|
constants terminalcountstatus_status width(1) "" {
|
|
TERMINALCOUNTSTATUS_0_r = 0 "Indicates that CountValue is greater than 0";
|
|
TERMINALCOUNTSTATUS_0_w = 0 "TERMINALCOUNTSTATUS bit unchanged";
|
|
TERMINALCOUNTSTATUS_1_r = 1 "Indicates that CountValue is equal to 0";
|
|
TERMINALCOUNTSTATUS_1_w = 1 "TERMINALCOUNTSTATUS bit is reset";
|
|
};
|
|
|
|
constants fifoeventstatus_status width(1) "" {
|
|
FIFOEVENTSTATUS_0_r = 0 "Indicates than less than[16] FIFOTHRESHOLDSTATUS bytes are available in prefetch mode and less than FIFOTHRESHOLD bytes free places are available in write-posting mode.";
|
|
FIFOEVENTSTATUS_0_w = 0 "FIFOEVENTSTATUS bit unchanged";
|
|
FIFOEVENTSTATUS_1_r = 1 "Indicates than at least[16] FIFOTHRESHOLDSTATUS bytes are available in prefetch mode and at least FIFOTHRESHOLD bytes free places are available in write-posting mode.";
|
|
FIFOEVENTSTATUS_1_w = 1 "FIFOEVENTSTATUS bit is reset";
|
|
};
|
|
|
|
register gpmc_irqstatus addr(base, 0x18) "This interrupt status register regroups all the status of the module internal events that can generate an interrupt." {
|
|
_ 21 mbz;
|
|
wait2edgedetection_status 1 rw type(wait2edgedetection_status_status) "Status of the Wait2 Edge Detection interrupt";
|
|
wait1edgedetection_status 1 rw type(wait1edgedetection_status_status) "Status of the Wait1 Edge Detection interrupt";
|
|
wait0edgedetection_status 1 rw type(wait0edgedetection_status_status) "Status of the Wait0 Edge Detection interrupt";
|
|
_ 6 mbz;
|
|
terminalcountstatus 1 rw type(terminalcountstatus_status) "Status of the TerminalCountEvent interrupt";
|
|
fifoeventstatus 1 rw type(fifoeventstatus_status) "Status of the FIFOEvent interrupt";
|
|
};
|
|
|
|
constants wait2edgedetection_enable_status width(1) "" {
|
|
WAIT2EDGEDETECTION_ENABLE_0 = 0 "Wait2EdgeDetection interrupt is masked";
|
|
WAIT2EDGEDETECTION_ENABLE_1 = 1 "Wait2EdgeDetection event generates an interrupt if occurs";
|
|
};
|
|
|
|
constants wait1edgedetection_enable_status width(1) "" {
|
|
WAIT1EDGEDETECTION_ENABLE_0 = 0 "Wait1EdgeDetection interrupt is masked";
|
|
WAIT1EDGEDETECTION_ENABLE_1 = 1 "Wait1EdgeDetection event generates an interrupt if occurs";
|
|
};
|
|
|
|
constants wait0edgedetection_enable_status width(1) "" {
|
|
WAIT0EDGEDETECTION_ENABLE_0 = 0 "Wait0EdgeDetection interrupt is masked";
|
|
WAIT0EDGEDETECTION_ENABLE_1 = 1 "Wait0EdgeDetection event generates an interrupt if occurs";
|
|
};
|
|
|
|
constants terminalcountevent_enable_status width(1) "" {
|
|
TERMINALCOUNTEVENT_ENABLE_0 = 0 "TerminalCountEvent interrupt is masked";
|
|
TERMINALCOUNTEVENT_ENABLE_1 = 1 "TerminalCountEvent interrupt is not masked";
|
|
};
|
|
|
|
constants fifoeventenable_status width(1) "" {
|
|
FIFOEVENTENABLE_0 = 0 "FIFOEvent interrupt is masked";
|
|
FIFOEVENTENABLE_1 = 1 "FIFOEvent interrupt is not masked";
|
|
};
|
|
|
|
register gpmc_irqenable addr(base, 0x1C) "The interrupt enable register allows to mask/unmask the module internal sources of interrupt, on a event-by-event basis." {
|
|
_ 21 mbz;
|
|
wait2edgedetection_enable 1 rw type(wait2edgedetection_enable_status) "Enables the Wait2 Edge Detection interrupt";
|
|
wait1edgedetection_enable 1 rw type(wait1edgedetection_enable_status) "Enables the Wait1 Edge Detection interrupt";
|
|
wait0edgedetection_enable 1 rw type(wait0edgedetection_enable_status) "Enables the Wait0 Edge Detection interrupt";
|
|
_ 6 mbz;
|
|
terminalcountevent_enable 1 rw type(terminalcountevent_enable_status) "Enables TerminalCountEvent interrupt issuing in prefetch or write-posting mode";
|
|
fifoeventenable 1 rw type(fifoeventenable_status) "Enables the FIFOEvent interrupt";
|
|
};
|
|
|
|
constants timeoutenable_status width(1) "" {
|
|
TIMEOUTENABLE_0 = 0 "TimeOut feature is disabled";
|
|
TIMEOUTENABLE_1 = 1 "TimeOut feature is enabled";
|
|
};
|
|
|
|
register gpmc_timeout_control addr(base, 0x40) "The register allows the user to set the start value of the timeout counter" {
|
|
_ 19 mbz;
|
|
timeoutstartvalue 9 rw "Start value of the time-out counter 0x000: Zero GPMC_FCLK cycle 0x001: One GPMC_FCLK cycle ... 0x1FF: 511 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
timeoutenable 1 rw type(timeoutenable_status) "Enable bit of the TimeOut feature";
|
|
};
|
|
|
|
register gpmc_err_address addr(base, 0x44) "The register stores the address of the illegal access when an error occurs" {
|
|
_ 1 mbz;
|
|
illegaladd 31 ro "Address of illegal access A30: 0 for memory region, 1 for GPMC register region A29-A0: 1 GBytes max";
|
|
};
|
|
|
|
constants errornotsuppadd_status width(1) "" {
|
|
ERRORNOTSUPPADD_0 = 0 "No error occurs";
|
|
ERRORNOTSUPPADD_1 = 1 "The error is due to a non supported Address";
|
|
};
|
|
|
|
constants errortimeout_status width(1) "" {
|
|
ERRORTIMEOUT_0 = 0 "No error occurs";
|
|
ERRORTIMEOUT_1 = 1 "The error is due to a time out";
|
|
};
|
|
|
|
constants errorvalid_status width(1) "" {
|
|
ERRORVALID_0 = 0 "All error fields no longer valid";
|
|
ERRORVALID_1 = 1 "Error detected and logged in the other error fields";
|
|
};
|
|
|
|
register gpmc_err_type addr(base, 0x48) "The register stores the type of error when an error occurs" {
|
|
_ 21 mbz;
|
|
illegalmcmd 3 ro "System Command of the transaction that caused the error";
|
|
_ 3 mbz;
|
|
errornotsuppadd 1 ro type(errornotsuppadd_status) "Not supported Address error";
|
|
errornotsuppmcmd 1 ro type(errornotsuppadd_status) "Not supported Command error";
|
|
errortimeout 1 ro type(errortimeout_status) "Time-out error";
|
|
_ 1 mbz;
|
|
errorvalid 1 rw type(errorvalid_status) "Error validity status - Must be explicitly cleared with a write 1 transaction";
|
|
};
|
|
|
|
constants wait2pinpolarity_status width(1) "" {
|
|
WAIT2PINPOLARITY_0 = 0 "WAIT2 active low";
|
|
WAIT2PINPOLARITY_1 = 1 "WAIT2 active high";
|
|
};
|
|
|
|
constants wait1pinpolarity_status width(1) "" {
|
|
WAIT1PINPOLARITY_0 = 0 "WAIT1 active low";
|
|
WAIT1PINPOLARITY_1 = 1 "WAIT1 active high";
|
|
};
|
|
|
|
constants wait0pinpolarity_status width(1) "" {
|
|
WAIT0PINPOLARITY_0 = 0 "WAIT0 active low";
|
|
WAIT0PINPOLARITY_1 = 1 "WAIT0 active high";
|
|
};
|
|
|
|
constants writeprotect_status width(1) "" {
|
|
WRITEPROTECT_0 = 0 "WP output pin is low";
|
|
WRITEPROTECT_1 = 1 "WP output pin is high";
|
|
};
|
|
|
|
constants limitedaddress_status width(1) "" {
|
|
LIMITEDADDRESS_0 = 0 "No effect";
|
|
LIMITEDADDRESS_1 = 1 "A26-A11 are not modified during an external memory access.";
|
|
};
|
|
|
|
constants nandforcepostedwrite_status width(1) "" {
|
|
NANDFORCEPOSTEDWRITE_0 = 0 "Disables Force Posted Write";
|
|
NANDFORCEPOSTEDWRITE_1 = 1 "Enables Force Posted Write";
|
|
};
|
|
|
|
register gpmc_config addr(base, 0x50) "The configuration register allows global configuration of the GPMC" {
|
|
_ 21 rsvd;
|
|
wait2pinpolarity 1 rw type(wait2pinpolarity_status) "Selects the polarity of input pin WAIT2";
|
|
wait1pinpolarity 1 rw type(wait1pinpolarity_status) "Selects the polarity of input pin WAIT1";
|
|
wait0pinpolarity 1 rw type(wait0pinpolarity_status) "Selects the polarity of input pin WAIT0";
|
|
_ 3 mbz;
|
|
writeprotect 1 rw type(writeprotect_status) "Controls the WP output pin level";
|
|
_ 2 mbz;
|
|
limitedaddress 1 rw type(limitedaddress_status) "Limited Address device support";
|
|
nandforcepostedwrite 1 rw type(nandforcepostedwrite_status) "Enables the Force Posted Write feature to NAND Cmd/Add/Data location";
|
|
};
|
|
|
|
constants wait2status_status width(1) "" {
|
|
WAIT2STATUS_0 = 0 "WAIT2 asserted (inactive state)";
|
|
WAIT2STATUS_1 = 1 "WAIT2 deasserted";
|
|
};
|
|
|
|
constants wait1status_status width(1) "" {
|
|
WAIT1STATUS_0 = 0 "WAIT1 asserted (inactive state)";
|
|
WAIT1STATUS_1 = 1 "WAIT1 deasserted";
|
|
};
|
|
|
|
constants wait0status_status width(1) "" {
|
|
WAIT0STATUS_0 = 0 "WAIT0 asserted (inactive state)";
|
|
WAIT0STATUS_1 = 1 "WAIT0 deasserted";
|
|
};
|
|
|
|
constants emptywritebufferstatus_status width(1) "" {
|
|
EMPTYWRITEBUFFERSTATUS_0 = 0 "Write Buffer is not empty";
|
|
EMPTYWRITEBUFFERSTATUS_1 = 1 "Write Buffer is empty";
|
|
};
|
|
|
|
register gpmc_status addr(base, 0x54) "The status register provides global status bits of the GPMC" {
|
|
_ 21 mbz;
|
|
wait2status 1 ro type(wait2status_status) "Is a copy of input pin WAIT2. (Reset value is WAIT2 input pin sampled at IC reset)";
|
|
wait1status 1 ro type(wait1status_status) "Is a copy of input pin WAIT1. (Reset value is WAIT1 input pin sampled at IC reset)";
|
|
wait0status 1 ro type(wait0status_status) "Is a copy of input pin WAIT0. (Reset value is WAIT0 input pin sampled at IC reset)";
|
|
_ 7 mbz;
|
|
emptywritebufferstatus 1 ro type(emptywritebufferstatus_status) "Stores the empty status of the write buffer";
|
|
};
|
|
|
|
constants wrapburst_status width(1) "" {
|
|
WRAPBURST_0 = 0 "Synchronous wrapping burst not supported";
|
|
WRAPBURST_1 = 1 "Synchronous wrapping burst supported";
|
|
};
|
|
|
|
constants readmultiple_status width(1) "" {
|
|
READMULTIPLE_0 = 0 "Single access";
|
|
READMULTIPLE_1 = 1 "Multiple access (burst if synchronous, page if asynchronous)";
|
|
};
|
|
|
|
constants readtype_status width(1) "" {
|
|
READTYPE_0 = 0 "Read Asynchronous";
|
|
READTYPE_1 = 1 "Read Synchronous";
|
|
};
|
|
|
|
constants writetype_status width(1) "" {
|
|
WRITETYPE_0 = 0 "Write Asynchronous";
|
|
WRITETYPE_1 = 1 "Write Synchronous";
|
|
};
|
|
|
|
constants clkactivationtime_status width(2) "" {
|
|
CLKACTIVATIONTIME_0 = 0 "First rising edge of GPMC_CLK at start access time";
|
|
CLKACTIVATIONTIME_1 = 1 "First rising edge of GPMC_CLK one GPMC_FCLK cycle after start access time";
|
|
CLKACTIVATIONTIME_2 = 2 "First rising edge of GPMC_CLK two GPMC_FCLK cycles after start access time";
|
|
CLKACTIVATIONTIME_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants attacheddevicepage_length_status width(2) "" {
|
|
ATTACHEDDEVICEPAGE_LENGTH_0 = 0 "4 Words";
|
|
ATTACHEDDEVICEPAGE_LENGTH_1 = 1 "8 Words";
|
|
ATTACHEDDEVICEPAGE_LENGTH_2 = 2 "16 Words";
|
|
ATTACHEDDEVICEPAGE_LENGTH_3 = 3 "Reserved (1 Word = Interface size)";
|
|
};
|
|
|
|
constants waitreadmonitoring_status width(1) "" {
|
|
WAITREADMONITORING_0 = 0 "Wait pin is not monitored for read accesses";
|
|
WAITREADMONITORING_1 = 1 "Wait pin is monitored for read accesses";
|
|
};
|
|
|
|
constants waitwritemonitoring_status width(1) "" {
|
|
WAITWRITEMONITORING_0 = 0 "Wait pin is not monitored for write accesses";
|
|
WAITWRITEMONITORING_1 = 1 "Wait pin is monitored for write accesses";
|
|
};
|
|
|
|
constants waitmonitoringtime_status width(2) "" {
|
|
WAITMONITORINGTIME_0 = 0 "Wait pin is monitored with valid data";
|
|
WAITMONITORINGTIME_1 = 1 "Wait pin is monitored one GPMC_CLK cycle before valid data";
|
|
WAITMONITORINGTIME_2 = 2 "Wait pin is monitored two GPMC_CLK cycle before valid data";
|
|
WAITMONITORINGTIME_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants waitpinselect_status width(2) "" {
|
|
WAITPINSELECT_0 = 0 "Wait input pin is WAIT0";
|
|
WAITPINSELECT_1 = 1 "Wait input pin is WAIT1";
|
|
WAITPINSELECT_2 = 2 "Wait input pin is WAIT2";
|
|
WAITPINSELECT_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants devicesize_status width(2) "" {
|
|
DEVICESIZE_0 = 0 "8 bit";
|
|
DEVICESIZE_1 = 1 "16 bit";
|
|
DEVICESIZE_2 = 2 "Reserved";
|
|
DEVICESIZE_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants devicetype_status width(2) "" {
|
|
DEVICETYPE_0 = 0 "NOR Flash like, asynchronous and synchronous devices";
|
|
DEVICETYPE_1 = 1 "Reserved";
|
|
DEVICETYPE_2 = 2 "NAND Flash like devices, stream mode";
|
|
DEVICETYPE_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants muxadddata_status width(2) "" {
|
|
MUXADDDATA_0 = 0 "Non-multiplexed attached device";
|
|
MUXADDDATA_1 = 1 "AAD-mux protocol device";
|
|
MUXADDDATA_2 = 2 "Address and data multiplexed attached device";
|
|
MUXADDDATA_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants timeparagranularity_status width(1) "" {
|
|
TIMEPARAGRANULARITY_0 = 0 "x1 latencies";
|
|
TIMEPARAGRANULARITY_1 = 1 "x2 latencies";
|
|
};
|
|
|
|
constants gpmcfclkdivider_status width(2) "" {
|
|
GPMCFCLKDIVIDER_0 = 0 "GPMC_CLK frequency = GPMC_FCLK frequency";
|
|
GPMCFCLKDIVIDER_1 = 1 "GPMC_CLK frequency = GPMC_FCLK frequency / 2";
|
|
GPMCFCLKDIVIDER_2 = 2 "GPMC_CLK frequency = GPMC_FCLK frequency / 3";
|
|
GPMCFCLKDIVIDER_3 = 3 "GPMC_CLK frequency = GPMC_FCLK frequency /4";
|
|
};
|
|
|
|
register gpmc_config1_i_0 addr(base, 0x60) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
register gpmc_config1_i_1 addr(base, 0x90) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
register gpmc_config1_i_2 addr(base, 0xC0) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
register gpmc_config1_i_3 addr(base, 0xF0) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
register gpmc_config1_i_4 addr(base, 0x120) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
register gpmc_config1_i_5 addr(base, 0x150) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
register gpmc_config1_i_6 addr(base, 0x180) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
register gpmc_config1_i_7 addr(base, 0x1B0) "The configuration register 1 sets signal control parameters per chip-select" {
|
|
wrapburst 1 rw type(wrapburst_status) "Enables the wrapping burst capability. Must be set if the attached device is configured in wrapping burst";
|
|
readmultiple 1 rw type(readmultiple_status) "Selects the read single or multiple access";
|
|
readtype 1 rw type(readtype_status) "Selects the read mode operation";
|
|
writemultiple 1 rw type(readmultiple_status) "Selects the write single or multiple access";
|
|
writetype 1 rw type(writetype_status) "Selects the write mode operation";
|
|
clkactivationtime 2 rw type(clkactivationtime_status) "Output GPMC_CLK activation time";
|
|
attacheddevicepage_length 2 rw type(attacheddevicepage_length_status) "Specifies the attached device page (burst) length";
|
|
waitreadmonitoring 1 rw type(waitreadmonitoring_status) "Selects the Wait monitoring configuration for Read accesses (Reset value is input pin sampled at IC reset)";
|
|
waitwritemonitoring 1 rw type(waitwritemonitoring_status) "Selects the Wait monitoring configuration for Write accesses";
|
|
_ 1 mbz;
|
|
waitmonitoringtime 2 rw type(waitmonitoringtime_status) "Selects input pin Wait monitoring time";
|
|
waitpinselect 2 rw type(waitpinselect_status) "Selects the input WAIT pin for this chip-select (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-7)";
|
|
_ 2 mbz;
|
|
devicesize 2 rw type(devicesize_status) "Selects the device size attached (Reset value is input pin sampled at IC reset for CS0 and 0x1 for CS1 to CS7)";
|
|
devicetype 2 rw type(devicetype_status) "Selects the attached device type";
|
|
muxadddata 2 rw type(muxadddata_status) "Enables the address and data multiplexed protocol (Reset value is input pin sampled at IC reset for CS0 and 0 for CS1-CS7)";
|
|
_ 3 mbz;
|
|
timeparagranularity 1 rw type(timeparagranularity_status) "Signals timing latencies scalar factor (RD/WRCYCLETIME, RD/WRACCESSTIME, PAGEBURSTACCESSTIME, CSONTIME, CSRD/WROFFTIME, ADVONTIME, ADVRD/WROFFTIME, OEONTIME, OEOFFTIME, WEONTIME, WEOFFTIME, CYCLE2CYCLEDELAY, BUSTURNAROUND, TIMEOUTSTARTVALUE, WRDATAONADMUXBUS)";
|
|
_ 2 mbz;
|
|
gpmcfclkdivider 2 rw type(gpmcfclkdivider_status) "Divides the GPMC_FCLK clock";
|
|
};
|
|
|
|
constants csextradelay_status width(1) "" {
|
|
CSEXTRADELAY_0 = 0 "CS i Timing control signal is not delayed";
|
|
CSEXTRADELAY_1 = 1 "CS i Timing control signal is delayed of half GPMC_FCLK clock cycle";
|
|
};
|
|
|
|
register gpmc_config2_i_0 addr(base, 0x64) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config2_i_1 addr(base, 0x94) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config2_i_2 addr(base, 0xC4) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config2_i_3 addr(base, 0xF4) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config2_i_4 addr(base, 0x124) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config2_i_5 addr(base, 0x154) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config2_i_6 addr(base, 0x184) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config2_i_7 addr(base, 0x1B4) "CS signal timing parameter configuration" {
|
|
_ 11 mbz;
|
|
cswrofftime 5 rw "CS i de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
csrdofftime 5 rw "CS i de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
csextradelay 1 rw type(csextradelay_status) "CS i Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
csontime 4 rw "CS i assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
constants advextradelay_status width(1) "" {
|
|
ADVEXTRADELAY_0 = 0 "nADV Timing control signal is not delayed";
|
|
ADVEXTRADELAY_1 = 1 "nADV Timing control signal is delayed of half GPMC_FCLK clock cycle";
|
|
};
|
|
|
|
register gpmc_config3_i_0 addr(base, 0x68) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config3_i_1 addr(base, 0x98) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config3_i_2 addr(base, 0xC8) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config3_i_3 addr(base, 0xF8) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config3_i_4 addr(base, 0x128) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config3_i_5 addr(base, 0x158) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config3_i_6 addr(base, 0x188) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config3_i_7 addr(base, 0x1B8) "nADV signal timing parameter configuration" {
|
|
_ 1 mbz;
|
|
advaadmuxwrofftime 3 rw "nADV de-assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 1 mbz;
|
|
advaadmuxrdofftime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advwrofftime 5 rw "nADV de-assertion time from start cycle time for write accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
advrdofftime 5 rw "nADV de-assertion time from start cycle time for read accesses 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
advextradelay 1 rw type(advextradelay_status) "nADV Add Extra Half GPMC_FCLK cycle";
|
|
advaadmuxontime 3 rw "nADV assertion for first address phase when using the AAD-mux protocol 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
advontime 4 rw "nADV assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_0 addr(base, 0x6C) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_1 addr(base, 0x9C) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_2 addr(base, 0xCC) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_3 addr(base, 0xFC) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_4 addr(base, 0x12C) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_5 addr(base, 0x15C) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_6 addr(base, 0x18C) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config4_i_7 addr(base, 0x1BC) "nWE and nOE signals timing parameter configuration" {
|
|
_ 3 rsvd;
|
|
weofftime 5 rw "nWE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
weextradelay 1 rw type(advextradelay_status) "nWE Add Extra Half GPMC_FCLK cycle";
|
|
_ 3 mbz;
|
|
weontime 4 rw "nWE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
oeaadmux_offtime 3 rw "nOE de-assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeofftime 5 rw "nOE de-assertion time from start cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
oeextradelay 1 rw type(advextradelay_status) "nOE Add Extra Half GPMC_FCLK cycle";
|
|
oeaadmux_ontime 3 rw "nOE assertion time for the first address phase in an AAD-mux access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
oeontime 4 rw "nOE assertion time from start cycle time 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_0 addr(base, 0x70) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_1 addr(base, 0xA0) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_2 addr(base, 0xD0) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_3 addr(base, 0x100) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_4 addr(base, 0x130) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_5 addr(base, 0x160) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_6 addr(base, 0x190) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config5_i_7 addr(base, 0x1C0) "RdAccessTime and CycleTime timing parameters configuration" {
|
|
_ 4 mbz;
|
|
pageburstaccesstime 4 rw "Delay between successive words in a multiple access 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdaccesstime 5 rw "Delay between start cycle time and first data valid 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
wrcycletime 5 rw "Total write cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 3 mbz;
|
|
rdcycletime 5 rw "Total read cycle time 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
};
|
|
|
|
constants cycle2cyclesamecsen_status width(1) "" {
|
|
CYCLE2CYCLESAMECSEN_0 = 0 "No delay between the two accesses";
|
|
CYCLE2CYCLESAMECSEN_1 = 1 "Add CYCLE2CYCLEDELAY";
|
|
};
|
|
|
|
register gpmc_config6_i_0 addr(base, 0x74) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config6_i_1 addr(base, 0xA4) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config6_i_2 addr(base, 0xD4) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config6_i_3 addr(base, 0x104) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config6_i_4 addr(base, 0x134) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config6_i_5 addr(base, 0x164) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config6_i_6 addr(base, 0x194) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
register gpmc_config6_i_7 addr(base, 0x1C4) "WrAccessTime, WrDataOnADmuxBus, Cycle2Cycle and BusTurnAround parameters configuration" {
|
|
_ 1 rsvd;
|
|
_ 2 mbz;
|
|
wraccesstime 5 rw "Delay from start access time to the GPMC_FCLK rising edge corresponding the the GPMC_CLK rising edge used by the attached memory for the first data capture 0x00: 0 GPMC_FCLK cycle 0x01: 1 GPMC_FCLK cycle ... 0x1F: 31 GPMC_FCLK cycles";
|
|
_ 4 mbz;
|
|
wrdataonadmuxbus 4 rw "Specifies on which GPMC_FCLK rising edge the first data of the synchronous burst write is driven in the add/data mux bus";
|
|
_ 4 mbz;
|
|
cycle2cycledelay 4 rw "Chip-select high pulse delay between successive accesses 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
cycle2cyclesamecsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to the same CS (any access type)";
|
|
cycle2cyclediffcsen 1 rw type(cycle2cyclesamecsen_status) "Add CYCLE2CYCLEDELAY between successive accesses to a different CS (any access type)";
|
|
_ 2 mbz;
|
|
busturnaround 4 rw "Bus turn around latency between successive accesses to the same CS (read to write) or to a different CS (read to read and read to write) 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0xF: 15 GPMC_FCLK cycles";
|
|
};
|
|
|
|
constants csvalid_status width(1) "" {
|
|
CSVALID_0 = 0 "CS disabled";
|
|
CSVALID_1 = 1 "CS enabled";
|
|
};
|
|
|
|
register gpmc_config7_i_0 addr(base, 0x78) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_config7_i_1 addr(base, 0xA8) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_config7_i_2 addr(base, 0xD8) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_config7_i_3 addr(base, 0x108) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_config7_i_4 addr(base, 0x138) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_config7_i_5 addr(base, 0x168) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_config7_i_6 addr(base, 0x198) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_config7_i_7 addr(base, 0x1C8) "CS address mapping configuration" {
|
|
_ 20 mbz;
|
|
maskaddress 4 rw "CS mask address. 0x1000: Chip-select size of 128 Mbytes 0x1100: Chip-select size of 64 Mbytes 0x1110: Chip-select size of 32 Mbytes 0x1111: Chip-select size of 16 Mbytes Other values must be avoided as they create holes in the chip-select address space.";
|
|
_ 1 mbz;
|
|
csvalid 1 rw type(csvalid_status) "CS enable";
|
|
baseaddress 6 rw "CSi base address where i = 0 to 7 (16M bytes minimum granularity) bits [5:0] corresponds to A29, A28, A27, A26, A25, and A24. See";
|
|
};
|
|
|
|
register gpmc_nand_command_i_0 wo addr(base, 0x7C) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_command_i_1 wo addr(base, 0xAC) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_command_i_2 wo addr(base, 0xDC) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_command_i_3 wo addr(base, 0x10C) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_command_i_4 wo addr(base, 0x13C) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_command_i_5 wo addr(base, 0x16C) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_command_i_6 wo addr(base, 0x19C) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_command_i_7 wo addr(base, 0x1CC) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_0 wo addr(base, 0x80) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_1 wo addr(base, 0xB0) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_2 wo addr(base, 0xE0) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_3 wo addr(base, 0x110) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_4 wo addr(base, 0x140) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_5 wo addr(base, 0x170) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_6 wo addr(base, 0x1A0) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_address_i_7 wo addr(base, 0x1D0) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_0 wo addr(base, 0x84) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_1 wo addr(base, 0xB4) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_2 wo addr(base, 0xE4) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_3 wo addr(base, 0x114) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_4 wo addr(base, 0x144) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_5 wo addr(base, 0x174) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_6 wo addr(base, 0x1A4) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
register gpmc_nand_data_i_7 wo addr(base, 0x1D4) "This register is not a true register, just an address location." type(uint32);
|
|
|
|
constants enableoptimizedaccess_status width(1) "" {
|
|
ENABLEOPTIMIZEDACCESS_0 = 0 "Access cycle optimization is disabled";
|
|
ENABLEOPTIMIZEDACCESS_1 = 1 "Access cycle optimization is enabled";
|
|
};
|
|
|
|
constants enableengine_status width(1) "" {
|
|
ENABLEENGINE_0 = 0 "Prefetch Postwrite engine is disabled";
|
|
ENABLEENGINE_1 = 1 "Prefetch Postwrite engine is enabled";
|
|
};
|
|
|
|
constants waitpinselector_status width(2) "" {
|
|
WAITPINSELECTOR_0 = 0 "Selects Wait0 EdgeDetection";
|
|
WAITPINSELECTOR_1 = 1 "Selects Wait1 EdgeDetection";
|
|
WAITPINSELECTOR_2 = 2 "Selects Wait2 EdgeDetection";
|
|
WAITPINSELECTOR_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants synchromode_status width(1) "" {
|
|
SYNCHROMODE_0 = 0 "Engine starts the access to CS as soon as STARTENGINE is set";
|
|
SYNCHROMODE_1 = 1 "Engine starts the access to CS as soon as STARTENGINE is set AND wait to non wait edge detection on the selected wait pin";
|
|
};
|
|
|
|
constants dmamode_status width(1) "" {
|
|
DMAMODE_0 = 0 "Interrupt synchronization is enabled. Only interrupt line will be activated on FIFO threshold crossing.";
|
|
DMAMODE_1 = 1 "DMA request synchronization is enabled. A DMA request protocol is used.";
|
|
};
|
|
|
|
constants accessmode_status width(1) "" {
|
|
ACCESSMODE_0 = 0 "Prefetch read mode";
|
|
ACCESSMODE_1 = 1 "Write-posting mode";
|
|
};
|
|
|
|
register gpmc_prefetch_config1 addr(base, 0x1E0) "Prefetch engine configuration 1" {
|
|
_ 1 mbz;
|
|
cycleoptimization 3 rw "Define the number of GPMC_FCLK cycles to be subtracted from RDCYCLETIME, WRCYCLETIME, ACCESSTIME, CSRDOFFTIME, CSWROFFTIME, ADVRDOFFTIME, ADVWROFFTIME, OEOFFTIME, WEOFFTIME 0x0: 0 GPMC_FCLK cycle 0x1: 1 GPMC_FCLK cycle ... 0x7: 7 GPMC_FCLK cycles";
|
|
enableoptimizedaccess 1 rw type(enableoptimizedaccess_status) "Enables access cycle optimization";
|
|
enginecsselector 3 rw "Selects the CS where Prefetch Postwrite engine is active 0x0: CS0 0x1: CS1 0x2: CS2 0x3: CS3 0x4: CS4 0x5: CS5 0x6: CS6 0x7: CS7";
|
|
pfpwenroundrobin 1 rw type(waitwritemonitoring_status) "Enables the PFPW RoundRobin arbitration";
|
|
_ 3 mbz;
|
|
pfpwweightedprio 4 rw "When an arbitration occurs between a DMA and a PFPW engine access, the DMA is always serviced. If the PFPWEnRoundRobin is enabled, 0x0: the next access is granted to the PFPW engine, 0x1: the two next accesses are granted to the PFPW engine, ..., 0xF: the 16 next accesses are granted to the PFPW engine.";
|
|
_ 1 mbz;
|
|
fifothreshold 7 rw "Selects the maximum number of bytes read from the FIFO or written to the FIFO by the host on a DMA or interrupt request 0x00: 0 byte 0x01: 1 byte ... 0x40: 64 bytes";
|
|
enableengine 1 rw type(enableengine_status) "Enables the Prefetch Postwite engine";
|
|
_ 1 mbz;
|
|
waitpinselector 2 rw type(waitpinselector_status) "Select which wait pin edge detector should start the engine in synchronized mode";
|
|
synchromode 1 rw type(synchromode_status) "Selects when the engine starts the access to CS";
|
|
dmamode 1 rw type(dmamode_status) "Selects interrupt synchronization or DMA request synchronization";
|
|
_ 1 mbz;
|
|
accessmode 1 rw type(accessmode_status) "Selects prefetch read or write-posting accesses";
|
|
};
|
|
|
|
register gpmc_prefetch_config2 addr(base, 0x1E4) "Prefetch engine configuration 2" {
|
|
_ 18 mbz;
|
|
transfercount 14 rw "Selects the number of bytes to be read or written by the engine to the selected CS 0x0000: 0 byte 0x0001: 1 byte ... 0x2000: 8 Kbytes";
|
|
};
|
|
|
|
constants startengine_status width(1) "" {
|
|
STARTENGINE_0_r = 0 "Engine is stopped";
|
|
STARTENGINE_1_r = 1 "Engine is running";
|
|
};
|
|
|
|
register gpmc_prefetch_control addr(base, 0x1EC) "Prefetch engine control" {
|
|
_ 31 mbz;
|
|
startengine 1 rw type(startengine_status) "Resets the FIFO pointer and starts the engineWrite 0x0 stops the engine . Write 0x1 resets the FIFO pointer to 0x0 in prefetch mode and 0x40 in postwrite mode and starts the engine .";
|
|
};
|
|
|
|
register gpmc_prefetch_status addr(base, 0x1F0) "Prefetch engine status" {
|
|
_ 1 mbz;
|
|
fifopointer 7 ro "Number of available bytes to be read or number of free empty byte places to be written 0x00: 0 byte available to be read or 0 free empty place to be written ... 0x40: 64 bytes available to be read or 64 empty places to be written";
|
|
_ 7 mbz;
|
|
fifothresholdstatus 1 ro type(waitwritemonitoring_status) "Set when FIFOPointer exceeds FIFOThreshold value";
|
|
_ 2 mbz;
|
|
countvalue 14 ro "Number of remaining bytes to be read or to be written by the engine according to the TransferCount value 0x0000: 0 byte remaining to be read or to be written 0x0001: 1 byte remaining to be read or to be written ... 0x2000: 8 Kbytes remaining to be read or to be written";
|
|
};
|
|
|
|
constants eccalgorithm_status width(1) "" {
|
|
ECCALGORITHM_0 = 0 "Hamming code";
|
|
ECCALGORITHM_1 = 1 "BCH code";
|
|
};
|
|
|
|
constants eccbchtsel_status width(2) "" {
|
|
ECCBCHTSEL_0 = 0 "Up to 4 bits error correction (t = 4)";
|
|
ECCBCHTSEL_1 = 1 "Up to 8 bits error correction (t = 8)";
|
|
ECCBCHTSEL_2 = 2 "Up to 16 bits error correction (t = 16)";
|
|
ECCBCHTSEL_3 = 3 "Reserved";
|
|
};
|
|
|
|
constants ecc16b_status width(1) "" {
|
|
ECC16B_0 = 0 "ECC calculated on 8 columns";
|
|
ECC16B_1 = 1 "ECC calculated on 16 columns";
|
|
};
|
|
|
|
constants ecccs_status width(3) "" {
|
|
ECCCS_0 = 0 "Chip-select 0";
|
|
ECCCS_1 = 1 "Chip-select 1";
|
|
ECCCS_2 = 2 "Chip-select 2";
|
|
ECCCS_3 = 3 "Chip-select 3";
|
|
};
|
|
|
|
constants eccenable_status width(1) "" {
|
|
ECCENABLE_0 = 0 "ECC disabled";
|
|
ECCENABLE_1 = 1 "ECC enabled";
|
|
};
|
|
|
|
register gpmc_ecc_config addr(base, 0x1F4) "ECC configuration" {
|
|
_ 15 mbz;
|
|
eccalgorithm 1 rw type(eccalgorithm_status) "ECC algorithm used";
|
|
_ 2 mbz;
|
|
eccbchtsel 2 rw type(eccbchtsel_status) "Error correction capability used for BCH";
|
|
eccwrapmode 4 rw "Spare area organization definition for the BCH algorithm. See the BCH syndrome/parity calculator module functional specification for more details";
|
|
ecc16b 1 rw type(ecc16b_status) "Selects an ECC calculated on 16 columns";
|
|
ecctopsector 3 rw "Number of sectors to process with the BCH algorithm 0x0: 1 sector (512kB page) 0x1: 2 sectors ... 0x3: 4 sectors (2kB page) ... 0x7: 8 sectors (4kB page)";
|
|
ecccs 3 rw type(ecccs_status) "Selects the CS where ECC is computedOther: Reserved .";
|
|
eccenable 1 rw type(eccenable_status) "Enables the ECC feature";
|
|
};
|
|
|
|
constants eccpointer_status width(4) "" {
|
|
ECCPOINTER_0 = 0 "Writing 0x0 disables the ECC engine (ECCENABLE bit of set to 0)";
|
|
ECCPOINTER_1 = 1 "ECC result register 1 selected";
|
|
ECCPOINTER_2 = 2 "ECC result register 2 selected";
|
|
ECCPOINTER_3 = 3 "ECC result register 3 selected";
|
|
ECCPOINTER_4 = 4 "ECC result register 4 selected";
|
|
ECCPOINTER_5 = 5 "ECC result register 5 selected";
|
|
ECCPOINTER_6 = 6 "ECC result register 6 selected";
|
|
ECCPOINTER_7 = 7 "ECC result register 7 selected";
|
|
ECCPOINTER_8 = 8 "ECC result register 8 selected";
|
|
ECCPOINTER_9 = 9 "ECC result register 9 selected";
|
|
};
|
|
|
|
register gpmc_ecc_control addr(base, 0x1F8) "ECC control" {
|
|
_ 23 mbz;
|
|
eccclear 1 rw "Clear all ECC result registers Reads returns 0 Write 0x1 to this field clear all ECC result registers Write 0x0 is ignored";
|
|
_ 4 mbz;
|
|
eccpointer 4 rw type(eccpointer_status) "Selects ECC result register (Reads to this field give the dynamic position of the ECC pointer - Writes to this field select the ECC result register where the first ECC computation will be stored); Other enums: writing other values disables the ECC engine (ECCENABLE bit ofGPMC_ECC_CONFIG set to 0)";
|
|
};
|
|
|
|
constants ecc9resultsize_status width(1) "" {
|
|
ECC9RESULTSIZE_0 = 0 "ECCSIZE0 selected";
|
|
ECC9RESULTSIZE_1 = 1 "ECCSIZE1 selected";
|
|
};
|
|
|
|
register gpmc_ecc_size_config addr(base, 0x1FC) "ECC size" {
|
|
_ 2 mbz;
|
|
eccsize1 8 rw "Defines Hamming code ECC size 1 in bytes 0x00: 2 Bytes 0x01: 4 Bytes 0x02: 6 Bytes 0x03: 8 Bytes ... 0xFF: 512 Bytes For BCH code ECC, the size 1 is programmed directly with the number of nibbles (see , ).";
|
|
_ 2 mbz;
|
|
eccsize0 8 rw "Defines Hamming code ECC size 0 in bytes 0x00: 2 Bytes 0x01: 4 Bytes 0x02: 6 Bytes 0x03: 8 Bytes ... 0xFF: 512 Bytes For BCH code ECC, the size 0 is programmed directly with the number of nibbles (see , ).";
|
|
_ 3 mbz;
|
|
ecc9resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 9 result register";
|
|
ecc8resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 8 result register";
|
|
ecc7resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 7 result register";
|
|
ecc6resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 6 result register";
|
|
ecc5resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 5 result register";
|
|
ecc4resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 4 result register";
|
|
ecc3resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 3 result register";
|
|
ecc2resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 2 result register";
|
|
ecc1resultsize 1 rw type(ecc9resultsize_status) "Selects ECC size for ECC 1 result register";
|
|
};
|
|
|
|
register gpmc_eccj_result_0 addr(base, 0x200) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_1 addr(base, 0x204) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_2 addr(base, 0x208) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_3 addr(base, 0x20C) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_4 addr(base, 0x210) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_5 addr(base, 0x214) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_6 addr(base, 0x218) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_7 addr(base, 0x21C) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_eccj_result_8 addr(base, 0x220) "ECC result register" {
|
|
_ 4 mbz;
|
|
p2048o 1 ro "Odd row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024o 1 ro "Odd row parity bit 1024";
|
|
p512o 1 ro "Odd row parity bit 512";
|
|
p256o 1 ro "Odd row parity bit 256";
|
|
p128o 1 ro "Odd row parity bit 128";
|
|
p64o 1 ro "Odd row parity bit 64";
|
|
p32o 1 ro "Odd row parity bit 32";
|
|
p16o 1 ro "Odd row parity bit 16";
|
|
p8o 1 ro "Odd row parity bit 8";
|
|
p4o 1 ro "Odd Column Parity bit 4";
|
|
p2o 1 ro "Odd Column Parity bit 2";
|
|
p1o 1 ro "Odd Column Parity bit 1";
|
|
_ 4 mbz;
|
|
p2048e 1 ro "Even row parity bit 2048, only used for ECC computed on 512 Bytes";
|
|
p1024e 1 ro "Even row parity bit 1024";
|
|
p512e 1 ro "Even row parity bit 512";
|
|
p256e 1 ro "Even row parity bit 256";
|
|
p128e 1 ro "Even row parity bit 128";
|
|
p64e 1 ro "Even row parity bit 64";
|
|
p32e 1 ro "Even row parity bit 32";
|
|
p16e 1 ro "Even row parity bit 16";
|
|
p8e 1 ro "Even row parity bit 8";
|
|
p4e 1 ro "Even column parity bit 4";
|
|
p2e 1 ro "Even column parity bit 2";
|
|
p1e 1 ro "Even column parity bit 1";
|
|
};
|
|
|
|
register gpmc_bch_result0_i_0 rw addr(base, 0x240) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result0_i_1 rw addr(base, 0x250) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result0_i_2 rw addr(base, 0x260) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result0_i_3 rw addr(base, 0x270) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result0_i_4 rw addr(base, 0x280) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result0_i_5 rw addr(base, 0x290) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result0_i_6 rw addr(base, 0x2A0) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result0_i_7 rw addr(base, 0x2B0) "BCH ECC result (bits 0 to 31)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_0 rw addr(base, 0x244) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_1 rw addr(base, 0x254) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_2 rw addr(base, 0x264) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_3 rw addr(base, 0x274) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_4 rw addr(base, 0x284) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_5 rw addr(base, 0x294) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_6 rw addr(base, 0x2A4) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result1_i_7 rw addr(base, 0x2B4) "BCH ECC result (bits 32 to 63)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_0 rw addr(base, 0x248) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_1 rw addr(base, 0x258) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_2 rw addr(base, 0x268) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_3 rw addr(base, 0x278) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_4 rw addr(base, 0x288) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_5 rw addr(base, 0x298) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_6 rw addr(base, 0x2A8) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result2_i_7 rw addr(base, 0x2B8) "BCH ECC result (bits 64 to 95)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_0 rw addr(base, 0x24C) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_1 rw addr(base, 0x25C) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_2 rw addr(base, 0x26C) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_3 rw addr(base, 0x27C) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_4 rw addr(base, 0x28C) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_5 rw addr(base, 0x29C) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_6 rw addr(base, 0x2AC) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_result3_i_7 rw addr(base, 0x2BC) "BCH ECC result (bits 96 to 127)" type(uint32);
|
|
|
|
register gpmc_bch_swdata addr(base, 0x2D0) "This register is used to directly pass data to the BCH ECC calculator without accessing the actual NAND flash interface." {
|
|
_ 16 mbz;
|
|
bch_data 16 rw "Data to be included in the BCH calculation. Only bits 0 to 7 are taken into account if the calculator is configured to use 8 bits data (GPMC_ECC_CONFIG[7] ECC16B = 0)";
|
|
};
|
|
|
|
register gpmc_bch_result4_i_0 rw addr(base, 0x300) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result4_i_1 rw addr(base, 0x310) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result4_i_2 rw addr(base, 0x320) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result4_i_3 rw addr(base, 0x330) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result4_i_4 rw addr(base, 0x340) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result4_i_5 rw addr(base, 0x350) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result4_i_6 rw addr(base, 0x360) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result4_i_7 rw addr(base, 0x370) "BCH ECC result (bits 128 to 159)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_0 rw addr(base, 0x304) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_1 rw addr(base, 0x314) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_2 rw addr(base, 0x324) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_3 rw addr(base, 0x334) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_4 rw addr(base, 0x344) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_5 rw addr(base, 0x354) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_6 rw addr(base, 0x364) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result5_i_7 rw addr(base, 0x374) "BCH ECC result (bits 160 to 191)" type(uint32);
|
|
|
|
register gpmc_bch_result6_i_0 addr(base, 0x308) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
|
|
register gpmc_bch_result6_i_1 addr(base, 0x318) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
|
|
register gpmc_bch_result6_i_2 addr(base, 0x328) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
|
|
register gpmc_bch_result6_i_3 addr(base, 0x338) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
|
|
register gpmc_bch_result6_i_4 addr(base, 0x348) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
|
|
register gpmc_bch_result6_i_5 addr(base, 0x358) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
|
|
register gpmc_bch_result6_i_6 addr(base, 0x368) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
|
|
register gpmc_bch_result6_i_7 addr(base, 0x378) "BCH ECC result (bits 192 to 207)" {
|
|
_ 16 mbz;
|
|
bch_result_6 16 rw "BCH ECC result (bits 192 to 207)";
|
|
};
|
|
}; |