Want nanosecond delay in Jetson nano board

I am completely new to Jetson Nano board and I want to generate 20ns delay in Jetson Nano board. But I have no idea about it. So can any one help me, how can get 20ns delay in jetson nano board. Is there any code snippet available to achieve nanosecond delay? Thanks in advance.

The request sounds not a clear one.
When or where do you want to put this 20ns delay?

You want the boot process to have 20ns delay?
or you want your program to have 20ns delay?
or you want the timer to have 20ns delay?

I guess nobody can actually know what you want to do here. So please elaborate it first.

Our client wants to build printer controller board. Client has provided the printer specification where we require 20ns delay to spray the Cadtrige nozzle.

So is it a kernel driver? or your userspace program? This sounds not a platform specific problem.

I mean this program should not be directly affected by the fact that you are running on jetson nano. It could be happened on any kind of devices/ PC that are on ubuntu or linux.

Actually i want to generate 16 MHZ clock frequency on gpio PIN. Does Jetson Nano have support to generate this much frequency on GPIO? I am just starting with basic code to Turn On and Turn OFF GPIO pin with 20 ns delay, but getting 200 microseconds on CRO.

#include <iostream>
#include <chrono>
#include <thread>
#include <signal.h>
#include <JetsonGPIO.h>

using namespace std;

int main()
{
	int output_pin = 18; // BOARD pin 12, BCM pin 18
	GPIO::setmode(GPIO::BCM);
	GPIO::setup(output_pin, GPIO::OUT, GPIO::HIGH);
	int curr_value = GPIO::HIGH;

	while (true)
	{
		curr_value ^= GPIO::HIGH;
		this_thread::sleep_for(std::chrono::nanoseconds(20));
	}

	GPIO::cleanup();

	return 0;
}