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 AV PCT Configuration. 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.