| #ifndef PICO_SUPPORT_H |
| #define PICO_SUPPORT_H |
| |
| /* Constants required to manipulate the SIE. */ |
| #define portSIE_BASE 0xd0000000 |
| |
| #define SIE_OFFSET(a) ( * ( ( volatile uint32_t * ) ( portSIE_BASE + a ) ) ) |
| |
| #define portSIE_CPUID SIE_OFFSET( 0x00 ) |
| #define portSIE_GPIO_IN SIE_OFFSET( 0x04 ) |
| #define portSIE_GPIO_HI_IN SIE_OFFSET( 0x08 ) |
| #define portSIE_GPIO_OUT SIE_OFFSET( 0x10 ) |
| #define portSIE_GPIO_OUT_SET SIE_OFFSET( 0x14 ) |
| #define portSIE_GPIO_OUT_CLR SIE_OFFSET( 0x18 ) |
| #define portSIE_GPIO_OUT_XOR SIE_OFFSET( 0x1C ) |
| #define portSIE_GPIO_OE SIE_OFFSET( 0x20 ) |
| #define portSIE_GPIO_OE_SET SIE_OFFSET( 0x24 ) |
| #define portSIE_GPIO_OE_CLR SIE_OFFSET( 0x28 ) |
| #define portSIE_GPIO_OE_XOR SIE_OFFSET( 0x2C ) |
| #define portSIE_GPIO_HI_OUT SIE_OFFSET( 0x30 ) |
| #define portSIE_GPIO_HI_OUT_SET SIE_OFFSET( 0x34 ) |
| #define portSIE_GPIO_HI_OUT_CLR SIE_OFFSET( 0x38 ) |
| #define portSIE_GPIO_HI_OUT_XOR SIE_OFFSET( 0x3C ) |
| #define portSIE_GPIO_HI_OE SIE_OFFSET( 0x40 ) |
| #define portSIE_GPIO_HI_OE_SET SIE_OFFSET( 0x44 ) |
| #define portSIE_GPIO_HI_OE_CLR SIE_OFFSET( 0x48 ) |
| #define portSIE_GPIO_HI_OE_XOR SIE_OFFSET( 0x4C ) |
| #define portSIE_FIFO_ST SIE_OFFSET( 0x50 ) |
| #define portSIE_FIFO_WR SIE_OFFSET( 0x54 ) |
| #define portSIE_FIFO_RD SIE_OFFSET( 0x58 ) |
| #define portSIE_SPINLOCK_ST SIE_OFFSET( 0x5C ) |
| #define portSIE_DIV_UDIVIDEND SIE_OFFSET( 0x60 ) |
| #define portSIE_DIV_UDIVISOR SIE_OFFSET( 0x64 ) |
| #define portSIE_DIV_SDIVIDEND SIE_OFFSET( 0x68 ) |
| #define portSIE_DIV_SDIVISOR SIE_OFFSET( 0x6C ) |
| #define portSIE_DIV_QUOTIENT SIE_OFFSET( 0x70 ) |
| #define portSIE_DIV_REMAINDER SIE_OFFSET( 0x74 ) |
| #define portSIE_DIV_CSR SIE_OFFSET( 0x78 ) |
| #define portSIE_INTERP0_ACCUM0 SIE_OFFSET( 0x80 ) |
| #define portSIE_INTERP0_ACCUM1 SIE_OFFSET( 0x84 ) |
| #define portSIE_INTERP0_BASE0 SIE_OFFSET( 0x88 ) |
| #define portSIE_INTERP0_BASE1 SIE_OFFSET( 0x8C ) |
| #define portSIE_INTERP0_BASE2 SIE_OFFSET( 0x90 ) |
| #define portSIE_INTERP0_POP_LANE0 SIE_OFFSET( 0x94 ) |
| #define portSIE_INTERP0_POP_LANE1 SIE_OFFSET( 0x98 ) |
| #define portSIE_INTERP0_POP_FULL SIE_OFFSET( 0x9C ) |
| #define portSIE_INTERP0_PEEK_LANE0 SIE_OFFSET( 0xA0 ) |
| #define portSIE_INTERP0_PEEK_LANE1 SIE_OFFSET( 0xA4 ) |
| #define portSIE_INTERP0_PEEK_FULL SIE_OFFSET( 0xA8 ) |
| #define portSIE_INTERP0_CTRL_LANE0 SIE_OFFSET( 0xAC ) |
| #define portSIE_INTERP0_CTRL_LANE1 SIE_OFFSET( 0xB0 ) |
| #define portSIE_INTERP0_ACCUM0_ADD SIE_OFFSET( 0xB4 ) |
| #define portSIE_INTERP0_ACCUM1_ADD SIE_OFFSET( 0xB8 ) |
| #define portSIE_INTERP0_BASE_1AND0 SIE_OFFSET( 0xBC ) |
| #define portSIE_INTERP1_ACCUM0 SIE_OFFSET( 0xC0 ) |
| #define portSIE_INTERP1_ACCUM1 SIE_OFFSET( 0xC4 ) |
| #define portSIE_INTERP1_BASE0 SIE_OFFSET( 0xC8 ) |
| #define portSIE_INTERP1_BASE1 SIE_OFFSET( 0xCC ) |
| #define portSIE_INTERP1_BASE2 SIE_OFFSET( 0xD0 ) |
| #define portSIE_INTERP1_POP_LANE0 SIE_OFFSET( 0xD4 ) |
| #define portSIE_INTERP1_POP_LANE1 SIE_OFFSET( 0xD8 ) |
| #define portSIE_INTERP1_POP_FULL SIE_OFFSET( 0xDC ) |
| #define portSIE_INTERP1_PEEK_LANE0 SIE_OFFSET( 0xE0 ) |
| #define portSIE_INTERP1_PEEK_LANE1 SIE_OFFSET( 0xE4 ) |
| #define portSIE_INTERP1_PEEK_FULL SIE_OFFSET( 0xE8 ) |
| #define portSIE_INTERP1_CTRL_LANE0 SIE_OFFSET( 0xEC ) |
| #define portSIE_INTERP1_CTRL_LANE1 SIE_OFFSET( 0xF0 ) |
| #define portSIE_INTERP1_ACCUM0_ADD SIE_OFFSET( 0xF4 ) |
| #define portSIE_INTERP1_ACCUM1_ADD SIE_OFFSET( 0xF8 ) |
| #define portSIE_INTERP1_BASE_1AND0 SIE_OFFSET( 0xFC ) |
| #define portSIE_SPINLOCK0 SIE_OFFSET( 0x100 ) |
| #define portSIE_SPINLOCK1 SIE_OFFSET( 0x104 ) |
| #define portSIE_SPINLOCK2 SIE_OFFSET( 0x108 ) |
| #define portSIE_SPINLOCK3 SIE_OFFSET( 0x10C ) |
| #define portSIE_SPINLOCK4 SIE_OFFSET( 0x110 ) |
| #define portSIE_SPINLOCK5 SIE_OFFSET( 0x114 ) |
| #define portSIE_SPINLOCK6 SIE_OFFSET( 0x118 ) |
| #define portSIE_SPINLOCK7 SIE_OFFSET( 0x11C ) |
| #define portSIE_SPINLOCK8 SIE_OFFSET( 0x120 ) |
| #define portSIE_SPINLOCK9 SIE_OFFSET( 0x124 ) |
| #define portSIE_SPINLOCK10 SIE_OFFSET( 0x128 ) |
| #define portSIE_SPINLOCK11 SIE_OFFSET( 0x12C ) |
| #define portSIE_SPINLOCK12 SIE_OFFSET( 0x130 ) |
| #define portSIE_SPINLOCK13 SIE_OFFSET( 0x134 ) |
| #define portSIE_SPINLOCK14 SIE_OFFSET( 0x138 ) |
| #define portSIE_SPINLOCK15 SIE_OFFSET( 0x13C ) |
| #define portSIE_SPINLOCK16 SIE_OFFSET( 0x140 ) |
| #define portSIE_SPINLOCK17 SIE_OFFSET( 0x144 ) |
| #define portSIE_SPINLOCK18 SIE_OFFSET( 0x148 ) |
| #define portSIE_SPINLOCK19 SIE_OFFSET( 0x14C ) |
| #define portSIE_SPINLOCK20 SIE_OFFSET( 0x150 ) |
| #define portSIE_SPINLOCK21 SIE_OFFSET( 0x154 ) |
| #define portSIE_SPINLOCK22 SIE_OFFSET( 0x158 ) |
| #define portSIE_SPINLOCK23 SIE_OFFSET( 0x15C ) |
| #define portSIE_SPINLOCK24 SIE_OFFSET( 0x160 ) |
| #define portSIE_SPINLOCK25 SIE_OFFSET( 0x164 ) |
| #define portSIE_SPINLOCK26 SIE_OFFSET( 0x168 ) |
| #define portSIE_SPINLOCK27 SIE_OFFSET( 0x16C ) |
| #define portSIE_SPINLOCK28 SIE_OFFSET( 0x170 ) |
| #define portSIE_SPINLOCK29 SIE_OFFSET( 0x174 ) |
| #define portSIE_SPINLOCK30 SIE_OFFSET( 0x178 ) |
| #define portSIE_SPINLOCK31 SIE_OFFSET( 0x17C ) |
| |
| #endif |