~aleteoryx/muditaos

ref: 7d7003d62639426be8eb00f4fc288b68139f5566 muditaos/module-bsp/bsp/BoardDefinitions.hpp -rw-r--r-- 5.3 KiB
7d7003d6 — Marcin Smoczyński Merge branch 'master' into stable 5 years ago
                                                                                
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#ifndef PUREPHONE_BOARDDEFINITIONS_HPP
#define PUREPHONE_BOARDDEFINITIONS_HPP

#include "drivers/dmamux/DriverDMAMux.hpp"
#include "drivers/dma/DriverDMA.hpp"
#include "drivers/i2c/DriverI2C.hpp"
#include "drivers/pll/DriverPLL.hpp"
#include "drivers/gpio/DriverGPIO.hpp"

enum class BoardDefinitions
{

    POWER_SWITCH_HOLD_GPIO   = static_cast<int>(drivers::GPIOInstances ::GPIO_2),
    POWER_SWITCH_HOLD_BUTTON = 7,

    USB_FUNCTION_MUX_SELECT = 25, // GPIO_AD_B1_09, USB_MUX_SEL0
    USB_POWER_ACK           = 3,  // GPIO_B0_03  Note: pull-up in order to read

    AUDIOCODEC_I2C_BAUDRATE   = 100000,
    AUDIOCODEC_I2C            = static_cast<int>(drivers::I2CInstances ::I2C2),
    AUDIOCODEC_DMAMUX         = static_cast<int>(drivers::DMAMuxInstances ::DMAMUX0),
    AUDIOCODEC_DMA            = static_cast<int>(drivers::DMAInstances ::DMA_0),
    AUDIOCODEC_TX_DMA_CHANNEL = 5,
    AUDIOCODEC_RX_DMA_CHANNEL = 6,
    AUDIOCODEC_IRQ            = 31, // GPIO_B1_15  requires pull-up 10kΩ
    AUDIOCODEC_IRQ_GPIO       = static_cast<int>(drivers::GPIOInstances ::GPIO_2),

    MIC_BIAS_DRIVER_GPIO = static_cast<int>(drivers::GPIOInstances ::GPIO_2),
    MIC_BIAS_DRIVER_EN   = 19, // GPIO_B1_03 MIC_LDO_EN

    CELLULAR_AUDIO_DMAMUX         = AUDIOCODEC_DMAMUX,
    CELLULAR_AUDIO_DMA            = AUDIOCODEC_DMA,
    CELLULAR_AUDIO_TX_DMA_CHANNEL = 2,
    CELLULAR_AUDIO_RX_DMA_CHANNEL = 3,

    KEYBOARD_I2C_BAUDRATE = AUDIOCODEC_I2C_BAUDRATE,
    KEYBOARD_I2C          = AUDIOCODEC_I2C,
    KEYBOARD_GPIO         = static_cast<int>(drivers::GPIOInstances ::GPIO_2),
    KEYBOARD_RF_BUTTON    = 6,
    KEYBOARD_IRQ_PIN      = 28,
    KEYBOARD_RESET_PIN    = 29,

	HEADSET_I2C_BAUDRATE = AUDIOCODEC_I2C_BAUDRATE,
	HEADSET_I2C = AUDIOCODEC_I2C,
	HEADSET_GPIO = static_cast<int >(drivers::GPIOInstances ::GPIO_2),
	HEADSET_IRQ_PIN = 30,

    BATTERY_CHARGER_I2C_BAUDRATE = AUDIOCODEC_I2C_BAUDRATE,
    BATTERY_CHARGER_I2C = AUDIOCODEC_I2C,
    BATTERY_CHARGER_GPIO = static_cast<int >(drivers::GPIOInstances ::GPIO_2),
    BATTERY_CHARGER_INOKB_PIN = 12,
    BATTERY_CHARGER_WCINOKB = 13, /// UNUSABLE as WCIN is not connected to the charger !
    BATTERY_CHARGER_INTB_PIN = 14, /// interrupt on battery percentage change

