| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- // -------------------------------------------------- //
- // This file is autogenerated by pioasm; do not edit! //
- // -------------------------------------------------- //
- #pragma once
- #if !PICO_NO_HARDWARE
- #include "hardware/pio.h"
- #endif
- // ------------ //
- // sdio_cmd_clk //
- // ------------ //
- #define sdio_cmd_clk_wrap_target 0
- #define sdio_cmd_clk_wrap 17
- static const uint16_t sdio_cmd_clk_program_instructions[] = {
- // .wrap_target
- 0xb0e3, // 0: mov osr, null side 1
- 0xa04d, // 1: mov y, !status side 0
- 0x1061, // 2: jmp !y, 1 side 1
- 0x6060, // 3: out null, 32 side 0
- 0x7028, // 4: out x, 8 side 1
- 0xe001, // 5: set pins, 1 side 0
- 0xf081, // 6: set pindirs, 1 side 1
- 0x6001, // 7: out pins, 1 side 0
- 0x1047, // 8: jmp x--, 7 side 1
- 0xe080, // 9: set pindirs, 0 side 0
- 0x7028, // 10: out x, 8 side 1
- 0xa042, // 11: nop side 0
- 0x1031, // 12: jmp !x, 17 side 1
- 0xa042, // 13: nop side 0
- 0x10cd, // 14: jmp pin, 13 side 1
- 0x4001, // 15: in pins, 1 side 0
- 0x104f, // 16: jmp x--, 15 side 1
- 0x8020, // 17: push block side 0
- // .wrap
- };
- #if !PICO_NO_HARDWARE
- static const struct pio_program sdio_cmd_clk_program = {
- .instructions = sdio_cmd_clk_program_instructions,
- .length = 18,
- .origin = -1,
- };
- static inline pio_sm_config sdio_cmd_clk_program_get_default_config(uint offset) {
- pio_sm_config c = pio_get_default_sm_config();
- sm_config_set_wrap(&c, offset + sdio_cmd_clk_wrap_target, offset + sdio_cmd_clk_wrap);
- sm_config_set_sideset(&c, 1, false, false);
- return c;
- }
- #endif
- // ------------ //
- // sdio_data_rx //
- // ------------ //
- #define sdio_data_rx_wrap_target 0
- #define sdio_data_rx_wrap 4
- static const uint16_t sdio_data_rx_program_instructions[] = {
- // .wrap_target
- 0xa022, // 0: mov x, y
- 0x2020, // 1: wait 0 pin, 0
- 0x2092, // 2: wait 1 gpio, 18
- 0x4004, // 3: in pins, 4
- 0x0043, // 4: jmp x--, 3
- // .wrap
- };
- #if !PICO_NO_HARDWARE
- static const struct pio_program sdio_data_rx_program = {
- .instructions = sdio_data_rx_program_instructions,
- .length = 5,
- .origin = -1,
- };
- static inline pio_sm_config sdio_data_rx_program_get_default_config(uint offset) {
- pio_sm_config c = pio_get_default_sm_config();
- sm_config_set_wrap(&c, offset + sdio_data_rx_wrap_target, offset + sdio_data_rx_wrap);
- return c;
- }
- #endif
- // ------------ //
- // sdio_data_tx //
- // ------------ //
- #define sdio_data_tx_wrap_target 5
- #define sdio_data_tx_wrap 8
- static const uint16_t sdio_data_tx_program_instructions[] = {
- 0x2012, // 0: wait 0 gpio, 18
- 0x2092, // 1: wait 1 gpio, 18
- 0x6004, // 2: out pins, 4
- 0x0042, // 3: jmp x--, 2
- 0xe080, // 4: set pindirs, 0
- // .wrap_target
- 0x4001, // 5: in pins, 1
- 0x0085, // 6: jmp y--, 5
- 0x20a0, // 7: wait 1 pin, 0
- 0x8020, // 8: push block
- // .wrap
- };
- #if !PICO_NO_HARDWARE
- static const struct pio_program sdio_data_tx_program = {
- .instructions = sdio_data_tx_program_instructions,
- .length = 9,
- .origin = -1,
- };
- static inline pio_sm_config sdio_data_tx_program_get_default_config(uint offset) {
- pio_sm_config c = pio_get_default_sm_config();
- sm_config_set_wrap(&c, offset + sdio_data_tx_wrap_target, offset + sdio_data_tx_wrap);
- return c;
- }
- #endif
|