How to modify GPIO's toggle speed


  1. Whether GPIO’s toggle speed can be modified or not?
  2. If can, what is the range?
  3. How to modify GPIO’s toggle speed?
    for example:
    GPIO12— PN.01
    GPIO11— PQ.06
    GPIO07— PG.06

Hi wangqunpj,

What do you mean about “toggle speed”?
May I also know what’s your use case for this?

for examle

  1. GPIO from 0 to 1
  2. GPIO from 1 to 0

Toggle speed is the time needed to GPIO works

The clock rate for GPIO could be configured with the following node.

#cat /sys/kernel/debug/bpmp/debug/clk/axi_cbb/rate

It seems been configured as the same as max_rate at 204MHz already.

for ORIN NX platform, using the below code:
we can find the square wave result is below through the oscilloscope.

  1. when max-rate-maxn = <0x0 0xc28cb00>
    result: 110khz
  2. when max-rate-maxn = <0x0 0x18519600>,
    result: 165khz

This result is expected because the higher clock rate resulting in higher toggle speed.

How to become the higher toggle speed?

It seems you’ve gotten higher toggle speed.

I’ve also checked with internal.
It is the hw signal, and it could not be configured from kernel.

Hi, we hope to get higher toggle speed. it is important for us. please help us. you can discuss it with the system engineers or the hardware engineers of ORIN NX GPU.

How higher would it meet your requirement?

From your current test, it seems running in the single thread and should be the maximum toggle speed it could achieve.

If you need higher frequency for transmitting data to your peripheral device, we would suggest using these pins as serial instead of GPIO.

accrosing your advice, we use SPI0,but there is a question,please help us,thanks

Okay, I’m checking on your topic of SPI.

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