need help with adding sdcard mmc3 on beaglebone black

32 views
Skip to first unread message

aro...@gmail.com

unread,
Sep 3, 2019, 11:45:46 AM9/3/19
to BeagleBoard
Trying to add an additional sdcard using the mmc3 sdio interface.

Looking at this:

also looking at this


Here is my device tree

&mmc3 {
    ti,dual-volt;
    ti,needs-special-reset;
    ti,needs-special-hs-handling;
    status = "okay";
    bus-width = <0x4>;
    pinctrl-names = "default";
    pinctrl-0 = <&mmc3_pins>;
    cd-gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
    vmmc-supply = <&vmmcsd_fixed>;
    dmas = <&edma_xbar 12 0 1
                   &edma_xbar 13 0 2>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    max-frequency = <50000000>;
};


mmc3_pins: pinmux_mmc3_pins {
  pinctrl-single,pins = <
    AM33XX_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad12.mmc2_dat0 */
    AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad13.mmc2_dat1 */
    AM33XX_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad14.mmc2_dat2 */
    AM33XX_IOPAD(0x83C, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad15.mmc2_dat3 */
    AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */
    AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_clk.mmc2_clk */
    AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE7)     /* gpmc_wpn.mmc2_sdcd.gpio0_31 */
    AM33XX_IOPAD(0x840, PIN_INPUT | MUX_MODE7)        /* gpmc.a0.gpio1_16 */
  >;
};

The board will recognize the total size of the sdcard (32GB cards shows at 29.8GB) but it throws a bunch of errors and can't read the partition table as a result
[2.579851] omap_hsmmc 48710000.mmc: Got CD GPIO
[2.666924] mmc2: host does nto support reading read-only switch, assuming write-enable
[2.671598] mmc2: new high speed SDHC card at address 0001
[2.691758] mmcblk2: mmc2:0001 GB1QT 29.8 GiB
[2.712584] mmcblk2: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[2.809247] mmcblk2: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[2.818904] mmcblk2: retrying using single block read
[2.833104] mmcblk2: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0

More error -84 continue to stream out for various different sectors.

I'm breadboarded to an external uSDcard slot, so I'm thinking it may be signal integrity issue. I changed max-frequency to lower values, but that didn't help.


aro...@gmail.com

unread,
Sep 8, 2019, 3:52:08 PM9/8/19
to BeagleBoard
Any thoughts out there??

Jim F

unread,
Sep 8, 2019, 6:27:51 PM9/8/19
to beagl...@googlegroups.com
What do the signals look like when you hook a scope up? How's your ground and signal connection? Is your bypass capacitor installed as short as possible between the vcc and ground? If you are actually using a breadboard, I'm surprised you got that far. Throw it away and get a surfboard that you can solder the mmc to. Keep the wires short, very short, like as short as you can physically make them.

For something like this I think the right place to start is with the hardware. Only other thought is to force the max frequency as low as possible. Like 1. Then you could debug with leds. But at that point I'm sure other OS limitations will crop up. 

J

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/3e9de3a8-4df0-4ee7-8739-6a57ee233105%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages