Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 May 2014 12:12:19 +0300
From:      "Sulev-Madis Silber (ketas)" <madis555@hot.ee>
To:        freebsd-arm <freebsd-arm@FreeBSD.org>
Subject:   Patch to make BBB properly boot from eMMC every time
Message-ID:  <5371E1F3.6080002@hot.ee>

next in thread | raw e-mail | index | archive | help
On my BBB, I need following patch to boot from eMMC 100% of cases.
Without that, device is detected with 1 / 4 bit bus (it's actually 8
bit) or not at all (then boot fails).

Actually, that code looks like weird way to implement sleep(), or at
least it has such (side) effect.

Actually ian@ made that patch, and was confused about results.


-------------------------------------------------------------------------
Index: sys/dev/mmc/mmc.c
===================================================================
--- sys/dev/mmc/mmc.c   (revision 264141)
+++ sys/dev/mmc/mmc.c   (working copy)
@@ -769,8 +769,10 @@ mmc_test_bus_width(struct mmc_softc *sc)
                data.data = p8;
                data.len = 8;
                data.flags = MMC_DATA_WRITE;
-               mmc_wait_for_cmd(sc, &cmd, 0);
-
+               err = mmc_wait_for_cmd(sc, &cmd, 0);
+               if (err != 0)
+                       device_printf(sc->dev, "BUSTEST_W err %d\n", err);
+
                memset(&cmd, 0, sizeof(cmd));
                memset(&data, 0, sizeof(data));
                cmd.opcode = MMC_BUSTEST_R;
@@ -782,7 +784,12 @@ mmc_test_bus_width(struct mmc_softc *sc)
                data.len = 8;
                data.flags = MMC_DATA_READ;
                err = mmc_wait_for_cmd(sc, &cmd, 0);
-
+               if (err != 0)
+                       device_printf(sc->dev, "BUSTEST_R err %d\n", err);
+
+               device_printf(sc->dev, "read %02x %02x %02x %02x %02x
%02x %02x %02x\n",
+                       buf[0], buf[1], buf[2], buf[3], buf[4], buf[5],
buf[6], buf[7]);
+
                mmcbr_set_bus_width(sc->dev, bus_width_1);
                mmcbr_update_ios(sc->dev);
-------------------------------------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5371E1F3.6080002>