I developed a board using the Jetpack 7 R38.2 SDK.
An error occurred during the flashing process. Why did the ‘BPMP firmware is not ready’ error occur?
Which step did I overlook? Please help!
# I don't think source/hardware/nvidia/t264/nv-public/nv-platform/tegra264-p4071-0000.dtsi gets compiled into a dtb.
# I think you have to edit kernel/dtb/tegra264-p4071-0000+p3834-0008-nv.dtb or bootloader/tegra264-p4071-0000+p3834-0008-nv.dtb
dtc -I dts -O dtb -o bootloader/tegra264-p4071-0000+p3834-0008-nv.dts \
bootloader/tegra264-p4071-0000+p3834-0008-nv.dtb
# Make your pcie changes to tegra264-p4071-0000+p3834-0008-nv.dts
Recompile it
dtc -I dts -O dtb -o kernel_tegra264-p4071-0000+p3834-0008-nv.dtb \
tegra264-p4071-0000+p3834-0008-nv.dtb
cp tegra264-p4071-0000+p3834-0008-nv.dtb bootloader/ OR kernel/dtb/
2. Unlike the Jetson Thor DevKit hardware design, the custom board utilizes the uphy0-config-6 and uphy1-config-8 configurations.
uphy0 Lane3 connect to PCIE SWITCH
uphy0 Lane6:7 connect to SSD
uphy1 Lane0:3 unused now
uphy1 Lane4:7 MGBE
I’m unsure if this experiment is valid.
Test on custom carrier board :
Modified YY8-T5000.conf as follows:
ODMDATA=“uphy0-config-6,pcie@3_status=okay,uphy1-config-8”;
UPHY_CONFIG=“”;
Flashing the image resulted in the error: tegra_bpmp_ipc_init_one: BPMP firmware is not ready
However, directly modifying /bootloader/generic/tegra264-bpmp-3834-0008-4071-xxxx.dts and converting it back to /bootloader/generic/tegra264-bpmp-3834-0008-4071-xxxx.dtb avoids the “ERROR: tegra_bpmp_ipc_init_one: BPMP firmware is not ready” error.
I want to confirm whether using the ODMDATA method and directly modifying tegra264-bpmp-3834-0008-4071-xxxx.dtb will yield different results?
Or did I overlook a step during image generation that caused the settings not to be written?