Loading...
Loading...
Compare original and translation side by side
| Layer | Content | Key files |
|---|---|---|
| MB1 BCT | firmware carveouts | per-module misc DTS |
| MB2 BCT | firmware loading + AST controls | per-module misc DTS |
| Kernel DTS | reserved-memory and driver binding | per-module DTS |
| SWIOTLB | DMA bounce pool size | |
#ifdef#elsetarget-platform-contract.md| 层级 | 内容 | 关键文件 |
|---|---|---|
| MB1 BCT | 固件内存划分 | 各模块misc DTS |
| MB2 BCT | 固件加载 + AST控制 | 各模块misc DTS |
| Kernel DTS | 保留内存与驱动绑定 | 各模块DTS |
| SWIOTLB | DMA bounce池大小 | |
#ifdef#elsetarget-platform-contract.md| Keyword | MB1 BCT carveouts | MB2 BCT | Kernel DTS |
|---|---|---|---|
| DCE-family (see chip table) | DCE | |
| RCE/VI/ISP-family | RCE | recommended: VI/ISP/NVCSI → disabled |
| 关键词 | MB1 BCT内存划分 | MB2 BCT | Kernel DTS |
|---|---|---|---|
| DCE系列(见芯片表格) | DCE | |
| RCE/VI/ISP系列 | RCE | 推荐:VI/ISP/NVCSI → 禁用 |
| Scenario | T234 (Orin) | T264 (Thor) |
|---|---|---|
| | |
| | |
Post-boot:→headless.sudo systemctl set-default multi-user.target
| 场景 | T234(Orin) | T264(Thor) |
|---|---|---|
| | |
| | |
启动后操作:场景 →headless。sudo systemctl set-default multi-user.target
Linux_for_Tegra/bootloader/generic/BCT/tegra<chip>-mb1-bct-misc-<module>.dtstegra234-mb1-bct-misc-p3767-0000.dtstegra264-mb1-bct-misc-p3834-0008-p4071-0000.dtscarveoutaux_info@<CARVEOUT_NAME> {
pref_base = <0x0 0x0>;
size = <0x0 0x0>;
alignment = <0x0 0x0>;
};Linux_for_Tegra/bootloader/generic/BCT/tegra<chip>-mb1-bct-misc-<module>.dtstegra234-mb1-bct-misc-p3767-0000.dtstegra264-mb1-bct-misc-p3834-0008-p4071-0000.dtscarveoutaux_info@<CARVEOUT_NAME> {
pref_base = <0x0 0x0>;
size = <0x0 0x0>;
alignment = <0x0 0x0>;
};Linux_for_Tegra/bootloader/generic/BCT/tegra<chip>-mb2-bct-misc-<module>.dtstegra<chip>-mb2-bct-common.dtsiauxp_controls@<index>auxp_controls@<index> {
enable_init = <0>;
enable_fw_load = <0>;
enable_unhalt = <0>;
};/delete-node/ auxp_ast_config@<idx>;common.dtsiauxp_controls@Nauxp_ast_config@Nast_regioncarveout = <CARVEOUT_…>;Linux_for_Tegra/bootloader/generic/BCT/tegra<chip>-mb2-bct-misc-<module>.dtstegra<chip>-mb2-bct-common.dtsiauxp_controls@<index>auxp_controls@<index> {
enable_init = <0>;
enable_fw_load = <0>;
enable_unhalt = <0>;
};/delete-node/ auxp_ast_config@<idx>;common.dtsiauxp_controls@Nauxp_ast_config@Nast_regioncarveout = <CARVEOUT_…>;DTB=Linux_for_Tegra/kernel/dtb/<platform-dtb-name>.dtb
dtc -I dtb -O dts -o /tmp/platform.dts $DTBDTB=Linux_for_Tegra/kernel/dtb/<platform-dtb-name>.dtb
dtc -I dtb -O dts -o /tmp/platform.dts $DTB
**Display** — disable `display@<addr>`, plus `dce@<addr>` if exposed as
a separate kernel node.
**Camera** — under `host1x@<addr>`, disable whichever of `vi*` / `isp*`
/ `nvcsi` exist on the BSP (only emit present nodes):
Locate the display controller node in the decompiled DTS and disable it.
The node's unit address is chip-specific — find it by `compatible` string
(e.g. `nvidia,tegra234-display`) rather than hard-coding the address.
```dts
host1x@<addr> {
vi0@<addr> { status = "disabled"; };
vi1@<addr> { status = "disabled"; };
isp@<addr> { status = "disabled"; };
isp1@<addr> { status = "disabled"; };
nvcsi@<addr> { status = "disabled"; };
};
**显示模块** — 禁用`display@<addr>`,若`dce@<addr>`作为独立内核节点暴露则同时禁用。
**摄像头模块** — 在`host1x@<addr>`下,禁用BSP中存在的`vi*` / `isp*` / `nvcsi`节点(仅对已存在的节点进行配置):
在反编译后的DTS中找到显示控制器节点并禁用。节点的单元地址是芯片专属的 — 通过`compatible`字符串(例如`nvidia,tegra234-display`)查找,而非硬编码地址。
```dts
host1x@<addr> {
vi0@<addr> { status = "disabled"; };
vi1@<addr> { status = "disabled"; };
isp@<addr> { status = "disabled"; };
isp1@<addr> { status = "disabled"; };
nvcsi@<addr> { status = "disabled"; };
};CMDLINE_ADDCMDLINELinux_for_Tegra/<module>.conf.commonundefinedLinux_for_Tegra/<module>.conf.commonCMDLINE_ADDCMDLINEundefined
---
---.dts-D…bct_flags.append(...)bootloader/tegraflash_impl_t<chip>.pygcc -E -nostdinc -x assembler-with-cpp \
-DENABLE_<FLAG_1> -DENABLE_<FLAG_2> \
-I bootloader -I bootloader/generic/BCT \
-o /tmp/cpp.dts <patched-bct.dts>
dtc -q -I dts -O dtb -o /tmp/cpp.dtb /tmp/cpp.dts
dtc -q -I dtb -O dts /tmp/cpp.dtb | lessaux_info@<NAME>aux_info@<id>Usize = <0x0 0x0>pref_base = <0x0 0x0>auxp_controls@<idx>enable_*<0>/delete-node/auxp_ast_config@<idx>.dtsbootloader/tegraflash_impl_t<chip>.pybct_flags.append(...)-D…gcc -E -nostdinc -x assembler-with-cpp \
-DENABLE_<FLAG_1> -DENABLE_<FLAG_2> \
-I bootloader -I bootloader/generic/BCT \
-o /tmp/cpp.dts <patched-bct.dts>
dtc -q -I dts -O dtb -o /tmp/cpp.dtb /tmp/cpp.dts
dtc -q -I dtb -O dts /tmp/cpp.dtb | lessaux_info@<NAME>aux_info@<id>Usize = <0x0 0x0>pref_base = <0x0 0x0>auxp_controls@<idx>enable_*<0>/delete-node/auxp_ast_config@<idx>sudo cat /proc/iomem | grep -iE 'nv-reserved|cma|fb|carveout'
ls /proc/device-tree/reserved-memory/
dmesg | grep -iE 'firmware|carveout|bpmp|reserved|fail|error' | head -20
free -m| Scenario | Sysfs | dmesg grep |
|---|---|---|
| Display off | | |
| Camera off | | |
| SWIOTLB shrink | | |
/proc/cmdlineswiotlb=<value>watch -n5 cat /sys/kernel/debug/swiotlb/io_tlb_usedio_tlb_nslabsCMDLINE_ADDkernel-dtbsudo cat /proc/iomem | grep -iE 'nv-reserved|cma|fb|carveout'
ls /proc/device-tree/reserved-memory/
dmesg | grep -iE 'firmware|carveout|bpmp|reserved|fail|error' | head -20
free -m| 场景 | Sysfs验证 | dmesg过滤关键词 |
|---|---|---|
| 显示关闭 | | |
| 摄像头关闭 | | |
| SWIOTLB缩小 | | |
/proc/cmdlineswiotlb=<value>watch -n5 cat /sys/kernel/debug/swiotlb/io_tlb_usedio_tlb_nslabsCMDLINE_ADDkernel-dtb../../context/target-platform-contract.md/jetson-init-image/jetson-init-source../../context/target-platform-contract.md/jetson-init-image/jetson-init-sourceheadlessno-cameraswiotlbio_tlb_nslabsheadlessno-cameraswiotlbio_tlb_nslabsio_tlb_usedio_tlb_nslabsswiotlb=CMDLINE_ADDdmesg | grep -iE 'firmware|carveout'dmesgbsp_image/jetson-promote-imageio_tlb_usedio_tlb_nslabsCMDLINE_ADDswiotlb=dmesg | grep -iE 'firmware|carveout'bsp_image/jetson-promote-image