Is it possible to connect WiFi chip AP6256 to the sdmmc3 and configure sdmmc3 to work with WiFi chip?
It is not guaranteed and depends on your tuning result. For Jetson nano, the SDMMC3 port is a SDIO port for your usage.
Thank you for your answer!
I’m trying to build bcmdhd modules for Linux kernel. But unfortunately I have
user@pad:~/l4t-gcc/Linux_for_Tegra/source/public$ LANG=C make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra CROSS_COMPILE=${TOOLCHAIN_PREFIX} --output-sync=target modules
make: Entering directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9'
make[1]: Entering directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/build'
CHK include/config/kernel.release
Using /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9 as source for kernel
GEN ./Makefile
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/checksyscalls.sh
CHK scripts/mod/devicetable-offsets.h
DTC drivers/misc/mods/mods.dtb
DTB drivers/misc/mods/mods.dtb.S
AS [M] drivers/misc/mods/mods.dtb.o
LD [M] drivers/misc/mods/mods.o
rm drivers/misc/mods/mods.dtb drivers/misc/mods/mods.dtb.S
/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/nvidia/drivers/net/wireless/bcmdhd/Makefile:296: warning: overriding recipe for target 'clean'
/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/Makefile:364: warning: ignoring old recipe for target 'clean'
CC [M] drivers/net/wireless/bcmdhd/dhd_pno.o
In file included from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/wl_cfg80211.h:66:0,
from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/dhd_pno.c:59:
/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/wl_cfgp2p.h:236:2: error: #error Disable 'WL_ENABLE_P2P_IF', if 'WL_CFG80211_P2P_DEV_IF' is enabled or kernel version is 3.8.0 or above
#error Disable 'WL_ENABLE_P2P_IF', if 'WL_CFG80211_P2P_DEV_IF' is enabled \
^~~~~
make[5]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:336: drivers/net/wireless/bcmdhd/dhd_pno.o] Error 1
make[4]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:649: drivers/net/wireless/bcmdhd] Error 2
make[3]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:649: drivers/net/wireless] Error 2
make[2]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:649: drivers/net] Error 2
make[1]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/Makefile:1104: drivers] Error 2
make[1]: Leaving directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/build'
make: *** [Makefile:171: sub-make] Error 2
make: Leaving directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9'
I tried to comment DHDCFLAGS += -DWL_ENABLE_P2P_IF
line in the file “nvidia/drivers/net/wireless/bcmdhd/Makefile”, but it is doesn’t work too:
user@pad:~/l4t-gcc/Linux_for_Tegra/source/public$ LANG=C make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra CROSS_COMPILE=${TOOLCHAIN_PREFIX} --output-sync=target modules
make: Entering directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9'
make[1]: Entering directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/build'
CHK include/config/kernel.release
Using /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9 as source for kernel
GEN ./Makefile
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/checksyscalls.sh
CHK scripts/mod/devicetable-offsets.h
DTC drivers/misc/mods/mods.dtb
DTB drivers/misc/mods/mods.dtb.S
AS [M] drivers/misc/mods/mods.dtb.o
LD [M] drivers/misc/mods/mods.o
rm drivers/misc/mods/mods.dtb drivers/misc/mods/mods.dtb.S
/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/nvidia/drivers/net/wireless/bcmdhd/Makefile:296: warning: overriding recipe for target 'clean'
/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/Makefile:364: warning: ignoring old recipe for target 'clean'
CC [M] drivers/net/wireless/bcmdhd/aiutils.o
In file included from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/aiutils.c:38:0:
/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/include/pcicfg.h:195:0: error: "PCI_L1SS_CTRL2" redefined [-Werror]
#define PCI_L1SS_CTRL2 0x24c /* The L1 PM Substates Control register */
In file included from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/include/uapi/linux/pci.h:20:0,
from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/include/linux/pci.h:33,
from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/include/linuxver.h:83,
from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/include/linux_osl.h:333,
from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/include/osl.h:53,
from /home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/net/wireless/bcmdhd/aiutils.c:33:
/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/include/uapi/linux/pci_regs.h:982:0: note: this is the location of the previous definition
#define PCI_L1SS_CTRL2 0x0C /* L1SS control 2 register */
cc1: all warnings being treated as errors
make[5]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:336: drivers/net/wireless/bcmdhd/aiutils.o] Error 1
make[4]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:649: drivers/net/wireless/bcmdhd] Error 2
make[3]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:649: drivers/net/wireless] Error 2
make[2]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/scripts/Makefile.build:649: drivers/net] Error 2
make[1]: *** [/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9/Makefile:1104: drivers] Error 2
make[1]: Leaving directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/build'
make: *** [Makefile:171: sub-make] Error 2
make: Leaving directory '/home/user/l4t-gcc/Linux_for_Tegra/source/public/kernel/kernel-4.9'
Can you help me with this issue? I can’t realize what is going on. Thank you!
P.S.: Interesting. I have find that in Linux 4 Tegra have “Broadcom FullMAC wireless cards support” in the “nvidia/drivers/net/wireless/bcmdhd”. How can I compile this module?
Yet another thread.
I found that file “bcmdhd.ko” already presents in “/lib/modules/4.9.337-tegra/kernel/drivers/net/wireless/bcmdhd” directory. I tried to load it via sudo modprobe bcmdhd.ko
but error was modprobe: FATAL: Module bcmdhd.ko not found in directory /lib/modules/4.9.337-tegra
. I copied “bcmdhd.ko” to “/lib/modules/4.9.337-tegra/” and did sudo depmod
after that I tried sudo modprobe bcmdhd
but error is
modprobe: ERROR: could not insert 'bcmdhd': Invalid argument
modprobe: ERROR: ../libkmod/libkmod-module.c:979 command_do() Error running install command for bcmdhd
modprobe: ERROR: could not insert 'bcmdhd': Operation not permitted
The question is: how can I load “bcmdhd.ko”?
I tried to load module with
jetson@rover:/lib/modules/4.9.337-tegra/kernel/drivers/net/wireless/bcmdhd$ sudo insmod bcmdhd.ko "firmware_path=/lib/firmware/bcmdhd/fw_bcmap6256.bin nvram_path=/lib/firmware/bcmdhd/nvram_ap6256.txt"
command . Result is:
insmod: ERROR: could not insert module bcmdhd.ko: Unknown symbol in module
and in dmesg
:
[ 558.025108] bcmdhd: Unknown symbol cfg80211_inform_bss_frame_data (err 0)
[ 558.025123] bcmdhd: Unknown symbol cfg80211_sched_scan_results (err 0)
[ 558.025277] bcmdhd: Unknown symbol cfg80211_scan_done (err 0)
[ 558.025380] bcmdhd: Unknown symbol cfg80211_remain_on_channel_expired (err 0)
[ 558.025483] bcmdhd: Unknown symbol cfg80211_find_ie_match (err 0)
[ 558.025506] bcmdhd: Unknown symbol cfg80211_new_sta (err 0)
[ 558.025546] bcmdhd: Unknown symbol cfg80211_disconnected (err 0)
[ 558.025588] bcmdhd: Unknown symbol wiphy_new_nm (err 0)
[ 558.025595] bcmdhd: Unknown symbol cfg80211_connect_bss (err 0)
[ 558.025607] bcmdhd: Unknown symbol cfg80211_ready_on_channel (err 0)
[ 558.025651] bcmdhd: Unknown symbol wiphy_register (err 0)
[ 558.025659] bcmdhd: Unknown symbol __cfg80211_alloc_reply_skb (err 0)
[ 558.025677] bcmdhd: Unknown symbol cfg80211_put_bss (err 0)
[ 558.025683] bcmdhd: Unknown symbol cfg80211_roamed (err 0)
[ 558.025690] bcmdhd: Unknown symbol cfg80211_ch_switch_notify (err 0)
[ 558.025727] bcmdhd: Unknown symbol __cfg80211_send_event_skb (err 0)
[ 558.025760] bcmdhd: Unknown symbol cfg80211_ibss_joined (err 0)
[ 558.025885] bcmdhd: Unknown symbol cfg80211_michael_mic_failure (err 0)
[ 558.025897] bcmdhd: Unknown symbol wiphy_apply_custom_regulatory (err 0)
[ 558.025946] bcmdhd: Unknown symbol cfg80211_del_sta_sinfo (err 0)
[ 558.025972] bcmdhd: Unknown symbol wiphy_unregister (err 0)
[ 558.026016] bcmdhd: Unknown symbol cfg80211_get_bss (err 0)
[ 558.026031] bcmdhd: Unknown symbol __ieee80211_get_channel (err 0)
[ 558.026043] bcmdhd: Unknown symbol cfg80211_vendor_cmd_reply (err 0)
[ 558.026092] bcmdhd: Unknown symbol cfg80211_mgmt_tx_status (err 0)
[ 558.026135] bcmdhd: Unknown symbol cfg80211_unregister_wdev (err 0)
[ 558.026145] bcmdhd: Unknown symbol __cfg80211_alloc_event_net_skb (err 0)
[ 558.026173] bcmdhd: Unknown symbol ieee80211_channel_to_frequency (err 0)
[ 558.026181] bcmdhd: Unknown symbol cfg80211_rx_mgmt (err 0)
[ 558.026222] bcmdhd: Unknown symbol cfg80211_chandef_create (err 0)
[ 558.026241] bcmdhd: Unknown symbol ieee80211_frequency_to_channel (err 0)
[ 558.026268] bcmdhd: Unknown symbol cfg80211_unlink_bss (err 0)
[ 558.026276] bcmdhd: Unknown symbol wiphy_free (err 0)
How can I fix this error?
Sorry for the late response.
Is this still an issue to support? Any result can be shared?
I’m still working on it. Unfortunately, it is still issue and I not yet have any solution.
I inserted to the file “Linux_for_Tegra/source/public/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-porg-p3448-common.dtsi”
sdhci@700b0400 { /* SDMMC3 for wifi */
status = "okay";
nvidia,clock-always-on;
nvidia,disable-rtpm;
nvidia,vqmmc-always-on;
nvidia,vmmc-always-on;
keep-power-in-suspend;
nvidia,is-sdio;
ignore-pm-notify;
pm-ignore-notify;
non-removable;
no-1-8-v;
wifi-host;
enable-sdio-wakeup;
power-off-rail;
force-non-removable-rescan;
mmc-ddr-1_8v;
mmc-ocr-mask = <3>;
uhs-mask = <0x0>;
tap-delay = <3>;
};
lines. And got
jetson@rover:~$ dmesg |grep mmc
[ 0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 gpt tegra_fbmem=0x800000@0x92cb4000 is_hdmi_initialised=1 earlycon=uart8250,mmio32,0x70006000 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[ 0.604860] vddio-sdmmc-ap: 1800 <--> 3300 mV at 3300 mV
[ 0.612246] vddio-sdmmc3-ap: 1800 <--> 3300 mV at 3300 mV
[ 0.633838] tegra210_dvfs: no clock found for sdmmc2_ddr
[ 0.633860] tegra210_dvfs: no clock found for sdmmc4_ddr
[ 0.633908] tegra210_dvfs: no clock found for sdmmc1_ddr
[ 0.633923] tegra210_dvfs: no clock found for sdmmc3_ddr
[ 1.466014] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[ 1.478019] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr
[ 1.518343] mmc0: new HS400 Enhanced strobe MMC card at address 0001
[ 1.519080] mmcblk0: mmc0:0001 DG4016 14.7 GiB
[ 1.519224] mmcblk0boot0: mmc0:0001 DG4016 partition 1 4.00 MiB
[ 1.519341] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[ 1.523490] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB
[ 1.526154] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[ 1.577051] mmcblk mmc0:0001: Card claimed for testing.
[ 1.689550] Root device found: mmcblk0p1
[ 1.690995] Found dev node: /dev/mmcblk0p1
[ 1.711628] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 1.713511] Rootfs mounted over mmcblk0p1
[ 2.079390] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[ 31.872192] vddio-sdmmc-ap: disabling
I need to switch mmc1 to SDIO mode not SDHCI. Is it possible to switch mmc1 to SDIO?
I have attached my dmesg.
The main question is how to enable Wi-Fi on the sdhci@700b0400
?
The second problem: I can’t see mmc1
in the dmesg
. Instead there is
jetson@rover:~$ dmesg | grep mmc1
[ 0.630959] tegra210_dvfs: no clock found for sdmmc1_ddr
and
jetson@rover:~$ dmesg | grep sdhci
[ 0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 gpt tegra_fbmem=0x800000@0x92cb4000 is_hdmi_initialised=1 earlycon=uart8250,mmio32,0x70006000 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[ 0.520743] iommu: Adding device sdhci-tegra.3 to group 31
[ 0.520798] platform sdhci-tegra.3: domain= (ptrval) allocates as[0]= (ptrval)
[ 0.521466] OF: /sdhci@700b0400: could not get #iommu-cells for /clock@70110000
[ 0.521610] OF: /sdhci@700b0400: could not get #iommu-cells for /clock@70110000
[ 1.427864] sdhci: Secure Digital Host Controller Interface driver
[ 1.427867] sdhci: Copyright(c) Pierre Ossman
[ 1.427869] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.428232] sdhci-tegra sdhci-tegra.3: Client registration for eMC Successful
[ 1.429404] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 1.475275] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[ 1.522851] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 1.525406] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 1.550648] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 1.562232] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 2.228334] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 2.517541] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 2.685276] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 2.686547] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
[ 2.687016] sdhci-tegra sdhci-tegra.2: could not find pctldev for node /xusb_padctl@7009f000/pads/pcie/lanes/pcie-4, deferring probe
Is “OF: /sdhci@700b0400: could not get #iommu-cells for /clock@70110000” and “OF: /sdhci@700b0400: could not get #iommu-cells for /clock@70110000” critical or not?
dmesg.txt (55.8 KB)
tegra210-porg-p3448-common.txt (25.1 KB)
please check
I tried to set “Linux_for_Tegra/source/public/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-porg-p3448-common.dtsi” to
sdhci@700b0400 { /* SDMMC3 for EMMC */
status = "disabled";
/delete-property/ keep-power-in-suspend;
/delete-property/ non-removable;
mmc-ddr-1_8v;
mmc-ocr-mask = <3>;
uhs-mask = <0x0>;
tap-delay = <3>;
};
dmesg
:
jetson@rover:~$ dmesg | grep mmc
[ 0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 gpt earlycon=uart8250,mmio32,0x70006000 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[ 0.592900] vddio-sdmmc-ap: 1800 <--> 3300 mV at 3300 mV
[ 0.600275] vddio-sdmmc3-ap: 1800 <--> 3300 mV at 2800 mV
[ 0.621835] tegra210_dvfs: no clock found for sdmmc2_ddr
[ 0.621852] tegra210_dvfs: no clock found for sdmmc4_ddr
[ 0.621907] tegra210_dvfs: no clock found for sdmmc1_ddr
[ 0.621924] tegra210_dvfs: no clock found for sdmmc3_ddr
[ 2.011089] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[ 2.064523] mmc0: new HS400 Enhanced strobe MMC card at address 0001
[ 2.068878] mmcblk0: mmc0:0001 DG4016 14.7 GiB
[ 2.073030] mmcblk0boot0: mmc0:0001 DG4016 partition 1 4.00 MiB
[ 2.077154] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[ 2.077290] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB
[ 2.079767] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[ 2.109786] mmcblk mmc0:0001: Card claimed for testing.
[ 2.139861] Root device found: mmcblk0p1
[ 2.141320] Found dev node: /dev/mmcblk0p1
[ 2.164392] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 2.166235] Rootfs mounted over mmcblk0p1
[ 2.527974] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[ 33.917797] vddio-sdmmc-ap: disabling
[ 33.918486] vddio-sdmmc3-ap: disabling
Next try:
sdhci@700b0400 { /* SDMMC3 for EMMC */
status = "okay";
/delete-property/ keep-power-in-suspend;
/delete-property/ non-removable;
mmc-ddr-1_8v;
mmc-ocr-mask = <3>;
uhs-mask = <0x0>;
tap-delay = <3>;
};
and dmesg
:
jetson@rover:~$ dmesg | grep mmc
[ 0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 gpt earlycon=uart8250,mmio32,0x70006000 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[ 0.601722] vddio-sdmmc-ap: 1800 <--> 3300 mV at 3300 mV
[ 0.609100] vddio-sdmmc3-ap: 1800 <--> 3300 mV at 2800 mV
[ 0.630732] tegra210_dvfs: no clock found for sdmmc2_ddr
[ 0.630751] tegra210_dvfs: no clock found for sdmmc4_ddr
[ 0.630807] tegra210_dvfs: no clock found for sdmmc1_ddr
[ 0.630824] tegra210_dvfs: no clock found for sdmmc3_ddr
[ 1.951057] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[ 1.959083] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr
[ 2.003291] mmc0: new HS400 Enhanced strobe MMC card at address 0001
[ 2.003669] mmcblk0: mmc0:0001 DG4016 14.7 GiB
[ 2.003892] mmcblk0boot0: mmc0:0001 DG4016 partition 1 4.00 MiB
[ 2.004053] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[ 2.004162] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB
[ 2.006598] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[ 2.056305] mmcblk mmc0:0001: Card claimed for testing.
[ 2.088502] Root device found: mmcblk0p1
[ 2.089939] Found dev node: /dev/mmcblk0p1
[ 2.111962] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 2.113790] Rootfs mounted over mmcblk0p1
[ 2.460830] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[ 33.915293] vddio-sdmmc-ap: disabling
There is " mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr".
Then I tried:
sdhci@700b0400 { /* SDMMC3 for EMMC */
uhs-mask = <0x8>;
power-off-rail;
force-non-removable-rescan;
status = "okay";
};
dmesg
dmesg.txt (54.3 KB)
contains:
[ 1.129290] tegra-pmc-iopower pmc-iopower: Regulator supply iopower-dbg-supply not available
[ 1.632154] Host read timeout at address 545c00c4
[ 1.632739] tegra-pmc-iopower pmc-iopower: NO_IOPOWER setting 0x0
Hi,
Actually the basic question here is not asking someone to guide you at this moment.
The issue here is does the device tree really match to your hardware design? We are not talking about you just keep trying A,B,C,D or any posts from anyone else. You have to tell others about your hardware design. Otherwise no one can provide the correct device tree.
Also, do you have enough knowledge to check the device tree by yourself or not? I am not sure how many things we need to teach you here.
For example, your partial device tree does not matter to me at all. You should dump out the full runtime device tree but not some partial code.
And one last point, it seems you don’t know what to check from dmesg. You can just attach the full log and no need to grep or parse anything from you.
Thank you for your answer!
I’m a novice at device tree/kernel modifying/etc.
Our Wi-Fi connection scheme.
WL_REG_ON_18 connected to the Jetson Nano’s 218 pin.
SD_DAT0_18 — 219 pin.
SD_DAT1_18 — 221 pin.
SD_DAT2_18 — 223 pin.
SD_DAT3_18 — 225 pin.
SD_CMD_18 — 227 pin.
SD_CLK_18 — 229 pin.
My device-tree file:
tegra210-p3448-0002-p3449-0000-b00.txt (324.2 KB)
You need to write a regulator based on your schematic and give that regulator to the vmmc-supply.
For example, WL_REG_ON_18 connected to the Jetson Nano’s 218 pin.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.