scsi_accel_host.pio.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // -------------------------------------------------- //
  2. // This file is autogenerated by pioasm; do not edit! //
  3. // -------------------------------------------------- //
  4. #pragma once
  5. #if !PICO_NO_HARDWARE
  6. #include "hardware/pio.h"
  7. #endif
  8. // -------------------- //
  9. // scsi_host_async_read //
  10. // -------------------- //
  11. #define scsi_host_async_read_wrap_target 0
  12. #define scsi_host_async_read_wrap 7
  13. static const uint16_t scsi_host_async_read_program_instructions[] = {
  14. // .wrap_target
  15. 0x90a0, // 0: pull block side 1
  16. 0xb027, // 1: mov x, osr side 1
  17. 0x3013, // 2: wait 0 gpio, 19 side 1
  18. 0xb142, // 3: nop side 1 [1]
  19. 0x4009, // 4: in pins, 9 side 0
  20. 0x4067, // 5: in null, 7 side 0
  21. 0x2093, // 6: wait 1 gpio, 19 side 0
  22. 0x1042, // 7: jmp x--, 2 side 1
  23. // .wrap
  24. };
  25. #if !PICO_NO_HARDWARE
  26. static const struct pio_program scsi_host_async_read_program = {
  27. .instructions = scsi_host_async_read_program_instructions,
  28. .length = 8,
  29. .origin = -1,
  30. };
  31. static inline pio_sm_config scsi_host_async_read_program_get_default_config(uint offset) {
  32. pio_sm_config c = pio_get_default_sm_config();
  33. sm_config_set_wrap(&c, offset + scsi_host_async_read_wrap_target, offset + scsi_host_async_read_wrap);
  34. sm_config_set_sideset(&c, 1, false, false);
  35. return c;
  36. }
  37. #endif