Skip to content

Fix HS400 on CM5 #6203

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

Merged
merged 5 commits into from
Jun 7, 2024
Merged

Fix HS400 on CM5 #6203

merged 5 commits into from
Jun 7, 2024

Conversation

P33M
Copy link
Contributor

@P33M P33M commented Jun 4, 2024

CM5 HS400 is now reliable for me.
Also found two more commits for SD down the back of the sofa...

P33M added 2 commits June 4, 2024 09:53
The attached PHY performs parameter validation, so the switch from HS200
to HS (before selecting HS400/HS400es) with a 200MHz clock fails to
update pad timings and results in CRC errors from the card.

Underclocking the interface is safe, so do that in the downgrade callback.

Signed-off-by: Jonathan Bell <[email protected]>
Now that we've figured out why the PHY didn't do the right thing, HS400
is stable again.

This reverts commit 6aeacfc.

Signed-off-by: Jonathan Bell <[email protected]>
@P33M P33M marked this pull request as ready for review June 4, 2024 13:53
P33M added 3 commits June 5, 2024 11:08
Enhanced strobe means HS200 training can be skipped.

Signed-off-by: Jonathan Bell <[email protected]>
SD cards perform cache flushes by a CMD49 extension register write -
which needs to be started from the SDHCI command/argument registers and
not a CQHCI slot.

Host access to SD/CQ registers should be exclusive to one or the other,
so issue a halt before doing the command.

Signed-off-by: Jonathan Bell <[email protected]>
This gains about 8-12% sequential write speed with the fastest SD/eMMC
cards, and Class A1/A2 card sequential performance is only assured with
a 4MiB write length.

Signed-off-by: Jonathan Bell <[email protected]>
@P33M
Copy link
Contributor Author

P33M commented Jun 5, 2024

@timg236 this works for me on both r0.1 and r0.2 boards.

@pelwell pelwell merged commit 2862884 into raspberrypi:rpi-6.6.y Jun 7, 2024
11 of 12 checks passed
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Jun 12, 2024
kernel: Fix HS400 on CM5
See: raspberrypi/linux#6203

kernel: Reinstate "output format" DRM property
See: raspberrypi/linux#6133

kernel: Fix the IQaudIO handling of 16-bit samples
See: raspberrypi/linux#6215
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Jun 12, 2024
kernel: Fix HS400 on CM5
See: raspberrypi/linux#6203

kernel: Reinstate "output format" DRM property
See: raspberrypi/linux#6133

kernel: Fix the IQaudIO handling of 16-bit samples
See: raspberrypi/linux#6215
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.

2 participants