nvidia,vmmc-always-on added and still not working. I tried again the hotplug and there is no newline.
dmesg.txt (64.5 KB)
tegra210.dts (327.0 KB)
nvidia,vmmc-always-on added and still not working. I tried again the hotplug and there is no newline.
dmesg.txt (64.5 KB)
tegra210.dts (327.0 KB)
Can you check the node /proc/device-tree on your device and see if all these sdhci properties are there?
Please also make sure these properties are there.
It seems missing in your DT.
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
no-sdio;
no-mmc;
Hi, sorry for the delay in replying.
I added those properties and it’s still not working. I checked the node /proc/device-tree, here is the ls output:
aconnect@702c0000
actmon@6000c800
#address-cells
adma@702e2000
adsp_audio
agic-controller
ahb@6000c000
ahub
aliases
apbmisc@70000800
arm-pmu
bpmp
bthrot_cdev
bwmgr
camera-pcl
cam_i2cmux
chosen
clock
clock@70110000
compatible
core_dvfs_cdev_cap
core_dvfs_cdev_floor
cpu_edp
cpufreq
cpuidle
cpus
cpu-throttle-alert
dfll-cdev-cap
dfll-cdev-floor
dfll-max77621@70110000
dma@60020000
dma_test
dtv@7000c300
dummy-cool-dev
dvfs
dvfs_rails
eeprom-manager
efuse@7000f800
extcon
external-memory-controller@7001b000
flow-controller@60007000
gpio@6000d000
gpio-keys
gpio-timed-keys
gps_wake
gpu
gpu-dvfs-rework
gpu_edp
gpu-throttle-alert
hda@70030000
host1x
hot-surface-alert
i2c@7000c000
i2c@7000c400
i2c@7000c500
i2c@7000c700
i2c@7000d000
i2c@7000d100
interrupt-controller
interrupt-controller@60004000
interrupt-parent
iommu
kfuse@7000fc00
leds
lens_imx219@RBPCV2
mailbox@70098000
max16984-cdp
mc
memory@80000000
memory-controller@70019000
mipical
model
modem
mods-simple-bus
mselect
name
nvdumper
nvidia,boardids
nvidia,dtbbuildtime
nvidia,dtsfilename
nvidia,fastboot-usb-pid
nvidia,pmu-boardid
nvidia,proc-boardid
nvpmodel
pcie@1003000
pfsd
pinctrl@7009f000
pinmux@700008d4
plugin-manager
pmc@7000e400
pmc-iopower
power-domain
psci
psy_extcon_xudc
ptm
pwm@7000a000
pwm@70110000
pwm-fan
pwm_regulators
r8168
regulators
reserved-memory
rollback-protection
rtc
sata@70020000
sdhci@700b0000
sdhci@700b0200
sdhci@700b0400
sdhci@700b0600
se@70012000
serial@70006000
serial@70006040
serial@70006200
serial@70006300
serial-number
#size-cells
smmu_test
smp-custom-ipi
soctherm@0x700E2000
soft_watchdog
sound
sound_ref
spdif-dit.0@0
spdif-dit.1@1
spdif-dit.2@2
spdif-dit.3@3
spdif-dit.4@4
spdif-dit.5@5
spdif-dit.6@6
spdif-dit.7@7
spi@7000d400
spi@7000d600
spi@7000d800
spi@7000da00
spi@70410000
__symbols__
tegra-aotag
tegra-camera-platform
tegra-carveouts
tegra_cec
tegra_fiq_debugger
tegra-pmc-blink-pwm
tegra-supply-tests
tegra_udrm
tfesd
thermal-fan-est
thermal-zones
timer
timer@60005000
tlk
trusty
usb_cd
watchdog@60005100
xotg
xudc@700d0000
xusb@70090000
xusb_padctl@7009f000
tegra210.dts (327.1 KB)
dmesg.txt (63.9 KB)
Hi,
Can you try to think about why I am asking you to check in /proc/device-tree by yourself? It is not just asking you to paste /proc/devcie-tree to me…
please also try vmmc-supply to vdd-3v3-sd
vmmc-supply to vdd-3v3-sd is something that you already told me right? And I added vmmc-supply = <&p3448_vdd_3v3_sys>;
to the dts. Wasn’t that all I had to do?
I looked into /proc/device-tree and I’m not sure what I should pay attention to. In sdhci@700b0400 I see everything I’ve been adding to the dts files.
I’m not an expert here.
p3448_vdd_3v3_sys and vdd-3v3-sd are two different regulator.
/proc/device-tree is the actual device tree your board is using now.
Thus, compare the content inside it with your dts and make sure everything is same as the dts.
I mean you need to check the sdhci node under /proc/device-tree and make sure every of the properties there matches your dts.
I added vmmc-supply = <&vdd-3v3-sd>;
in the sdhci node and it gave me the next error:
DTC arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a00.dtb
Error: /home/mj/Descargas/Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-porg-p3448-common.dtsi:291.22-23 syntax error
FATAL ERROR: Unable to parse input tree
/home/mj/Descargas/Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/boot/dts/Makefile:120: fallo en las instrucciones para el objetivo 'arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a00.dtb'
make[2]: *** [arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a00.dtb] Error 1
make[2]: *** Se espera a que terminen otras tareas....
arch/arm64/Makefile:154: fallo en las instrucciones para el objetivo 'dtbs'
make[1]: *** [dtbs] Error 2
make[1]: se sale del directorio '/home/mj/Descargas/Test_Tegra_1'
Makefile:171: fallo en las instrucciones para el objetivo 'sub-make'
make: *** [sub-make] Error 2
I saw this post
And also tried with vmmc-supply = <&vdd_3v3>;
but it also gave me an error:
ERROR (phandle_references): Reference to non-existent node or label "vdd_3v3_sd"
ERROR: Input tree has errors, aborting (use -f to force output)
/home/mj/Descargas/Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/boot/dts/Makefile:120: fallo en las instrucciones para el objetivo 'arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a00.dtb'
make[2]: *** [arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a00.dtb] Error 2
arch/arm64/Makefile:154: fallo en las instrucciones para el objetivo 'dtbs'
make[1]: *** [dtbs] Error 2
How do I set vmmc-supply to vdd-3v3-sd?
vdd_3v3_sd is not the precise name. I don’t have the device tree to check now.
You can search your dts to find it. It is just the next regulator after p3448_vdd_3v3_sys .
If changing the regulator does not work, then it is not software side problem.
Okay, I found the regulator’s name and I added it to the dts file. Still not working.
I looked into the /proc/device-tree and it seems everything is fine. Also, I checked the status of all sdhci and sdhci@700b0600 it’s “okay”, should it be like that or should I changed it to disabled?
In the dmesg I found this line:
vdd-3v3-sd: disabling
Shouldn’t it be “enabled” after the modification I made?
And just to be sure, what format is the correct one for the sd card?
Sorry, I forgot to add the dmesg and dts.
dmesg.txt (63.4 KB)
tegra210-p.dts (327.1 KB)
Hi,
We are debugging sdhci@700b0400 but not sdhci@700b0600…
Yes, everything is fine in sdhci@700b0400. I was just asking to be sure I don’t have to make any other changes to the others.
The number after “@” is just the register address in the jetson nano and it is following the order of your hardware pin.
For example,
SDMMC3 is mapping to sdhci@700b0400
SDMMC4 Is mapping to sdhci@700b0600.
These two are not affecting each other. SDMMC4 has other device (emmc) running on it. Thus, do not change anything on it unless you want the board fails to boot.
For your current case, I guess it is a hardware problem rather than a software one…
The regulator goes into disabled state because no driver needs to use that, so it goes power saving…
Which means your sdmmc3 pin may be not powered on at all…
Ok, thanks for the explanation. We will check the hardware.
Hi,
There is one thing that seems no change. Your “SD_VDD_EN” is connected to GPIO9.
But the GPIO in vdd-3v3-sd is GPIO Z,4 by default. If you don’t change it, then it is also wrong. Thus, please change it to gpio9 (pin BB0).
Hi,
I added the gpio in vdd-3v3-sd, in /hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-fixed-p3448-0000-a00.dtsi
p3448_vdd_3v3_sd: regulator@3 {
compatible = "regulator-fixed-sync";
reg = <3>;
regulator-name = "vdd-3v3-sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
//gpio = <&gpio TEGRA_GPIO(Z, 3) 0>;
gpio = <&gpio TEGRA_GPIO(BB, 0) 0>;
enable-active-high;
regulator-boot-on;
vin-supply = <&p3448_vdd_3v3_sys>;
};
And still not working.
dmesg.txt (79.7 KB)
tegra210-p.dts (327.1 KB)
Did you remember to configure the pinmux of your gpio? Especially the cd-gpio and the gpio9 for your power control.