Jetson dynamic overlay
NVIDIA/Jetson

Jetson dynamic overlay

728x90

테스트 환경

  • AGX ORIN Devit
  • JETPACK 6.1

Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/overlay 위치에 있는 dynamic.dts 파일은 Orin 모듈을 Flash 할 시 해당 설정 값을 적용하여 부팅하낟.

Flash Command:
sudo ./flash.sh jetson-agx-orin-devkit internal

 

flash할 때 참조되는 jetson-agx-orin-devkt.conf 파일을 보게 되면, 파일 하단에 OVERLAY_DTB_FILE 항목이 있다. 해당 항목에 Orin Module에 dynamic.dtbo가 설정되어 있다.

jetson-agx-orin-devkit.conf

dynamic.dts 파일을 열어보면 아래와 같이 구성되어 있다.

일반적으로 JETSON에서 지원하는 카메라를 관리하는 camera-module.dtsi가 include되어 있다. camera_modules.dtsi에 카메라 부분을 보면 status 항목을 전부 "disabled"로 변경한다. 

공식 가이드 문서에 따르면 아래와 같이 명시되어 있다.

카메라 모듈에 온보드 EEPROM이 있고 유효한 카메라 ID로 프로그래밍된 경우 이를 사용하여 특정 카메라 모듈에 오버레이를 적용하고 런타임에 장치 트리 항목을 적절한 정보로 업데이트할 수 있습니다. EEPROM-ID와 함께 DTB 오버레이를 사용하면 단일 시스템 이미지로 여러 카메라 장치를 지원할 수 있습니다.

위 말은 dynamic.dtbo를 통해 카메라의 status의 속성을 "disabled"로 변경한 뒤 원하는 카메라의 dtbo을 overlay하여 status 속성을 "okay"로 변경해서 카메라를 사용하는 것으로 보인다.

 

실제 imx185의 dts 파일은 아래와 같다.

dts파일의 board_config의 ids 속성은 board-id 목록을 지정할 수 있으며, 그 중 하나는 카메라 EEPROM에서 읽은 ID와 일치해야 하고, board_config의 sw-modules 속성은 오버레이를 UEFI DTB에만 적용해야 하는지, 커널 DTB에만 적용해야 하는지, 아니면 둘 다에 적용해야 하는지 지정할 수 있다. 이 속성이 없으면 오버레이는 커널과 UEFI dtb에 모두 적용된다.

 

dynamic.dts는 그 외에도 board_config 속성을 이용해 보드 eeprom을 읽어 특정 보드에 맞는 옵션을 적용한다.

eeprom에 명시되어 있는 layout은 가이드 문서에 나와있다.

https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/JetsonEepromLayout.html

 

Jetson EEPROM Layout — NVIDIA Jetson Linux Developer Guide 1 documentation

20–49 Product part number, used for asset tracking. In a module's EEPROM this field contains the module's part number; in a carrier board's EEPROM it contains the carrier board's part number. If you develop a custom carrier board, coordinate with NVIDIA

docs.nvidia.com

아래 파일은 BSP파일 안에서 찾은 정보이다.

Environment variables value table:

#
#                                       BOARDID  BOARDSKU  FAB  BOARDREV
#    ----------------------------------+--------+---------+----+---------
#    jetson-agx-xavier-industrial         2888     0008      600  A.0
#    clara-agx-xavier-devkit              3900     0000      001  C.0
#    jetson-xavier-nx-devkit              3668     0000      100  N/A
#    jetson-xavier-nx-devkit-emmc         3668     0001      100  N/A
#    jetson-xavier-nx-devkit-emmc         3668     0003      N/A  N/A
#    jetson-agx-xavier-devkit (16GB)      2888     0001      400  H.0
#    jetson-agx-xavier-devkit (32GB)      2888     0004      400  K.0
#    jetson-agx-orin-devkit               3701     0001      TS1  C.2
#    jetson-agx-orin-devkit               3701     0000      TS4  A.0
#    jetson-agx-xavier-devkit (64GB)      2888     0005      402  B.0
#    holoscan-devkit                      3701     0002      TS1  A.0
#    jetson-agx-orin-devkit               3701     0004      TS4  A.0
#    jetson-agx-orin-devkit (64GB)        3701     0005      500
#    jetson-orin-nano-devkit (NX 16GB)    3767     0000      300
#    jetson-orin-nano-devkit (NX 8GB)     3767     0001      300
#    jetson-orin-nano-devkit (Nano 4GB)   3767     0004      300
#    jetson-orin-nano-devkit (Nano 8GB)   3767     0003      300
#    jetson-orin-nano-devkit (Nano 8GB)   3767     0005      300
#    ----------------------------------+--------+---------+----+---------

참고 :

https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html

 

Sensor Software Driver Programming — NVIDIA Jetson Linux Developer Guide 1 documentation

After driver development is complete, you must also add the new device information to the system kernel device tree so it can be registered (instantiated) when the kernel boots. The below methods are for registering your device. Using the Main Platform Dev

docs.nvidia.com

 

728x90

'NVIDIA > Jetson' 카테고리의 다른 글

Jetson Camera Debugging  (0) 2025.01.29
Jetson Fan Control  (0) 2024.11.18
libgpiod  (0) 2024.10.06
JETSON UEFI DEBUG  (0) 2024.07.15
JETPACK 6 Flash  (0) 2024.06.23