summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/dev/egpio.h
blob: e9573a7a860aedf4a6b05b0974b2a2b09c2cc1c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdint.h>

#define EGPIO0_EVE_INT          0x00    /* EVE interrrupt */
#define EGPIO0_SDCARD_DET       0x01    /* SD Card detect */
#define EGPIO0_EXP_IO0          0x02    /* expansion io 0 */
#define EGPIO0_EXP_IO1          0x03    /* expansion io 1 */
#define EGPIO0_BTN_WAKE         0x04    /* wake button */
#define EGPIO0_BAT_INT          0x05    /* battery charger IC inetrrupt */
#define EGPIO0_CTP_SEL          0x06    /* switch CTP connection: EVE_DISP:1 and CTP_SEL:0 - connected to EVE chip, EVE_DISP:1 and CTP_SEL:1 - connected to fe310 chip, EVE_DISP:0 and CTP_SEL:0 - connected to app module */
#define EGPIO0_CTP_INT          0x07    /* CTP interrupt */

#define EGPIO1_MIC_DIS          0x00    /* microphone disable */
#define EGPIO1_HP_AMP_CS        0x01    /* SPI chip select for headphone amplifier (pcm1770) */
#define EGPIO1_MIC_SEL          0x02    /* switch mic connection: 0 - connected to app module, 1 - connected to fe310 chip */
#define EGPIO1_HP_DET           0x03    /* headphone detect */
#define EGPIO1_USR0             0x04    /* user IO */
#define EGPIO1_USR1             0x05
#define EGPIO1_USR2             0x06
#define EGPIO1_USR3             0x07

#define EGPIO_CHIP_ID0          0x00
#define EGPIO_CHIP_ID1          0x10

#define EGPIO_PIN_EVE_INT       (EGPIO_CHIP_ID0 | EGPIO0_EVE_INT)
#define EGPIO_PIN_SDCARD_DET    (EGPIO_CHIP_ID0 | EGPIO0_SDCARD_DET)
#define EGPIO_PIN_EXP_IO0       (EGPIO_CHIP_ID0 | EGPIO0_EXP_IO0)
#define EGPIO_PIN_EXP_IO1       (EGPIO_CHIP_ID0 | EGPIO0_EXP_IO1)
#define EGPIO_PIN_BTN_WAKE      (EGPIO_CHIP_ID0 | EGPIO0_BTN_WAKE)
#define EGPIO_PIN_BAT_INT       (EGPIO_CHIP_ID0 | EGPIO0_BAT_INT)
#define EGPIO_PIN_CTP_SEL       (EGPIO_CHIP_ID0 | EGPIO0_CTP_SEL)
#define EGPIO_PIN_CTP_INT       (EGPIO_CHIP_ID0 | EGPIO0_CTP_INT)

#define EGPIO_PIN_MIC_DIS       (EGPIO_CHIP_ID1 | EGPIO1_MIC_DIS)
#define EGPIO_PIN_HP_AMP_CS     (EGPIO_CHIP_ID1 | EGPIO1_HP_AMP_CS)
#define EGPIO_PIN_MIC_SEL       (EGPIO_CHIP_ID1 | EGPIO1_MIC_SEL)
#define EGPIO_PIN_HP_DET        (EGPIO_CHIP_ID1 | EGPIO1_HP_DET)
#define EGPIO_PIN_USR0          (EGPIO_CHIP_ID1 | EGPIO1_USR0)
#define EGPIO_PIN_USR1          (EGPIO_CHIP_ID1 | EGPIO1_USR1)
#define EGPIO_PIN_USR2          (EGPIO_CHIP_ID1 | EGPIO1_USR2)
#define EGPIO_PIN_USR3          (EGPIO_CHIP_ID1 | EGPIO1_USR3)

#define EGPIO_PIN_MASK          0x07
#define EGPIO_PIN_MASK_CHIP_ID  0x10

int eos_egpio_pin_get(uint8_t reg, uint8_t pin, uint8_t *val);
int eos_egpio_pin_set(uint8_t reg, uint8_t pin, uint8_t val);