Device tree modification to disable SATA and DevKit camera?

Hello,

I’m trying to save some power by disabling the functionality of TX2 module I’m not using, and I’m assuming there’re some clocks I can disable? I’m not using DevKit camera, SATA wi-fi and bluetooth, can you show how they can be disabled in the device tree? Anything else I can disable to save some power?

-albertr

hello albertr,

there’s status in your device tree to indicate your driver status.
you could simply disassembler the dtb file into txt file to take a look.

for example,

dtc -I dtb -O dts -o temp.txt tegra186.dtb

moreover,
may i know what’s your use-case about power saving?
thanks

Hi JerryChang,

I do have device tree, that’s what I’m looking to make modifications to. I just don’t know what to look for and was hoping someone can guide me in the right direction…

The reason is: We are using the TX2 module with Auvidea J120 carrier board and the same TX2 runs much hotter in J120 comparing to DevKit board. Everything is the same, the only difference is the carrier board itself. For instance, with idle load and at ambient temperature with fan off, TX2 averages around 36C (cpu core temperature) in DevKit board. If I put the same TX2 module in J120 board, under the same load and at the same ambient temperature cpu core temp raises to over 50C at which point I have to turn on active cooling.
The J120 board itself doesn’t radiate the heat, all the heat comes from TX2 module itself. We are planning to use TX2 with Auvidea J120 carrier board in battery powered application and we are obviously concerned with power drain and would like to eliminate it.
So my thinking (please correct me if I’m wrong) is to try to disable any possible power drain sources and see it it would help. Auvidea’s board doesn’t have SATA and DevKit camera, so these are the first on my list to disable. Anything else I need to consider?

Here’s my power regulators when using Auvidea J120 board:

root@tx2:/sys/kernel/debug/tegra_fan# cat /sys/class/regulator/regulator.*/name
regulator-dummy
vddio-sdmmc1
vdd-rtc
avdd-ts-hv
spmic-ldo6
vdd-pex-1v05
dvdd-pex
en-vdd-sd
vdd-usb0-5v
vdd-usb1-5v
vdd-fan
vdd-ac-bat
vdd-3v3
en-vdd-vcm-2v8
vdd-sys-bl
vdd-1v8-ap
vddio-ddr
avdd_dsi_csi
vdd-1v8
vdd-3v3-sys
spmic-ldo0
spmic-ldo1
vddio-3v3
root@tx2:/sys/kernel/debug/tegra_fan#

Let me know what do you think…

-albertr

hello albertr,

please refer to the [Release 28.1 Development Guide]-> [Power Management for TX2 Devices] chapter for more details.
thanks

Hi JerryChang,

Can you provide a link where I can download this documentation? Searching Jetson Download Center didn’t find it…

https://developer.nvidia.com/embedded/downloads#?search=Debelopment

-albertr

@JerryChang, I cannot find the document you were referencing to ([Release 28.1 Development Guide]-> [Power Management for TX2 Devices]). A direct link would be much appreciated.

-albertr

hello albertr,

you can simply use 28.1 keyword to search all related documentations.
please check release 28.1 development guide here: https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-1

Thanks, Jerry. I read it, however I didn’t find any info on how to turn off clocks (and/or disable power regulators) for SATA or DevKit camera in there… any help would be appreciated.

-albertr

hello albertr,

please check below kernel source code as an example.
r28.1_sources/kernel-dts/t18x-common-plugin-manager/tegra186-quill-camera-plugin-manager.dtsi

you’re able to disable camera module by settings the status to “disabled”
thanks

Jerry, thanks. These are rather large files with many dozens of different device nodes in there… Which specific one you are suggesting me to disable?

Maybe instead of disabling I can exclude both of the following files from my device tree (tegra186-quill-camera-modules.dtsi and tegra186-quill-camera-plugin-manager.dtsi)? Would it thereby effectively disable the DevKit camera or it might break something else?

root@tx2:/usr/src/hardware/nvidia/platform/t18x# ls -la common/kernel-dts/t18x-common-platforms/tegra186-quill-camera-modules.dtsi
-rw-rw-r-- 1 nvidia nvidia 7626 Jul 20  2017 common/kernel-dts/t18x-common-platforms/tegra186-quill-camera-modules.dtsi
root@tx2:/usr/src/hardware/nvidia/platform/t18x# ls -la common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-camera-plugin-manager.dtsi
-rw-rw-r-- 1 nvidia nvidia 39963 Jul 20  2017 common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-camera-plugin-manager.dtsi
root@tx2:/usr/src/hardware/nvidia/platform/t18x#

-albertr

hello albertr,

the convenient way would be exclude camera related dtsi from the TX2’s base device tree.
please check

sources/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts

thanks

Thanks, Jerry.

Can you also let me know how can I disable SATA/AHCI controller?

Also, what vddio-sdmmc1 is responsible for? Is it dedicated to mmc1 (Broadcom SDIO WiFi/bluetooth card)? If so, can it be disabled without impacting anything else beside Broadcom radio?

[    2.579164] mmc1: SDHCI controller on 3440000.sdhci [3440000.sdhci] using ADMA 64-bit with 64 bit addr

-albertr

hello albertr,

you could disassembler the dtb file into txt file for checking.
bcmdhd_wlan is using the sdhci-host, hence disable the sdhci@3440000 won’t impacting it.
thanks