    CELLULAR_DMA = static_cast<int >(drivers::DMAInstances ::DMA_0),
    CELLULAR_DMAMUX = static_cast<int >(drivers::DMAMuxInstances ::DMAMUX0),
    CELLULAR_TX_DMA_CHANNEL = 4,
    CELLULAR_GPIO_1 = static_cast<int >(drivers::GPIOInstances ::GPIO_1),
    CELLULAR_GPIO_2 = static_cast<int >(drivers::GPIOInstances ::GPIO_2),
    CELLULAR_GPIO_3 = static_cast<int >(drivers::GPIOInstances ::GPIO_3),
    CELLULAR_GPIO_1_CTS_PIN = 14,
    CELLULAR_GPIO_1_RTS_PIN = 15,
    CELLULAR_GPIO_3_DTR_PIN = 27,
    CELLULAR_GPIO_2_POWER_PIN = 18,
    CELLULAR_GPIO_2_RESET_PIN = 17,
    CELLULAR_GPIO_2_RI_PIN = 21,
    CELLULAR_GPIO_2_APRDY_PIN = 16,
    CELLULAR_GPIO_2_WAKEUP_PIN = 19,
    CELLULAR_GPIO_2_SIM_TRAY_INSERTED_PIN = 11,
    CELLULAR_GPIO_2_NC = 10, // GPIO_B0_10
    CELLULAR_GPIO_2_SIMCARD_PRESENCE_PIN = 9,
    CELLULAR_GPIO_2_SIMSEL_PIN = 20, // GPIO_B1_04
    CELLULAR_GPIO_2_ANTSEL_PIN = 2,
    CELLULAR_GPIO_1_STATUS_PIN = 2, // GPIO_AD_B0_02
    CELLULAR_GPIO_2_USB_BOOT_PIN = 24, // GPIO_B1_08, output

    EINK_DMA = static_cast<int >(drivers::DMAInstances ::DMA_0),
    EINK_DMAMUX = static_cast<int >(drivers::DMAMuxInstances ::DMAMUX0),
    EINK_TX_DMA_CHANNEL = 0,
    EINK_RX_DMA_CHANNEL = 1,
    EINK_GPIO = static_cast<int >(drivers::GPIOInstances ::GPIO_3),
    EINK_CS_PIN = 13,
    EINK_RESET_PIN=16,
    EINK_BUSY_PIN=17,
    EINK_PLL = static_cast<int >(drivers::PLLInstances::PLL2_PFD2),

    BLUETOOTH_DMA = static_cast<int >(drivers::DMAInstances ::DMA_0),
    BLUETOOTH_DMAMUX = static_cast<int >(drivers::DMAMuxInstances ::DMAMUX0),
    BLUETOOTH_TX_DMA_CHANNEL = 7,
    BLUETOOTH_RX_DMA_CHANNEL = 8,

    EMMC_PLL = static_cast<int >(drivers::PLLInstances::PLL2_PFD2),

    AUDIO_PLL = static_cast<int >(drivers::PLLInstances::PLL4_Audio),

    VIBRATOR_GPIO = static_cast<int>(drivers::GPIOInstances::GPIO_1),
    VIBRATOR_EN = 0, // GPIO_AD_B0_00

    TORCH_GPIO = static_cast<int>(drivers::GPIOInstances::GPIO_1),
    TORCH_EN = 21, // GPIO_AD_B1_05

	MAGNETOMETER_I2C = AUDIOCODEC_I2C,
	MAGNETOMETER_I2C_BAUDRATE = AUDIOCODEC_I2C_BAUDRATE,
    MAGNETOMETER_GPIO = static_cast<int>(drivers::GPIOInstances::GPIO_1),
    MAGNETOMETER_IRQ = 20, // GPIO_AD_B1_04

    TORCH_DRIVER_I2C_BAUDRATE = AUDIOCODEC_I2C_BAUDRATE, // can do 400 kHz
    TORCH_DRIVER_I2C = AUDIOCODEC_I2C,
    TORCH_DRIVER_GPIO = static_cast<int>(drivers::GPIOInstances::GPIO_1),
    TORCH_DRIVER_EN = 21, // GPIO_AD_B1_05 Active HIGH. Internal pulldown resistor of 300kΩ between HWEN and GND.

    KEYPAD_BACKLIGHT_DRIVER_I2C_BAUDRATE = AUDIOCODEC_I2C_BAUDRATE,
    KEYPAD_BACKLIGHT_DRIVER_I2C = AUDIOCODEC_I2C,
    KEYPAD_BACKLIGHT_DRIVER_GPIO = static_cast<int>(drivers::GPIOInstances::GPIO_1),
    KEYPAD_BACKLIGHT_DRIVER_NRST = 3, // GPIO_AD_B0_03 Active LOW. External pulldown resistor of 10kΩ between NRST and GND.

    EINK_FRONTLIGHT_PWM_INSTANCE = 2, // GPIO_AD_B0_01 = FLEXPWM2_PWM3_B
    EINK_FRONTLIGHT_PWM_MODULE = 3,
    EINK_FRONTLIGHT_PWM_CHANNEL = 1, // B

    LIGHT_SENSOR_I2C = AUDIOCODEC_I2C,
    LIGHT_SENSOR_I2C_BAUDRATE = AUDIOCODEC_I2C_BAUDRATE,
    LIGHT_SENSOR_IRQ_GPIO = static_cast<int>(drivers::GPIOInstances::GPIO_2),
    LIGHT_SENSOR_IRQ = 15, // GPIO_B0_15
};

#endif //PUREPHONE_BOARDDEFINITIONS_HPP