need help with adding sdcard mmc3 on beaglebone black

Trying to add an additional sdcard using the mmc3 sdio interface.

Looking at this:
https://2captiv8.blogspot.com/2016/08/mmc2-linux-device-tree-configuration.html

also looking at this
https://e2e.ti.com/support/processors/f/791/t/448441

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

Any thoughts out there??

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