Hello,
I work with a custom carrier-board able to accept either TX1 or TX2 jetson modules. With a TX1
module I can access a SSD module connected to the SATA bus. With a TX2 module, the SSD is not
discovered by the kernel.
Some background : in order to be able to simply replace my dtb by loading a file in /boot, instead of reflashing which would be impossible for remote unattended installations, I use the jetpack 3.0 installer although I use the l4t 28.2 rootfs and my 28.2-based kernel and dtb.
The method I use is the following :
cd ~/jetpack30/64_TX2/Linux_for_Tegra_tx2
LINUX=/path/to/my/Image
FDT=/path/to/my/dtb
ROOTFS=~/jetpack33/64_TX2/Linux_for_Tegra/rootfs
RTCPUFW=~/jetpack33/64_TX2/Linux_for_Tegra/bootloader/camera-rtcpu-sce.bin
SPEFW=~/jetpack33/64_TX2/Linux_for_Tegra/bootloader/spe.bin
# Do not use the '-K' option; '-K' option replaces u-boot, not Image, by
# '-K's argument !!!
sudo DFLT_KERNEL_FS=${LINUX} SCEFILE=${RTCPUFW} SPEFILE=${SPEFW} ./flash.sh -d ${FDT} -R ${ROOTFS} jetson-tx2 mmcblk0p1
When logged into the TX2 board, I can see in /proc/device-tree a node called ‘enable-sata-on-uphy-lane5’ with value ‘1’, which does not come from my dtb, but despite of that, my SATA device is not discovered. I find no reference to that device-tree node ‘enable-sata-on-uphy-lane5’ in the kernel sources, but I can find this string in the binaries ‘nvtboot.bin’ and ‘cboot.bin’. Which part of the boot process is responsible to activate SATA on uphy lane 5 (which seems to be the default configuration) ? and why is that not done in the kernel like for the TX1 with ‘pinctrl-tegra21x-padctl-uphy.c’ ?