Skip to content

Proposed patch for issue #29 (related to RCM4110 Rev F hardware)#30

Open
tomlogic wants to merge 2 commits intomasterfrom
feature-rcm4110-timing
Open

Proposed patch for issue #29 (related to RCM4110 Rev F hardware)#30
tomlogic wants to merge 2 commits intomasterfrom
feature-rcm4110-timing

Conversation

@tomlogic
Copy link
Copy Markdown
Contributor

@tomlogic tomlogic commented Apr 6, 2021

This branch has the proposed patch to resolve issue #29, and will become part of the master branch once approved for release.

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.
#if ENABLE_SPREADER == 0 // spreader disabled
xor a
ld (MTCRShadow), a
ioi ld (MTCR), a // normal /OE0 and /OE1 timing
Copy link
Copy Markdown
Contributor Author

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

Copy link
Copy Markdown
Contributor Author

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:
Copy link
Copy Markdown
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant