NTP with PPS Support on Xavier AGX

Hello everyone,
After the activation of PPS in the kernel, I would like to link it to NTP.
Seems that there are some options in the kernel to activate that are not easily understandable (ex: CONFIG_NTP_PPS, CONFIG_NO_HZ, …) and could brick the device.

Does anyone succeed to link it ?

NB: this topic is an extension of this one Enabling PPS on Xavier AGX, if you need to activate first the PPS input on the GPIO.

EDIT: the main question hidden behind the subject is “Can we customize the kernel as tickless in order to activate CONFIG_NTP_PPS for hard PPS support ?” on AGX Xavier

1 Like

Have a check below for customized kernel implement.

Thanks @ShaneCCC
I used this doc as starter but I couldn’t activate the options NTP PPS in the kernel, theses options didn’t make the computer boot.

Please follow below steps to disable/enable macro’s in defconfig.

  1. make ARCH=arm64 CROSS_COMPILE=<path_to_gcc>gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- DEFCONFIG_PATH=arch/arm64/configs tegra_defconfig
  2. make menuconfig //disable the macro CONFIG_NO_HZ
  3. make savedefconfig
  4. cp defconfig defconfig_orig
  5. Follow steps (1) to (3) again.
  6. diff defconfig defconfig_orig
  7. Do the change in ‘arch/arm64/configs/tegra_defconfig’ as per delta generated in above step.

Thanks @sumitg

Here are some screenshots of what I try to modify
Screenshot from 2021-01-06 09-50-53
Screenshot from 2021-01-06 09-51-22
Screenshot from 2021-01-06 09-51-58

First I need to go to timers options and switch to Periodic timer in order to activate PPS kernel consumer support (this is the option required for NTP/PPS)

Where is the corresponding option for CONFIG_NO_HZ ?

“Old Idle dynticks config” is for CONFIG_NO_HZ. You can press “?” on that option to confirm the macro related to given option.

So I disable it and activate the rest ?