Method 1: Read/Write Access for Tuning Registers#

DriveOS aims to provide a consistent way to enable run-time tuning of the registers, but since it is not possible to enable this for all registers, some alternate ways are provided to support tuning. This section describes all the different mechanisms supported to access the tuning registers.

Run-time Register Access#

To enable run-time access for registers, enable the ENABLE_SOC_IO_TUNING option during bind partitions while creating the flashing images. Refer to the Enable SoC IO Tuning section for more information.

Once flashed with the ENABLE_SOC_IO_TUNING option enabled, registers can be accessed using devmem2.

You can also disable this functionality for PCT profiles that have this enabled by default. Refer to the Disable SoC IO Tuning section for more information.

Note

You must not enable ENABLE_SOC_IO_TUNING in production profiles to prevent associated security risks.

Enable SoC IO Tuning

The ENABLE_SOC_IO_TUNING flag used to enable this feature is disabled by default for non-safety production pct variants(prod_nsr, test_nsr) while it is enabled by default for standard pct variant(dev_nsr). It can be found in below files:

Production PCT variants:
${NV_WORKSPACE}/drive-foundation/hardware/nvidia/platform/t264/automotive/pct/drive_av/linux/common_profile.mk

Standard PCT variants:
${NV_WORKSPACE}/drive-foundation/hardware/nvidia/platform/t264/automotive/pct/drive_av/linux/profile_dev_nsr

To enable this feature, pass the ENABLE_SOC_IO_TUNING=y option in the bind_partitions command. For example:

./make/bind_partitions [-b <board_name>] <pct> -p <pct_variant> ENABLE_SOC_IO_TUNING=y

Where:

  • <board_name> = p3960-10

  • <pct> = linux

  • <pct_variants> = prod_nsr, test_nsr, dev_nsr (default variant)

Disable SoC IO Tuning

DriveOS also provides a way to disable the feature if it is enabled in the profile_<pct_variant>.mk file by passing ENABLE_SOC_IO_TUNING=n option in bind_partitions command. For example:

./make/bind_partitions [-b <board_name>] <pct> -p <pct_variant> ENABLE_SOC_IO_TUNING=n

Where:

  • <board_name> = p3960-10

  • <pct> = linux

  • <pct_variants> = prod_nsr, test_nsr, dev_nsr (default variant)