I would like to test an m.2 SDIO wifi card on the NVIDIA devkit carrier board. Can anyone confirm which of the sdhci devices in the device tree need to be enabled to test this, what device tree configurations to add, and how to verify it is correctly configured?
I see following potential SDHCI devices:
sdhci@700b0600 /* SDMMC4 for EMMC */
sdhci@700b0400
sdhci@700b0200 /* SDMMC2 for Wifi */
sdhci@700b0000 /* SDMMC1 for SD card */
Would sdhci@700b0400 be the correct port to enable for the m.2 SDIO pins?
At the moment I’m trying to enable sdhci@700b0200 (since a comment mentions SDMMC2 is for wifi), using the following configuration (printout from dtc -I fs …), but I don’t see anything related to sdio appearing in dmesg during bootup.
sdhci@700b0200 {
cap-mmc-highspeed;
compatible = "nvidia,tegra210-sdhci";
clocks = <0x21 0x9 0x21 0xf3 0x21 0xc1>;
nvidia,runtime-pm-type = <0x1>;
cap-sd-highspeed;
resets = <0x21 0x9>;
cap-sdio-irq;
clock-names = "sdmmc", "pll_p", "sdmmc_legacy_tm";
pll_source = "pll_p";
keep-power-in-suspend;
nvidia,min-tap-delay = <0x6a>;
ddr-clk-limit = <0x2719c40>;
status = "enabled";
nvidia,max-tap-delay = <0xb9>;
interrupts = <0x0 0xf 0x4>;
bus-width = <0x4>;
phandle = <0x11e>;
calib-1v8-offsets = <0x505>;
tap-delay = <0x4>;
nvidia,en-io-trim-volt;
force-non-removable-rescan;
reg = <0x0 0x700b0200 0x0 0x200>;
default-drive-type = <0x1>;
mmc-ocr-mask = <0x0>;
compad-vref-1v8 = <0x7>;
trim-delay = <0x8>;
reset-names = "sdhci";
vmmc-supply = <0x47>;
linux,phandle = <0x11e>;
non-removable;
ignore-pm-notify;
compad-vref-3v3 = <0x7>;
calib-3v3-offsets = <0x505>;
aux-device-name = "sdhci-tegra.1";
vqmmc-supply = <0x36>;
max-clk-limit = <0xc28cb00>;
prod-settings {
#prod-cells = <0x3>;
prod_c_sdr104 {
prod = <0x100 0xff0000 0x40000 0x1c0 0xe000 0x4000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod {
prod = <0x100 0x1fff000e 0x8090028 0x1c0 0x8001fc0 0x8000040 0x1c4 0x77 0x0 0x120 0x20001 0x1 0x128 0x43000000 0x0 0x1f0 0x80000 0x80000>;
};
prod_c_hs {
prod = <0x100 0xff0000 0x40000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod_c_sdr50 {
prod = <0x100 0xff0000 0x40000 0x1c0 0xe000 0x8000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod_c_ddr52 {
prod = <0x100 0x1fff0000 0x40000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod_c_sdr12 {
prod = <0x100 0xff0000 0x40000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod_c_ds {
prod = <0x100 0xff0000 0x40000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod_c_hs200 {
prod = <0x100 0xff0000 0x40000 0x1c0 0xe000 0x4000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod_c_sdr25 {
prod = <0x100 0xff0000 0x40000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
prod_c_hs533 {
prod = <0x100 0xff0000 0x40000 0x1c0 0xe000 0x2000 0x1e0 0xf 0x7 0x1e4 0x30000505 0x30000505>;
};
prod_c_hs400 {
prod = <0x100 0xff0000 0x40000 0x1c0 0xe000 0x4000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30000505>;
};
};
What can I expect to see when I have correctly configured pins for SDIO? Will there be some printouts in dmesg indicating initialization of some tegra SDIO module?