Using Sata Disk To Boot | Jetpack 4.6 rev2

Hello!

I have a Xavier NX prod module running on a custom carrier board with a mSata port, 512 GB Kingston mSata SSD disk is attached.

I want to boot Xavier NX on SSD. I flashed Jetpack 4.6 rev2 on SSD by using this command at L4T root:

./nvautoflash.sh --storage sda

It created 11 partitions and write data on SSD but NX doesn’t boot from it, it boots from eMMC instead.
I connected to debug console and saw there is a boot order. But there is no option for SATA discs.
SATA disc connects to NX over Marvell 88SE9170 IC which is connected to PCIE0 pins of NX.

I tried to set “boot-order” variable in Cboot as:

TEGRA194 # setvar boot-order nvme:pcie@141a0000 emmc usb sd net
TEGRA194 # printvar boot-order
I> boot-dev-order :-
I> 1.nvme:pcie@141a0000
I> 2.emmc
I> 3.usb
I> 4.sd
I> 5.net
TEGRA194 # boot

But it didnt help, this is the output:

TEGRA194 # setvar boot-order nvme:pcie@141a0000 emmc usb sd net
TEGRA194 # printvar boot-order
I> boot-dev-order :-
I> 1.nvme:pcie@141a0000
I> 2.emmc
I> 3.usb
I> 4.sd
I> 5.net
TEGRA194 # boot
I> found decompressor handler: lz4-legacy
I> decompressing BMP blob ...
I> Kernel type = Normal
I> tegrabl_get_pcie_ctrl_nums: found ctrl_num=5
I> ########## NVME (5) boot ##########
I> Initializing nvme device instance 5
I> Initializing nvme controller
I> tegrabl_locate_pcie_ctrl_in_dt: found match at 0x141a0000
I> vpcie3v3-supply not found
I> vpcie12v-supply not found
W> Failed to get nvidia,plat-gpios
I> tegrabl_pcie_soc_preinit: (5):
I> Unpowergate
I> tegrabl_car_clk_disable(5) ...
I> tegrabl_car_rst_set(CORE, 5) ...
I> tegrabl_car_rst_set(APB, 5) ...
I> tegrabl_car_clk_enable(5) ...
I> tegrabl_car_rst_clear(APB, 5) ...
I> tegrabl_set_ctrl_state(5)
I> CLR PCIE_APB:6
I> tegrabl_pcie_soc_init: (5):
I> APPL initialization ...
I> poweron phys
I> tegrabl_locate_pcie_ctrl_in_dt: found match at 0x141a0000
I> tegrabl_power_on_phy: power on phy @0x3eb0000
I> tegrabl_power_on_phy: power on phy @0x3ec0000
I> tegrabl_power_on_phy: power on phy @0x3ed0000
I> tegrabl_power_on_phy: power on phy @0x3ee0000
I> tegrabl_power_on_phy: power on phy @0x3ef0000
I> tegrabl_power_on_phy: power on phy @0x3f00000
I> tegrabl_power_on_phy: power on phy @0x3f10000
I> tegrabl_power_on_phy: power on phy @0x3f20000
I> PCIe controller-5 link is up
I> tegra_pcie_info[5].cfg0_base = 0x3a000000
I> tegra_pcie_info[5].cfg1_base = 0x3a020000
I> tegra_pcie_info[5].atu_dma_base = 0x3a040000
I> tegra_pcie_bus[5].mem = 0x3a200000
I> Scanning busnr: 0 devfn: 0
I> PCIe IDs: 0x1ad010de
I> PCIe RID_CC: 0x60400a1
I> Scanning busnr: 1 devfn: 0
I> PCIe IDs: 0x91701b4b
I> PCIe RID_CC: 0x1060112
I> PCI Config: I/O=0x3a100000, Memory=0x3a200000
I> IO bar_num=0 bar=0x3a100000
I> IO bar_num=1 bar=0x3a100008
I> IO bar_num=2 bar=0x3a100010
I> IO bar_num=3 bar=0x3a100018
I> IO bar_num=4 bar=0x3a100020
I> MEM bar_num=5 bar=0x3a200000
I> Number of PCIe devices detected: 2
E> tegrabl_nvme_init: Failed tegrabl_pcie_get_dev(5); error=0x0
W> tegrabl_nvme_bdev_open: Failed NVME INIT; error=0x80800612
W> Failed to open NVME-5, err = 80800612
W> Failed to initialize device 10-5
E> NVME (5) boot failed, err: 0x80800612
I> ########## Fixed storage boot ##########
I> Loading kernel-bootctrl from partition
...

“lspci -v” output:

root@4-6-rev2:~# lspci -v
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 35
Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
I/O behind bridge: 00000000-00000fff
Memory behind bridge: 40000000-400fffff
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] Express Root Port (Slot-), MSI 00
Capabilities: [b0] MSI-X: Enable- Count=8 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] #19
Capabilities: [168] #26
Capabilities: [190] #27
Capabilities: [1c0] L1 PM Substates
Capabilities: [1d0] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
Capabilities: [2d0] Vendor Specific Information: ID=0001 Rev=1 Len=038 <?>
Capabilities: [308] #25
Capabilities: [314] Precision Time Measurement
Capabilities: [320] Vendor Specific Information: ID=0004 Rev=1 Len=054 <?>
Kernel driver in use: pcieport

0005:01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9170 (rev 12) (prog-if 01 [AHCI 1.0])
Subsystem: Marvell Technology Group Ltd. Device 9170
Flags: bus master, fast devsel, latency 0, IRQ 555
I/O ports at 100010 [size=8]
I/O ports at 100020 [size=4]
I/O ports at 100018 [size=8]
I/O ports at 100024 [size=4]
I/O ports at 100000 [size=16]
Memory at 1f40010000 (32-bit, non-prefetchable) [size=512]
Expansion ROM at 1f40000000 [disabled] [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [70] Express Legacy Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Kernel driver in use: ahci

What entry should I put to boot-order variable in order to make NX boot from SATA SSD?

Sorry for the long post,
Thanks in advance.

There is no support for SATA because there is no such interface on xavier.

OK, I see, but at last, it connects to the PCI-E interface on NX.

SDK Manager can flash SSD connected to PCI-E on NX.

Isn’t there any workaround to make it boot?

Only possible to mount the file system from this SATA drive. Not able to boot from it.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.