My mail client seems to have screwed up the tabs/whitespace, you can find a working patch here:
http://ce.gl/ommmc.patch.txt Ian On Wed, Jul 1, 2015 at 8:50 PM, ian kremlin <[email protected]> wrote: > Hi > > Compiling an armv7 kernel with option SDHC_DEBUG fails as there is no > definition > of the ommmc_dump_regs function, so add it. > > Tested on real hardware (Beaglebone Black): > > ommmc0 at omap0 > ommmc0: SYSCONFIG: 0x00002015 SYSSTATUS: 0x00000001 CSRE: 0x00000000 > ommmc0: SYSTEST: 0x00000000 CON: 0x00000600 PWCNT: 0x00000000 > ommmc0: BLK: 0x00000000 ARG: 0x00000000 CMD: 0x00000000 > ommmc0: RSP10: 0x00000000 RSP32: 0x00000000 RSP54: 0x00000000 > ommmc0: RSP76: 0x00000000 DATA: 0x00000000 PSTATE: 0x01f70000 > ommmc0: HCTL: 0x00000000 SYSCTL: 0x00000000 STAT: 0x00000040 > ommmc0: IE: 0x00000000 ISE: 0x00000000 AC12: 0x00000000 > ommmc0: CAPA: 0x06e10080 CUR_CAPA: 0x00000000 REV: 0x31010000 > ommmc0: software reset reg=0x1000000 > sdmmc0 at ommmc0 > > This will help figure out why the onboard eMMC flash memory isn't being > configured properly on later BBB revisions where they bumped it from 2GB -> > 4GB. > > Ian > > Index: ommmc.c > =================================================================== > RCS file: /cvs/src/sys/arch/armv7/omap/ommmc.c,v > retrieving revision 1.14 > diff -u -p -r1.14 ommmc.c > --- ommmc.c 30 May 2015 02:17:36 -0000 1.14 > +++ ommmc.c 2 Jul 2015 01:48:32 -0000 > @@ -244,7 +244,41 @@ void ommmc_write_data(struct ommmc_softc > #ifdef SDHC_DEBUG > int ommmcdebug = 20; > #define DPRINTF(n,s) do { if ((n) <= ommmcdebug) printf s; } while (0) > -void ommmc_dump_regs(struct ommmc_softc *); > +void > +ommmc_dump_regs(struct ommmc_softc *sc) > +{ > + DPRINTF(3,("%s: SYSCONFIG: 0x%08x SYSSTATUS: 0x%08x CSRE: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_SYSCONFIG), HREAD4(sc, > MMCHS_SYSSTATUS), > + HREAD4(sc, MMCHS_CSRE))); > + > + DPRINTF(3,("%s: SYSTEST: 0x%08x CON: 0x%08x PWCNT: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_SYSTEST), HREAD4(sc, MMCHS_CON), > + HREAD4(sc, MMCHS_PWCNT))); > + > + DPRINTF(3,("%s: BLK: 0x%08x ARG: 0x%08x CMD: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_BLK), HREAD4(sc, MMCHS_ARG), > + HREAD4(sc, MMCHS_CMD))); > + > + DPRINTF(3,("%s: RSP10: 0x%08x RSP32: 0x%08x RSP54: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_RSP10), HREAD4(sc, MMCHS_RSP32), > + HREAD4(sc, MMCHS_RSP54))); > + > + DPRINTF(3,("%s: RSP76: 0x%08x DATA: 0x%08x PSTATE: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_RSP76), HREAD4(sc, MMCHS_DATA), > + HREAD4(sc, MMCHS_PSTATE))); > + > + DPRINTF(3,("%s: HCTL: 0x%08x SYSCTL: 0x%08x STAT: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_HCTL), HREAD4(sc, MMCHS_SYSCTL), > + HREAD4(sc, MMCHS_STAT))); > + > + DPRINTF(3,("%s: IE: 0x%08x ISE: 0x%08x AC12: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_IE), HREAD4(sc, MMCHS_ISE), > + HREAD4(sc, MMCHS_AC12))); > + > + DPRINTF(3,("%s: CAPA: 0x%08x CUR_CAPA: 0x%08x REV: 0x%08x\n", > + DEVNAME(sc), HREAD4(sc, MMCHS_CAPA), HREAD4(sc, MMCHS_CUR_CAPA), > + HREAD4(sc, MMCHS_REV))); > +} > #else > #define DPRINTF(n,s) do {} while(0) > #endif
