On the AM335x, we first must wait for the controller to acknowledge
the reset; then we can wait for the reset to complete.
I believe this quirk also applies to the OMAP4 ES, but I don't have
one of those to test and we don't seem to have an obvious conditional
for it anyway.
This quirk may work for controllers that don't require it too, but I
am nervous about doing it by default because if we miss the reset
acknowledgement, then we'll just time out even though everything is
really hunky-dory.
Also, for all sdhc, don't bother writing 0 in sdhc_soft_reset while
waiting for the reset to complete; there is no need.
ok matt
broke the build for x86 systems that have MULTIPROCESSOR but which do not
include MPBIOS. So let's try to untangle things just a bit. Presented
on current-users (and referenced on source-changes-d) without any comment.
XXX We really should find a better method to select kernel options; #ifdef
spaghetti is rather sub-optimal.
http://www.nerv.org/~ryo/netbsd/netbsd/?q=id:20080316T191753Z.1654448ada03ce3c4668f3fe472796d0b771e147
- revert RUN_P1 -> PAD_P1_SWITCH changes where RUN_P1 is
actually required (all icache CCIA ops still need RUN_P2)
- sh4_dcache_wbinv_all() and sh4_dcache_wbinv_range_index()
(which manipulate CCDA arrays) are no longer have RUN_P2 so
we can't call them directly from sh4_icache_sync_all() and
sh4_icache_sync_range_index() funcitons; use function pointers
(which have appropriate addresses) instead for 7750 and 7750S
clearly tells us:
kern_rate.c:98: warning: assuming signed overflow does not
occur when assuming that (X + c) > X is always true
Check value against INT_MAX instead. Also, for good measure throw
in a __predict() to flag the assumed common case.
This change makes sdhc_host_found allocate hp up front before showing
the identification, in order to avoid having to open-code a copy of
HREAD2 before hp is available.
This is a total mess right now, and BEAGLEBONE_INSTALL isn't useful
except to boot ramdisks for testing, but this hash of a config works
to get my beaglebone booted into sysinst, at least.
There's a timing issue somewhere in the whole sdmmc thing so that
this doesn't actually work without SDMMC_DEBUG or some specially
crafted debugging messages, and the SoC-specific code needs to be
separated out here another way, but it's a little progress.