-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposed patch for issue #29 (related to RCM4110 Rev F hardware) #30
base: master
Are you sure you want to change the base?
Conversation
The are multiple reasons to enable early /OE in MTCR, so do so whenever necessary and don't disable it for any reason.
Other products that enable early /OE do so before enabling the clock doubler or the spectrum spreader. The RCM4110 doesn't use a clock doubler and can be configured with a disabled spectrum spreader. Yet it may still need to have early /OE enabled to meet timing requirements of 55ns flash used in RCM4110 (part 20-101-1093) Rev F. This change enables early /OE before writing to MB0CR and disabling wait states. It also ensures we enable the feature even in firmware with a disabled spectrum spreader.
@@ -122,8 +122,6 @@ _enableClockModulation:: | |||
bool hl | |||
#if ENABLE_SPREADER == 0 // spreader disabled | |||
xor a | |||
ld (MTCRShadow), a | |||
ioi ld (MTCR), a // normal /OE0 and /OE1 timing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even with the spreader disabled, we should keep the "early /OE" setting on products that have enabled it.
ld a, 0x0C | ||
ioi ld (MTCR), a | ||
#endif | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change enables "early /OE" on the RCM4110 before reaching code that configures MB0CR
for 0 wait states, and therefore will access the RCM4110's 55ns flash at full speed.
ioi ld (MTCR), a ; first, update /OE0, /OE1 early output enable | ||
ld (MTCRShadow), a | ||
|
||
.notEarlyOutputEnable: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change leaves MTCR
unmodified when the clock doubler isn't enabled -- allowing the RCM4110 setting from line 1881 to remain in place.
This branch has the proposed patch to resolve issue #29, and will become part of the
master
branch once approved for release.