RetroBSD/retrobsd

New 'sequenced' ioctl for GPIO driver

Opened this issue · 0 comments

Create a new ioctl request for GPIO driver, performing a sequence of outputs, inputs and delays, defined by a parameter - array of commands. Every command is a 32-bit value. Bits 31:28 specify an action:

  • 0000 - finish
  • 0001 - set (port, mask)
  • 0010 - clear (port, mask)
  • 0011 - inv (port, mask)
  • 0100 - confout (port, mask)
  • 0101 - confin (port, mask)
  • 0110 - confod (port, mask)
  • 0111 - poll (port, mask)
  • 11xx - delay (nsec)

Port is 4-bit parameter in bits 19:16.
Mask is 16-bit parameter in bits 15:0.
Nsec is 30-bit parameter in bits 29:0.