9 #ifndef _HARDWARE_STRUCTS_PIO_H
10 #define _HARDWARE_STRUCTS_PIO_H
13 #include "hardware/regs/pio.h"
24 _REG_(PIO_SM0_CLKDIV_OFFSET)
30 _REG_(PIO_SM0_EXECCTRL_OFFSET)
45 _REG_(PIO_SM0_SHIFTCTRL_OFFSET)
57 _REG_(PIO_SM0_ADDR_OFFSET)
62 _REG_(PIO_SM0_INSTR_OFFSET)
67 _REG_(PIO_SM0_PINCTRL_OFFSET)
80 _REG_(PIO_CTRL_OFFSET)
87 _REG_(PIO_FSTAT_OFFSET)
95 _REG_(PIO_FDEBUG_OFFSET)
103 _REG_(PIO_FLEVEL_OFFSET)
115 _REG_(PIO_TXF0_OFFSET)
119 io_wo_32 txf[NUM_PIO_STATE_MACHINES];
121 _REG_(PIO_RXF0_OFFSET)
125 io_ro_32 rxf[NUM_PIO_STATE_MACHINES];
127 _REG_(PIO_IRQ_OFFSET)
132 _REG_(PIO_IRQ_FORCE_OFFSET)
137 _REG_(PIO_INPUT_SYNC_BYPASS_OFFSET)
139 io_rw_32 input_sync_bypass;
141 _REG_(PIO_DBG_PADOUT_OFFSET)
145 _REG_(PIO_DBG_PADOE_OFFSET)
149 _REG_(PIO_DBG_CFGINFO_OFFSET)
154 io_ro_32 dbg_cfginfo;
156 _REG_(PIO_INSTR_MEM0_OFFSET)
161 io_wo_32 instr_mem[PIO_INSTRUCTION_COUNT];
165 _REG_(PIO_INTR_OFFSET)
181 _REG_(PIO_IRQ0_INTE_OFFSET)
197 _REG_(PIO_IRQ0_INTF_OFFSET)
213 _REG_(PIO_IRQ0_INTS_OFFSET)
229 _REG_(PIO_IRQ1_INTE_OFFSET)
245 _REG_(PIO_IRQ1_INTF_OFFSET)
261 _REG_(PIO_IRQ1_INTS_OFFSET)
278 #define pio0_hw ((pio_hw_t *)PIO0_BASE)
279 #define pio1_hw ((pio_hw_t *)PIO1_BASE)
281 static_assert( NUM_PIO_STATE_MACHINES == 4,
"");
282 static_assert( PIO_INSTRUCTION_COUNT == 32,
"");