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)