Add PAB_CAN board config and device tree (ARK PAB CAN Jetson Carrier)#104
Open
AlexKlimaj wants to merge 3 commits into
Open
Add PAB_CAN board config and device tree (ARK PAB CAN Jetson Carrier)#104AlexKlimaj wants to merge 3 commits into
AlexKlimaj wants to merge 3 commits into
Conversation
…etson Carrier
New product target for the PAB CAN carrier (Rev 1.0), derived from PAB_V3 per
its schematic change log ("Initial Release Based on ARK PAB Jetson Carrier V3;
Remove IO MCU; Swap power input connectors").
Schematic comparison against PAB V3 Rev 3.0 (sheet by sheet):
- Jetson blocks 1-3, cameras (dev-kit i2c-mux dual CSI), micro HDMI (active-low
HPD via Q21 inverter), USB (usb2-0/1/2 + usb3-0 USB-C, USB4715 hub), M.2 Key E
and Key M, and UARTA/UARTB wiring are identical, so the fragment carries over.
- The KSZ8795 ethernet switch is replaced by a Microchip LAN9646 on the same
management bus (module SPI0 -> spi@3210000 CS0, spi1_pz3-6 pins) with the same
reset GPIO (SWITCH_RSTn, module pin 211 -> PAC.06). The fragment swaps the
node to compatible "microchip,lan9646"; the R36 5.15 kernel has no LAN9646
driver (DSA support landed upstream in 6.13) and the switch runs
strap-configured, so the node documents the wiring and reserves CS0. The
KS8995 defconfig fragment is dropped since it only served the KSZ8795.
- Jetson CAN (module pins 143/145) now feeds an on-board TCAN1057A transceiver
to the Pixhawk Payload Bus connector. mttcan@c310000 is already enabled by
the stock BSP tree and can0/can0_din pinmux is already in the shared BCT, so
no kernel DT change is needed for can0 to come up.
- UART0 moves from the M.2 Key E Bluetooth pins to an external JST-GH (J19) and
UART2 from the PAB_V3 debug connector to the UART2/I2C0 JST-GH (J20); both
stay on the same module pins, so the existing uarta/uartb setup is unchanged.
- The PAB_V3 SW_PMEn input (module pin 216) is unconnected on this carrier; its
BCT config (rsvd0, pulled up, input) is safe as-is, so the BCT files are
byte-identical to PAB_V3.
Register the PAB_CAN target in build/flash/setup/provision, packaging (tag
prefix pab-can-), the CI tag matrix (matched before pab-*), device-tree
tooling, and docs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013wvSbvPTrgdKjnPzVuh7Tv
dakejahl
reviewed
Jul 13, 2026
dakejahl
left a comment
Collaborator
There was a problem hiding this comment.
mttcan@c310000 is enabled by the stock BSP tree and can0_dout_paa0/can0_din_paa1 pinmux is already in the BCT so can0 comes up out of the box.
so jetson-can service is not needed it sounds like
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new
PAB_CANproduct target for the ARK PAB CAN Jetson Carrier Rev 1.0, derived fromPAB_V3— matching the schematic change log: "Initial Release Based on ARK PAB Jetson Carrier V3; Remove IO MCU; Swap power input connectors."Built from a sheet-by-sheet comparison of the PAB CAN Rev 1.0 schematic against PAB V3 Rev 3.0, plus the production BOM.
What's identical to PAB_V3 (fragment carries over unchanged)
serial3) — the UARTs moved to different connectors (see below) but stay on the same module pinsSW_PMEnon module pin 216, is configuredrsvd0+ pull-up + input, which is safe on an unconnected pad)What changed
spi@3210000CS0) and same reset GPIO (PAC.06)compatible = "microchip,lan9646". The R36 5.15 kernel has no LAN9646 driver (DSA support landed upstream in 6.13); the switch runs strap-configured (SPI-client straps), so the node documents the wiring and reserves CS0 for a future BSP kernel. Dropped the now-uselessCONFIG_MICREL_KS8995MAdefconfig fragment.mttcan@c310000is enabled by the stock BSP tree andcan0_dout_paa0/can0_din_paa1pinmux is already in the BCT (verified against the pre-refactor full-tree copy in git history), socan0comes up out of the box.Registration
PAB_CANadded tobuild.sh(incl.all),flash.sh,setup.sh,provision.sh, packaging scripts (tag prefixpab-can-, matched beforepab-*in CI),.github/workflows/build.yml,scripts/device_tree/classify.sh, and docs (README, cameras, gpio, i2c, device-tree, packaging).Validation
dtcsyntax check of the fragment passes (compiled against a stub base tree; the container can't fetch the BSP tarball for a fullcompile_dtb.shrun)../build.sh PAB_CANDTB compile and a bench flash — needs a build host with the BSP downloads.🤖 Generated with Claude Code
https://claude.ai/code/session_013wvSbvPTrgdKjnPzVuh7Tv
Generated by Claude Code