How to change Refresh rate for nvidia display DP-SERIALIZER-0

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.4 (rev. 1)
[1] DRIVE OS 6.0.4 SDK
other

Target Operating System
[1] Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
[1] DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
[1] 1.9.10816
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
[1] native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Hello nvidia experts:
I found this page( nvdisplay ) for Refresh rate setup in nvdisplay for DP-SERIALIZER-0:

\ {
    display@13800000 {
        display-timings {
            display-connector-0 {
                dcb-index = <0>;

                stream-0 {
                    timings-phandle = <&mode0>;
                };

                stream-1 {
                    timings-phandle = <&mode1>;
                };
            };
        };

        mode0: 1920-1080-60Hz {
            clock-frequency-khz = <148500>;
            hactive = <1920>;
            vactive = <1080>;
            hfront-porch = <88>;
            hback-porch = <148>;
            hsync-len = <44>;
            vfront-porch = <4>;
            vback-porch = <36>;
            vsync-len = <5>;
            rrx1k = <60000>;
            pps-data = [
                11 00 00 89 30 80 04 38
                07 80 04 38 03 c0 03 c0
                02 00 03 58 00 20 73 3e
                00 0d 00 0f 00 1d 00 0e
                18 00 10 f0 03 0c 20 00
                06 0b 0b 33 0e 1c 2a 38
                46 54 62 69 70 77 79 7b
                7d 7e 01 02 01 00 09 40
                09 be 19 fc 19 fa 19 f8
                1a 38 1a 78 22 b6 2a b6
                2a f6 2a f4 43 34 63 74
                00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00 ];
        };

        mode1: 1280-720-60Hz {
            clock-frequency-khz = <74250>;
            hactive = <1280>;
            vactive = <720>;
            hfront-porch = <110>;
            hback-porch = <220>;
            hsync-len = <40>;
            vfront-porch = <5>;
            vback-porch = <20>;
            vsync-len = <5>;
            rrx1k = <60000>;
        };
    };
};

So I changed mode0&mode1 to 1920-1080-30Hz 1280-720-30Hz and set rrx1k to 30000.

While after start up X server with below command:
sudo insmod /lib/modules/$(uname -r)/extra/opensrc-disp/nvidia.ko rm_firmware_active=β€œall”
sudo insmod /lib/modules/$(uname -r)/extra/opensrc-disp/nvidia-modeset.ko
sudo X -ac -noreset -nolisten tcp &

xrandr output still shows it runs in 60 Refresh rate:
DP-SERIALIZER-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1920x1080 60.00*+

And I also tried to use nvidia-drm with below command :
sudo modprobe nvidia-drm modeset=1

The dmesg shows nvidia-drm just add one line:
[drm:drm_mode_debug_printmodeline] Modeline β€œ1920x1080”: 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x0 0x5

drm modes shows it only has one option:
cat /sys/class/drm/card0-DP-1/modes:
1920x1080

So how should the Refresh rate be changed for nvidisplay? Should this be done through device-tree configuration, or through application(X server, xrandr --newmode) ?

Dear @jing.ran,
We are checking internally and update you.

Dear @jing.ran,
May I know if you have reflashed the board after changes? If so, Did you use sdkmanager or bootburn.py to flash the target?
Please check below changes

  1. Update drive-foundation/platform-config/hardware/nvidia/platform/t23x/automotive/kernel-dts/p3710/common/disp/tegra234-p3710-0010-disp-timings.dtsi with below changes
    • mode0 & mode 1 change to 1920-1080-30Hz, 1280-720-30Hz.
    • set clock-frequency-khz = <74250>, rrx1k=30000 for 1920*1080 30hz
    • set clock-frequency-khz = <37125 >, rrx1k=30000 for 1280*720 30hz
  2. You need to bind PCT and flash the board. Please check for correct value of BOARD param for your board at Autonomous Vehicle Development Platforms | NVIDIA Docs. You can also find the correct param in flashing logs when you used sdkmanager to flash

cd drive-foundation
make -f make/Makefile.bind BOARD=<BOARD_TYPE> PCT=linux clean
make -f make/Makefile.bind BOARD=<BOARD_TYPE> PCT=linux tools/flashtools/bootburn/bootburn.py -b <BOARD_TYPE> -B qspi

1 Like

Dear SivaRamaKrishnaNV:
After change dts setting as you mentioned above and flash board, the fps of display has set to 30, thanks for support.

1 Like

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