1 |
8 |
qaztronic |
//
|
2 |
|
|
//
|
3 |
|
|
//
|
4 |
|
|
|
5 |
|
|
#ifndef __OC_GPIO_H
|
6 |
|
|
#define __OC_GPIO_H
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
// opencore gpio register offesets
|
10 |
|
|
#define OC_GPIO_RGPIO_IN 0x00
|
11 |
|
|
#define OC_GPIO_RGPIO_OUT 0x04
|
12 |
|
|
#define OC_GPIO_RGPIO_OE 0x08
|
13 |
|
|
#define OC_GPIO_RGPIO_INTE 0x0c
|
14 |
|
|
#define OC_GPIO_RGPIO_PTRIG 0x10
|
15 |
|
|
#define OC_GPIO_RGPIO_AUX 0x14
|
16 |
|
|
#define OC_GPIO_RGPIO_CTRL 0x18
|
17 |
|
|
#define OC_GPIO_RGPIO_INTS 0x1c
|
18 |
|
|
#define OC_GPIO_RGPIO_ECLK 0x20
|
19 |
|
|
#define OC_GPIO_RGPIO_NEC 0x24
|
20 |
|
|
|
21 |
|
|
// GPIO A
|
22 |
|
|
#define OC_GPIO_A_BASE 0x83100000
|
23 |
|
|
#define OC_GPIO_A_RGPIO_IN (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_IN) ))
|
24 |
|
|
#define OC_GPIO_A_RGPIO_OUT (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_OUT) ))
|
25 |
|
|
#define OC_GPIO_A_RGPIO_OE (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_OE) ))
|
26 |
|
|
#define OC_GPIO_A_RGPIO_INTE (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_INTE) ))
|
27 |
|
|
#define OC_GPIO_A_RGPIO_PTRIG (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_PTRIG) ))
|
28 |
|
|
#define OC_GPIO_A_RGPIO_AUX (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_AUX) ))
|
29 |
|
|
#define OC_GPIO_A_RGPIO_CTRL (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_CTRL) ))
|
30 |
|
|
#define OC_GPIO_A_RGPIO_INTS (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_INTS) ))
|
31 |
|
|
#define OC_GPIO_A_RGPIO_ECLK (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_ECLK) ))
|
32 |
|
|
#define OC_GPIO_A_RGPIO_NEC (*( (volatile unsigned int *) (OC_GPIO_A_BASE + OC_GPIO_RGPIO_NEC) ))
|
33 |
|
|
|
34 |
|
|
// GPIO B
|
35 |
|
|
#define OC_GPIO_B_BASE 0x83200000
|
36 |
|
|
#define OC_GPIO_B_RGPIO_IN (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_IN) ))
|
37 |
|
|
#define OC_GPIO_B_RGPIO_OUT (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_OUT) ))
|
38 |
|
|
#define OC_GPIO_B_RGPIO_OE (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_OE) ))
|
39 |
|
|
#define OC_GPIO_B_RGPIO_INTE (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_INTE) ))
|
40 |
|
|
#define OC_GPIO_B_RGPIO_PTRIG (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_PTRIG) ))
|
41 |
|
|
#define OC_GPIO_B_RGPIO_AUX (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_AUX) ))
|
42 |
|
|
#define OC_GPIO_B_RGPIO_CTRL (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_CTRL) ))
|
43 |
|
|
#define OC_GPIO_B_RGPIO_INTS (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_INTS) ))
|
44 |
|
|
#define OC_GPIO_B_RGPIO_ECLK (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_ECLK) ))
|
45 |
|
|
#define OC_GPIO_B_RGPIO_NEC (*( (volatile unsigned int *) (OC_GPIO_B_BASE + OC_GPIO_RGPIO_NEC) ))
|
46 |
|
|
|
47 |
|
|
|
48 |
|
|
// DE1 hex led display commands
|
49 |
|
|
#define DE1_HEX_LED_WRITE 1
|
50 |
|
|
#define DE1_HEX_LED_READ 2
|
51 |
|
|
#define DE1_HEX_LED_INCREMENT 3
|
52 |
|
|
|
53 |
|
|
|
54 |
|
|
//functions
|
55 |
|
|
extern void fled_init( unsigned int data);
|
56 |
|
|
extern void hex_led_init( unsigned int data);
|
57 |
|
|
extern unsigned int hex_led_command( unsigned int command, unsigned int data);
|
58 |
|
|
|
59 |
|
|
|
60 |
|
|
|
61 |
|
|
#endif // __OC_GPIO_H
|