summaryrefslogtreecommitdiff
path: root/firmware/export/pp5020.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/pp5020.h')
-rw-r--r--firmware/export/pp5020.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/firmware/export/pp5020.h b/firmware/export/pp5020.h
index 9d2a3b9d94..89acb2e8d2 100644
--- a/firmware/export/pp5020.h
+++ b/firmware/export/pp5020.h
@@ -300,6 +300,16 @@
300#define GPIOK_INT_CLR (*(volatile unsigned long *)(0x6000d178)) 300#define GPIOK_INT_CLR (*(volatile unsigned long *)(0x6000d178))
301#define GPIOL_INT_CLR (*(volatile unsigned long *)(0x6000d17c)) 301#define GPIOL_INT_CLR (*(volatile unsigned long *)(0x6000d17c))
302 302
303/* Standard GPIO addresses + 0x800 allow atomic port manipulation on PP502x.
304 * Bits 8..15 of the written word define which bits are changed, bits 0..7
305 * define the value of those bits. */
306
307#define GPIO_SET_BITWISE(port, mask) \
308 do { *(&port + (0x800/sizeof(long))) = (mask << 8) | mask; } while(0)
309
310#define GPIO_CLEAR_BITWISE(port, mask) \
311 do { *(&port + (0x800/sizeof(long))) = mask << 8; } while(0)
312
303/* Device initialization */ 313/* Device initialization */
304#define PP_VER1 (*(volatile unsigned long *)(0x70000000)) 314#define PP_VER1 (*(volatile unsigned long *)(0x70000000))
305#define PP_VER2 (*(volatile unsigned long *)(0x70000004)) 315#define PP_VER2 (*(volatile unsigned long *)(0x70000004))
@@ -318,6 +328,8 @@
318 328
319#define INIT_USB 0x80000000 329#define INIT_USB 0x80000000
320 330
331/* 32 bit GPO port */
332#define GPO32_VAL (*(volatile unsigned long *)(0x70000080))
321 333
322/* IIS */ 334/* IIS */
323#define IISDIV (*(volatile unsigned long*)(0x60006080)) 335#define IISDIV (*(volatile unsigned long*)(0x60006080))