2008-09-17 20:19:56     Any way to synchronize GPIO outputs on BF54x?

Document created by Aaronwu Employee on Aug 7, 2013
Version 1Show Document
  • View in full screen mode

2008-09-17 20:19:56     Any way to synchronize GPIO outputs on BF54x?

Isaac Leung (CANADA)

Message: 62346   


Is it possible to synchronize outputs on the GPIO pins on BF547/BF548? (Or close enough to being synchronous...)


I've got several GPIO pins that control an external device. The logic more or less works so I know everything is pretty much functioning. It's "less working" because the time it takes for me to control all the pins one at a time is too slow so not everything works all the time.


e.g. I have something like:


write(Signal1, "0", 1);

write(Signal2, "1", 1);

The problem is that the lag between the 2 signals is something like 10us. I need it to be more like 5us, so anything faster than that is good enough to be considered "synchronous" here. Doesn't sound very demanding. I don't need the signals to _toggle_ quickly, it can be quite slow, but they do need to line up. Can I line up the operations and then trigger them all at once?


Is this possible? I just don't want to resort to doing a special GPIO driver if there's a better way.











2008-09-17 20:27:38     Re: Any way to synchronize GPIO outputs on BF54x?

Mike Frysinger (UNITED STATES)

Message: 62347   


using the GPIO simple driver, no ... nor is it architected for such things


you would need to write a special driver, or extend the simple gpio driver


i imagine you could do it easily using the simple gpio driver and like an ioctl interface ... give it a small array of values to cram into the respective port direction mmr's