Hi quite a few posts regarding enabling PCIE power:
This post is meant for anyone who is struggling to get it done. This is how I have enabled power to my PCIE port .
1.) Go to this website Jetson Linux 34.1 | NVIDIA Developer and download L4T Driver Package (BSP) Sources and extract them:
tar -xvf public_sources.tbz2
cd Linux_for_Tegra/source/public
tar –xjf kernel_src.tbz2
2.) The provided patch was only a guide for me on what to change. I went directly to the said folders and changed the needed parameters:
2.1) Find the file tegra234-p3737-fixed-regulator.dtsi
, it is in ./Linux_for_Tegra/source/public/hardware/nvidia/platform/t23x/concord/kernel-dts/cvb
Open it and find this entries:
- p3737_vdd_3v3_pcie: regulator@105
- Remove the flag “regulator-boot-on” and change the pin to TEGRA234_MAIN_GPIO(H, 4)
- p3737_vdd_12v_pcie: regulator@114
- Remove the flag “regulator-boot-on”
2.2) Find the file tegra234-p3737-pcie.dtsi
, it is in ./Linux_for_Tegra/source/public/hardware/nvidia/platform/t23x/concord/kernel-dts/cvb
Open it and find this entry:
pcie_ep@141a0000
- Replace the
nvidia,refclk-select-gpios = <&tegra_aon_gpio TEGRA234_AON_GPIO(AA, 4) GPIO_ACTIVE_HIGH>;
with the
nvidia,refclk-select-gpios = <&tegra_main_gpio TEGRA234_MAIN_GPIO(Q, 4) GPIO_ACTIVE_HIGH>;
3.) Build the kernel following this guide you can do this directly on Orin if your main computer is slow.
4.) After building go in the kernel_out and find the file tegra234-p3701-0000-p3737-0000.dtb and save it somewhere(USB, mail…)
5.) If you have done the building on the Orin move the tegra234-p3701-0000-p3737-0000.dtb to the PC running native Linux, in my findings the virtual machines don’t work. Make a fresh Orin install. I haven’t done the next step on older(not fresh) Orin install but I don’t see why it shouldn’t work.
6.) Boot the Orin and login in. Copy the built file tegra234-p3701-0000-p3737-0000.dtb to the /boot/dtb. Edit the /boot/extlinux/extlinux.conf - Change the path under FDT to /boot/dtb/tegra234-p3701-0000-p3737-0000.dtb
7.) Reboot and it should work
I have attached my tegra234-p3701-0000-p3737-0000.dtb, I am not sure if this file is compatible with all the Orins. If somebody tries this, please let it known
tegra234-p3701-0000-p3737-0000.dtb (300.2 KB)
Take this guide with a grain of salt, I am nowhere close to being good at Linux. I hope I haven’t missed a step or made a big mistake. This procedure worked for me flawlessly.
I hope this guide saves someone precious hours/days