The jetson-io.py tool allows modifying the pin configuration of the 40-pin header (on the Orin Nano Dev Kit), the CSI-2 connector, and the M.2 Key E slot. But not the CAN bus pins (or CSI-1 camera connector, for that matter).
The default system install should probably pre-configure the CAN pins when using the Dev Kit, since one is unlikely to use those pins for anything else, and if they do, they can always be changed.
But perhaps at the very least, the config tool can offer customization for those pins?
Jetson-IO is just used to enable the functions on some connectors.
For other module(like AGX Orin), there’s CAN option on 40-header pins could be enabled through Jetson-IO.
As you know, the following pins have been configured for CAN0 usage as default for Orin Nano.
Ah, okay, right. And calling devmem is the only way to set the pinmux? That means I need to call it in a script at boot (rc.local, perhaps), or in a wrapper script for my application, because it doesn’t otherwise persist across reboot.
You can also configure pinmux in <Linux_for_Tegra>/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3767-dp-a03.dtsi before flash the board so that you don’t need to write register during every boot.
Ah, yeah, this is what I’m looking for. Is it possible to edit the .dtsi file and recompile the .dtbo (is that the output, I think so?), and just copy that file to the right place on the filesystem? I don’t want to completely wipe my Orin Nano.