CTI Hadron #1299
Replies: 7 comments 2 replies
-
Hi @oscarthorn and welcome!
I only see a reference to MB2BCT_CFG in the existing flashvars file - where are you finding the
You should be able to convert between dts and dtb as needed using the dtc tool. I think you'd need the DTS if you wanted to modify.
I believe so.
I believe TEGRA_PLUGIN_MANAGER_OVERLAYS is the right spot, but for questions like this I'd peruse commit history referencing the associated vars.
Yes you would most likely need/want source for the kernel if it isn't already in whatever they have in their BSP. It may be that they didn't modify the stock L4T kernel, that's probably the first thing I'd check. If they have made changes and they've added something you need in your kernel you'd need to apply those patches on the kernel used for OE4T, which you can find at https://github.com/oe4t/linux-tegra-5.10
I expect we'd want to capture this, yes, and thanks for the offer. It might be best in https://github.com/OE4T/meta-tegra-community, I'd let Matt weigh in on that when you get that far. Good luck and keep us posted! |
Beta Was this translation helpful? Give feedback.
-
Thanks for the response!
MB2_BCT is reference here: I'll keep this thread updated with what I find! |
Beta Was this translation helpful? Give feedback.
-
Hi @oscarthorn I have added support for CTI TX2 based carrier and did some trials with Xavier based ones too. They do patch the kernel so you need to request the kernel sources from their support. It is not available as a direct download. They are often not fully up to date with the latest JetPack release. At the time they had different sources for TX2 and Xavier. This might have changed and I don't yet have experience with orin. Once you have the sources, fork the oe4t linux kernel repository https://github.com/OE4T/linux-tegra-4.9 or https://github.com/OE4T/linux-tegra-5.10, match the branch for the sources you got, create a new branch for the CTI patches and time for some merging fun: the sources folder layout is different than oe4t, and oe4t kernel have some patches applied that are not part of NVidia sources. What I find easier to do is to download the sources from NVidia to diff with CTI, and only applied the ones that are necessary on top of oe4t patches. Once you are done with the merge, commit your changes, create you own layer (i.e: meta-cti), declare your new machines (match KERNEL_DEVICETREE with the CTI entry point) and flash vars, bbappend linux-tegra_4.9 or linux-tegra_5.10 to overwrite Watch out for the correct That should be all. If you need any of the camera drivers they provide, then Good luck |
Beta Was this translation helpful? Give feedback.
-
@lfdmn Thanks for the guidance! That helps a lot :) |
Beta Was this translation helpful? Give feedback.
-
Hey there, I am going through something very similar involving a custom carrier board (AGX Orin). We followed the instructions in the "Create a Custom Machine". Specifically, we created a new machine config and flash config as advised in the wiki. For the machine conf file, we copied over the jetson-agx-orin-devkit.conf and renamed it to match our machine name. The carrier board vendor provided their own .dtb file that we believe should replace the .dtb file specified in jetson-agx-orin-devkit.conf but we are not sure the best way to go about doing that. Any guidance will be greatly appreciated! |
Beta Was this translation helpful? Give feedback.
-
After Struggling yesterday. I made this Machine Config which allow me to successfully flash the device and I made also a recipe to import .dtb and .dtbo files for cti. `#@type: Machine NVPMODEL ?= "nvpmodel_p3767_0001" TEGRA_BUPGEN_SPECS ?= "fab=000;boardsku=0001;boardrev=;chipsku=00:00:00:D4;bup_type=bl TEGRA_BOARDSKU ?= "0001" #TEGRA_FLASHVAR_WB0SDRAM_BCT = "tegra234-p3767-0001-wb0sdram-l4t.dts" TEGRA_FLASHVAR_PINMUX_CONFIG = "tegra234-cti-orin-nx-hadron-mb1-bct-pinmux.dtsi" Specify the DTB and DTBO filesKERNEL_DEVICETREE = "tegra234-orin-nx-cti-NGX012.dtb" require conf/machine/p3768-0000-p3767-0001.conf The Problem That I face now that I can't switch root after booting in init script and I get kernel Panic.
If you have any Updates I'd appreciate the help. I contacted also yesterday cti and the did provide me source code their kernel (Or you can say the provided the changed files and we should do our own patch). How should one proceed ? |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Hi!
Thanks, again for all the work you do with meta-tegra!
We are trying to use a custom carrier board for Orin NX from CTI called the Hadron: https://connecttech.com/product/hadron-carrier-for-nvidia-jetson-orin-nx/
I have received their BSP package that contain various files and now I'm trying to figure out which variables to set to make yocto build the right image.
I have created a machine conf based on the ones for Orin NX in this repo and a flashvars file based on p3509-a02-p3767-0000.
Bootloader
There are 3 device tree files (and one file that's included in the pinmux) related to the bootloader and two conf files that CTI use for setting the correct variables. For these I think it is enough to set the correct variables in the flashvars file.
Questions:
Kernel
There are also two device tree files related to the kernel as well a kernel image and some deb files.
DTB: tegra234-orin-nx-cti-NGX012.dtb
I'm figuring I should set KERNEL_DEVICETREE in the machine conf with this? CTI has it as DTB_FILE/TBCDTB_FILE. Is it fine to just have the dtb file or do I need to ask for the dts?
BTBO: tegra234-p3767-overlay.dtbo
Does this go in TEGRA_PLUGIN_MANAGER_OVERLAYS? Not sure about this one. CTI has it as OVERLAY_DTB_FILE.
There are also deb files and a kernel image:
I'm not quite sure what to do with these? I suppose I need to ask for the source so I can make proper patches as needed? But I'm not quite sure which recipes to patch?
Thanks in advance for any answers you might have!
Ps. Would you like a PR with hadron board support once I get it working?
Beta Was this translation helpful? Give feedback.
All reactions