/sys/class/mmc_host/mmc0/mmc0:0001/type:SDIO
/sys/class/mmc_host/mmc1/mmc1:5048/type:SD
/sys/class/mmc_host/mmc2/mmc2:0001/type:MMC
root@Krescue:~# grep "" /sys/class/mmc_host/mmc0/mmc0:0001/mmc0\:0001\:1/*
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/class:0x00
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/device:0x4356
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/modalias:sdio:c00v02D0d4356
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:DRIVER=brcmfmac
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:OF_NAME=wifi
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:OF_FULLNAME=/soc/apb@d0000000/mmc@70000/wifi@1
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:OF_COMPATIBLE_0=brcm,bcm4329-fmac
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:OF_COMPATIBLE_N=1
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_CLASS=00
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_ID=02D0:4356
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:MODALIAS=sdio:c00v02D0d4356
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/vendor:0x02d0
root@Krescue:~# grep "" /sys/kernel/debug/mmc0/*
/sys/kernel/debug/mmc0/caps:0x40000101
/sys/kernel/debug/mmc0/caps2:0x00040000
/sys/kernel/debug/mmc0/clock:100000000
/sys/kernel/debug/mmc0/ios:clock: 100000000 Hz
/sys/kernel/debug/mmc0/ios:actual clock: 100000000 Hz
/sys/kernel/debug/mmc0/ios:vdd: 21 (3.3 ~ 3.4 V)
/sys/kernel/debug/mmc0/ios:bus mode: 2 (push-pull)
/sys/kernel/debug/mmc0/ios:chip select: 0 (don't care)
/sys/kernel/debug/mmc0/ios:power mode: 2 (on)
/sys/kernel/debug/mmc0/ios:bus width: 2 (4 bits)
/sys/kernel/debug/mmc0/ios:timing spec: 0 (legacy)
/sys/kernel/debug/mmc0/ios:signal voltage: 1 (1.80 V)
/sys/kernel/debug/mmc0/ios:driver type: 0 (driver type B)
root@Krescue:~# dtc /sys/firmware/fdt 2>/dev/null | grep mmc@70000 -A25
mmc@70000 {
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
reg = <0x0 0x70000 0x0 0x800>;
interrupts = <0x0 0xd8 0x1>;
status = "okay";
clocks = <0x3 0x5e 0x3 0x77 0x3 0x4>;
clock-names = "core", "clkin0", "clkin1";
resets = <0x12 0x2c>;
pinctrl-0 = <0x2f>;
pinctrl-1 = <0x30>;
pinctrl-names = "default", "clk-gate";
#address-cells = <0x1>;
#size-cells = <0x0>;
bus-width = <0x4>;
max-frequency = <0x5f5e100>;
non-removable;
disable-wp;
mmc-pwrseq = <0x31>;
vmmc-supply = <0x32>;
vqmmc-supply = <0x33>;
wifi@1 {
reg = <0x1>;
compatible = "brcm,bcm4329-fmac";
};
};
root@Krescue:~# dmesg -c
[ 3467.456878] meson-gx-mmc d0070000.mmc: allocated mmc-pwrseq
[ 3467.483879] meson-gx-mmc d0072000.mmc: Got CD GPIO
[ 3467.511722] meson-gx-mmc d0074000.mmc: allocated mmc-pwrseq
[ 3467.516044] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[ 3467.518137] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 3467.520414] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 3467.524226] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[ 3467.553289] mmc1: new high speed SDHC card at address 5048
[ 3467.554596] mmcblk1: mmc1:5048 SD16G 14.5 GiB
[ 3467.555986] mmcblk1: p1
[ 3467.600845] mmc0: new SDIO card at address 0001
[ 3467.650072] mmc2: new HS200 MMC card at address 0001
[ 3467.651415] mmcblk2: mmc2:0001 AJTD4R 14.6 GiB
[ 3467.652134] mmcblk2boot0: mmc2:0001 AJTD4R partition 1 4.00 MiB
[ 3467.652828] mmcblk2boot1: mmc2:0001 AJTD4R partition 2 4.00 MiB
[ 3467.653076] mmcblk2rpmb: mmc2:0001 AJTD4R partition 3 4.00 MiB, chardev (245:0)
[ 3473.562416] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 3473.563500] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 3473.563687] platform regulatory.0: Direct firmware load for regulatory.db.p7s failed with error -2
[ 3473.563693] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[ 3473.568322] brcmutil: unknown parameter 'ap_mode' ignored
[ 3473.580372] brcmfmac: unknown parameter 'ap_mode' ignored
[ 3473.585111] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4356-sdio for chip BCM4356/2
[ 3473.586039] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4356-sdio.khadas,vim2.txt failed with error -2
[ 3473.683458] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4356-sdio for chip BCM4356/2
[ 3473.683529] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 3473.687451] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4356/2 wl0: May 14 2014 19:51:52 version 7.35.17 (r477908) FWID 01-2ed3ee81
OK!!!
root@Krescue:~# mmc on
[i] /opt/mmc on
[i] /opt/mmc - status | USAGE /opt/mmc [on|off|reset|help]
[i] enabled - meson_gx_mmc
/sys/class/mmc_host/mmc0/mmc0:0001/type:SDIO
/sys/class/mmc_host/mmc1/mmc1:5048/type:SD
/sys/class/mmc_host/mmc2/mmc2:0001/type:MMC
179 64 mmcblk1 1 0 8 0 0 0 0 0 0 4 0 0 0 0 0
179 65 mmcblk1p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
179 96 mmcblk2 1 0 8 0 0 0 0 0 0 4 0 0 0 0 0
179 160 mmcblk2boot1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
179 128 mmcblk2boot0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
root@Krescue:~# dmesg -c
[ 254.437857] mmc2: card 0001 removed
[ 254.539940] mmc1: card 5048 removed
[ 254.560181] mmc0: card 0001 removed
[ 256.339681] meson-gx-mmc d0070000.mmc: allocated mmc-pwrseq
[ 256.366110] meson-gx-mmc d0072000.mmc: Got CD GPIO
[ 256.393839] meson-gx-mmc d0074000.mmc: allocated mmc-pwrseq
[ 256.398135] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[ 256.400249] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 256.402385] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 256.406209] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[ 256.433677] mmc1: new high speed SDHC card at address 5048
[ 256.434841] mmcblk1: mmc1:5048 SD16G 14.5 GiB
[ 256.436019] mmcblk1: p1
[ 256.483499] mmc0: new SDIO card at address 0001
[ 256.536266] mmc2: new HS200 MMC card at address 0001
[ 256.537429] mmcblk2: mmc2:0001 AJTD4R 14.6 GiB
[ 256.538089] mmcblk2boot0: mmc2:0001 AJTD4R partition 1 4.00 MiB
[ 256.538702] mmcblk2boot1: mmc2:0001 AJTD4R partition 2 4.00 MiB
[ 256.538938] mmcblk2rpmb: mmc2:0001 AJTD4R partition 3 4.00 MiB, chardev (245:0)
root@Krescue:~# wifi.on
[i] load cfg80211
[i] load brcmutil
[i] load brcmfmac
root@Krescue:~# dmesg -c
[ 270.750018] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 270.751045] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 270.751238] platform regulatory.0: Direct firmware load for regulatory.db.p7s failed with error -2
[ 270.751244] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[ 270.755785] brcmutil: unknown parameter 'ap_mode' ignored
[ 270.767652] brcmfmac: unknown parameter 'ap_mode' ignored
[ 270.769101] brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported
[ 270.769112] brcmfmac: brcmf_sdio_probe_attach: brcmf_chip_attach failed!
[ 270.769117] brcmfmac: brcmf_sdio_probe: brcmf_sdio_probe_attach failed
[ 270.769227] brcmfmac: brcmf_ops_sdio_probe: F2 error, probe failed -19...
....
root@Krescue:~# grep "" /sys/kernel/debug/mmc0/*
/sys/kernel/debug/mmc0/caps:0x40000101
/sys/kernel/debug/mmc0/caps2:0x00040000
/sys/kernel/debug/mmc0/clock:50000000
/sys/kernel/debug/mmc0/ios:clock: 50000000 Hz
/sys/kernel/debug/mmc0/ios:actual clock: 50000000 Hz
/sys/kernel/debug/mmc0/ios:vdd: 21 (3.3 ~ 3.4 V)
/sys/kernel/debug/mmc0/ios:bus mode: 2 (push-pull)
/sys/kernel/debug/mmc0/ios:chip select: 0 (don't care)
/sys/kernel/debug/mmc0/ios:power mode: 2 (on)
/sys/kernel/debug/mmc0/ios:bus width: 2 (4 bits)
/sys/kernel/debug/mmc0/ios:timing spec: 0 (legacy)
/sys/kernel/debug/mmc0/ios:signal voltage: 1 (1.80 V)
/sys/kernel/debug/mmc0/ios:driver type: 0 (driver type B)
wifi OOOPS ! firmware failed
try another freqs
root@Krescue:/# grep "" /sys/kernel/debug/mmc0/*
/sys/kernel/debug/mmc0/caps:0x40000101
/sys/kernel/debug/mmc0/caps2:0x00040000
/sys/kernel/debug/mmc0/clock:60000000
/sys/kernel/debug/mmc0/ios:clock: 60000000 Hz
/sys/kernel/debug/mmc0/ios:actual clock: 58823530 Hz
/sys/kernel/debug/mmc0/ios:vdd: 21 (3.3 ~ 3.4 V)
/sys/kernel/debug/mmc0/ios:bus mode: 2 (push-pull)
/sys/kernel/debug/mmc0/ios:chip select: 0 (don't care)
/sys/kernel/debug/mmc0/ios:power mode: 2 (on)
/sys/kernel/debug/mmc0/ios:bus width: 2 (4 bits)
/sys/kernel/debug/mmc0/ios:timing spec: 0 (legacy)
/sys/kernel/debug/mmc0/ios:signal voltage: 1 (1.80 V)
/sys/kernel/debug/mmc0/ios:driver type: 0 (driver type B)
WORKS