How to use swizzle register change mapping on Jetson AGX Orin?

I want to use this set of 3-trio CPHY, due to the layout need to modify the mapping to match the design.
According to the information I found, the original trio-1 mapping is ABC and the trio-1 mapping must be changed to BCA.

The NVCSI Register information is found in NVIDIA Orin Series System-on-Chip TRM v1.1.
Should I change NVCSI_PHY_2_NVCSI_CIL_A_POLARITY_SWIZZLE_CTRL_0 and POLARITY_SWIZZLE_CPHY1_A to 2 if I want to conform to the above design?
If the above is correct, how do I start modifying the kernel so that the register is correctly modified?

*** Please note that this reply is generated by LLM automatically ***

Based on the provided context, it appears that you are working with the NVIDIA Jetson Orin series and are trying to modify the CPHY lane mapping to match your design layout. You want to change the original trio-1 mapping from ABC to BCA.

The information you found suggests that you need to modify the NVCSI_PHY_2_NVCSI_CIL_A_POLARITY_SWIZZLE_CTRL_0 and POLARITY_SWIZZLE_CPHY1_A registers to 2. However, the provided context does not explicitly mention these registers or their relationship to the CPHY lane mapping.

To confirm whether modifying these registers is correct, I would recommend consulting the NVIDIA Orin Series System-on-Chip TRM (Technical Reference Manual) v1.1, which is mentioned in your question. The TRM should provide detailed information about the NVCSI registers and their functions.

Assuming that modifying the registers is correct, to modify the kernel to correctly modify the registers, you will likely need to:

  1. Modify the device tree: The device tree is a data structure that describes the hardware components of the system. You may need to update the device tree to reflect the changes to the CPHY lane mapping.
  2. Update the kernel driver: The kernel driver is responsible for controlling the hardware components. You may need to update the kernel driver to correctly modify the NVCSI registers.

To start modifying the kernel, you can follow these general steps:

  1. Obtain the L4T kernel source: The L4T kernel source is mentioned in the provided context. You can obtain the source code from the NVIDIA website or other official channels.
  2. Identify the relevant kernel driver: You will need to identify the kernel driver that controls the NVCSI registers. This may involve searching through the kernel source code or consulting the TRM.
  3. Modify the kernel driver: Once you have identified the relevant kernel driver, you can modify it to correctly modify the NVCSI registers. This may involve updating the driver’s source code or adding new code to handle the modified CPHY lane mapping.
  4. Rebuild the kernel: After modifying the kernel driver, you will need to rebuild the kernel to incorporate the changes.
  5. Test the modified kernel: Finally, you will need to test the modified kernel to ensure that it correctly modifies the NVCSI registers and functions as expected.

Please note that modifying the kernel can be a complex and error-prone process, and it is recommended that you have a good understanding of the kernel and its components before attempting to make changes. Additionally, it is always a good idea to consult the official documentation and seek guidance from NVIDIA or other experts if you are unsure about any aspect of the process.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.