Xzz
1
I have config sdmmc3 in the dts to support sdcard,
and it was worked success.
[ 34.138001] vdd_sys_en: disabling
[ 92.886655] mmc1: host does not support reading read-only switch, assuming write-enable
[ 93.027609] mmc1: hw tuning done ...
[ 93.027655] mmc1: new ultra high speed SDR104 SDHC card at address aaaa
[ 93.028230] mmcblk1: mmc1:aaaa SC32G 29.7 GiB
[ 93.034306] GPT:last_usable_lbas don't match.
[ 93.034417] GPT:62333887 != 62333918
[ 93.034479] GPT:partition_entry_array_crc32 values don't match: 0x810a376f != 0x96a6f8db
[ 93.034603] GPT: Use GNU Parted to correct GPT errors.
[ 93.034714] mmcblk1: p1 p2 p3 p4 p5
[ 120.564398] mmc1: Disabling vmmc regulator
[ 120.564532] mmc1: card aaaa removed
[ 121.721158] mmc1: Enabling vmmc regulator
[ 134.118753] mmc1: host does not support reading read-only switch, assuming write-enable
[ 134.259397] mmc1: hw tuning done ...
[ 134.259438] mmc1: new ultra high speed SDR104 SDHC card at address aaaa
[ 134.260804] mmcblk1: mmc1:aaaa SC32G 29.7 GiB
[ 134.268788] GPT:last_usable_lbas don't match.
[ 134.268911] GPT:62333887 != 62333918
[ 134.268978] GPT:partition_entry_array_crc32 values don't match: 0x810a376f != 0x96a6f8db
[ 134.269107] GPT: Use GNU Parted to correct GPT errors.
[ 134.269214] mmcblk1: p1 p2 p3 p4 p5
[ 147.259279] mmc1: Disabling vmmc regulator
[ 147.259433] mmc1: card aaaa removed
[ 148.400898] mmc1: Enabling vmmc regulator
but when I try to use another sdcard,it was failed.
log is below :
dmesg_sdcard_failed.log (254.8 KB)
please try to format all the cards to ext4 and try again.
Xzz
4
thank you for reply!
I 'll try it soon.
Xzz
5
I change the format to EXT4, but the same error happened again.
this is the method how I switch the format
sudo umount /dev/sde
sudo mkfs.ext4 /dev/sde
Do you have AGX Xavier devkit that can reproduce this issue?
Xzz
7
This is a nice direction, I never think it bofore.
I will try it tomorrow, thx u!
Xzz
8
my devkit is Jetson Xavier Nx , it doesn’ t have a sdcard slot on carried board but on the SOM.
Do we have another method?
I said Xavier AGX devkit…
Xzz
10
our machine structure is Jetson Xavier Nx SOM + cusomer carried board .
I’m not sure if we can flash Xavier AGX devkit in it.
No, I mean go get one AGX Xavier devkit and see if you can reproduce this on that…
What device tree change did you update for your carrier board?
And do you have schematic to share?
Xzz
13
ohhh… I’m sorry for misunderstanding!!
I dont have a AGX Xavier devkit.
this is my change:
diff --git a/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi b/hardware/nvidia/platform/t19x/jakku/kernel-dts/commo
n/tegra194-fixed-regulator-p3668.dtsi
index 221cb168c..8de8a9c73 100644
--- a/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
+++ b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
@@ -35,6 +35,18 @@
enable-active-high;
};
+ //add by xiaoz regulator sdmmc3 control
+ p3668_vdd_sdmmc3_sw: regulator@108 {
+ compatible = "regulator-fixed";
+ reg = <108>;
+ regulator-name = "vdd-sdmmc3-sw";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ //VCC3V3_SD #267
+ gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 3) 0>;
+ enable-active-high;
+ };
+
p3668_vdd_1v8_sd: regulator@104 {
compatible = "regulator-fixed";
reg = <104>;
diff --git a/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
index 05da4e3ac..64721d0a3 100644
--- a/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
+++ b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
@@ -299,6 +298,18 @@
vmmc-supply = <&p3668_vdd_sdmmc1_sw>;
status = "okay";
};
+
+ //add by xiaoz enable sdmmc3 to support SD-card
+ sdhci_sd3: sdhci@3440000 {
+ mmc-ocr-mask = <0x0>;
+ cd-inverted;
+ cd-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Z, 5) 0>;
+ nvidia,cd-wakeup-capable;
+ mmc-ocr-mask = <0>;
+ cd-inverted;
+ vmmc-supply = <&p3668_vdd_sdmmc3_sw>;
+ status = "okay";
+ };
mipical@3990000 {
status = "okay";
diff --git a/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-power-tree-p3668.dtsi b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-power-tree-p3668.dtsi
index 6f62ee7b8..77467b373 100644
--- a/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-power-tree-p3668.dtsi
+++ b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-power-tree-p3668.dtsi
@@ -27,6 +27,11 @@
vmmc-supply = <&p3668_vdd_sdmmc1_sw>;
};
+ //add by xiaoz sdmmc3 support SD-card
+ sdhci@3440000 {
+ vmmc-supply = <&p3668_vdd_sdmmc3_sw>;
+ };
+
ether_qos@2490000 {
vddio_sys_enet_bias-supply = <&battery_reg>;
vddio_enet-supply = <&battery_reg>;
Do you have schematic to share?
Xzz
16
Hi, WayneWWW,
do u have any suggestion?
Could you share the schematic that has every pin in use here?
Xzz
18
please check it
23-0321 sdcard.rar (253.3 KB)
Could you measure the 3v3 is really enabled by the EN pin when you plug in the sdcard?
Xzz
21
before I plug in the sdcard, 3v3 is always high.
after I unplug the sdcard,3v3 is being pulled low and high in a short time
Xzz
22
so I can make sure that 3v3 is really controlled.
and this is the plug sdcard and success log.
[ 762.478752] mmc1: host does not support reading read-only switch, assuming write-enable
[ 762.624922] GPT:last_usable_lbas don't match.
[ 762.625045] GPT:62333887 != 62333918
[ 762.625112] GPT:partition_entry_array_crc32 values don't match: 0x810a376f != 0x96a6f8db
[ 762.625263] GPT: Use GNU Parted to correct GPT errors.
root@tegra-ubuntu:~#
root@tegra-ubuntu:~# fdisk -l
...
Disk /dev/mmcblk1: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 23000000-0000-4C4A-8000-699000005ABB
Device Start End Sectors Size Type
/dev/mmcblk1p1 16384 24575 8192 4M unknown
/dev/mmcblk1p2 24576 32767 8192 4M unknown
/dev/mmcblk1p3 32768 98303 65536 32M unknown
/dev/mmcblk1p4 98304 163839 65536 32M unknown
/dev/mmcblk1p5 237568 62333887 62096320 29.6G unknown