On 2016-05-19 10:07, Jonathan Gray wrote:
> On Sun, Apr 24, 2016 at 08:23:53AM +0000, Karel W. Dingeldey wrote: > > On 2016-04-22 10:32, Jonathan Gray wrote: > > On Fri, Apr 22, 2016 at 10:10:10AM +0000, Karel W. Dingeldey wrote: > > Hi everyone, > > I'm currently using OpenBSD 5.7 and 5.8 on a couple of BBBs -- works > like a charm. > > Since 5.9 came out a couple of days ago, I wanted to use it on another > BBB (new install). > > When it comes to stating which hard drive it should install to (eMMC in > this instance), I can only select sd0, which is the SD card. For some > reason the eMMC isn't recognised anymore in this version. > > In the change log I saw that some amendments were made to the sdmmc > driver (supposedly to improve eMMC support on devices like the BBB). In > my case it has quite the contrary effect. > > Anyone a similar experience? Maybe a hint how to sort it out? > > ThanksKarel > Which version of u-boot are you using? It seems newer versions may be > causing problems. > > Can you include the console output here? Output from the installation boot (are second and third line the issue?): Try the following fix adapted from FreeBSD. This is also in the latest armv7 snapshot. Index: ommmc.c =================================================================== RCS file: /cvs/src/sys/arch/armv7/omap/ommmc.c,v retrieving revision 1.20 diff -u -p -r1.20 ommmc.c --- ommmc.c 7 May 2016 00:18:23 -0000 1.20 +++ ommmc.c 19 May 2016 09:55:22 -0000 @@ -1041,7 +1041,18 @@ ommmc_soft_reset(struct ommmc_softc *sc, DPRINTF(1,("%s: software reset reg=%#x\n", DEVNAME(sc), mask)); HSET4(sc, MMCHS_SYSCTL, mask); - delay(10); + /* + * If we read the software reset register too fast after writing it we + * can get back a zero that means the reset hasn't started yet rather + * than that the reset is complete. Per TI recommendations, work around + * it by reading until we see the reset bit asserted, then read until + * it's clear. + */ + for (timo = 1000; timo > 0; timo--) { + if (ISSET(HREAD4(sc, MMCHS_SYSCTL), mask)) + break; + delay(1); + } for (timo = 1000; timo > 0; timo--) { if (!ISSET(HREAD4(sc, MMCHS_SYSCTL), mask)) break; Hi Jonathan, based on your earlier reply, I exchanged the uboot from the OpenBSD image with one from Debian. The outcome was a working system -- I'm thrilled. Best regards Karel