Skip to content
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

ODROID-N2/C2/C4: Force 40MHz instead of 24MHz as eMMC clock #3319

Merged
merged 1 commit into from
Apr 24, 2024

Conversation

agners
Copy link
Member

@agners agners commented Apr 18, 2024

It seems that forcing 24MHz clocks is problematic for newer 32GB Kingston based eMMC modules on ODROID-N2(+). Use what downstream U-Boot is using as f_max, which is 40MHz.

Fixes: #3227

It seems that forcing 24MHz clocks is problematic for newer 32GB
Kingston based eMMC modules on ODROID-N2(+). Use what downstream
U-Boot is using as f_max, which is 40MHz.

Fixes: #3227
@agners agners added the board/odroid Hardkernel's ODROID Boards label Apr 18, 2024
@agners agners force-pushed the odroid-use-40mhz-emmc-clock branch 2 times, most recently from eab292f to 865d640 Compare April 18, 2024 16:11
@agners agners changed the title Odroid use 40mhz emmc clock ODROID-N2/C2/C4: Force 40MHz instead of 24MHz as eMMC clock Apr 18, 2024
@agners agners marked this pull request as ready for review April 23, 2024 13:30
@agners agners merged commit e1b1154 into dev Apr 24, 2024
10 checks passed
@agners agners deleted the odroid-use-40mhz-emmc-clock branch April 24, 2024 18:37
sairon added a commit that referenced this pull request Jun 11, 2024
As we don't have proper solution for #3319 and #3351 yet, revert to
previous U-Boot which was proven working. This is intended as a
workaround but as there's nothing in the latest U-Boot that will be
really missed on N2, we can stay on the older version for the time
being.

This also means reverting the "40 MHz hack" back to the 24 MHz one.
Since this patch only applies to N2 (meson gx), it can stay along the
common hardkernel uboot patches.
sairon added a commit that referenced this pull request Jun 11, 2024
As we don't have proper solution for #3319 and #3351 yet, revert to
previous U-Boot which was proven working. This is intended as a
workaround but as there's nothing in the latest U-Boot that will be
really missed on N2, we can stay on the older version for the time
being.

This also means reverting the "40 MHz hack" back to the 24 MHz one.
Since this patch only applies to N2 (meson gx), it can stay along the
common hardkernel uboot patches.
sairon added a commit that referenced this pull request Oct 10, 2024
Testing shows that the 24MHz cap is problematic for Kingston. Bumping this cap
to 40 MHz in #3319 fixed Kingston but reintroduced issues with some other eMMCs
that the frequency cap was supposed to fix.

This commit adds another patch that selects a different clock for eMMC. While
it's still unclear why Kingston fails with the frequencies of slightly below 24
MHz (see patch message why it's below), using 24 MHz from xtal seems to be fine
and hopefully shouldn't introduce regressions for old eMMCs.

Alternative approach would be using the same clock source but setting the
frequency cap to 25 MHz. This results in exact 25 MHz from PLL which is even
the defined frequency for some eMMC modes, Kingston eMMC works fine with it and
the difference from the previously used value wouldn't be too high, but with 24
MHz we're even closer.

refs #3250, refs #3227
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
board/odroid Hardkernel's ODROID Boards cla-signed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Odroid-N2+ doesn't boot from eMMC (11.5+, other than Kingston eMMC)
3 participants