~aleteoryx/muditaos

ref: 9acd593d878cc53a9c80b81fec9f6620ce72094d muditaos/module-bsp/board/rt1051/common/pin_mux.h -rw-r--r-- 9.7 KiB
9acd593d — Wojtek Rzepecki [EGD-7388] Fix unresponsive keyboard 4 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
/*
 * The Clear BSD License
 * Copyright 2017-2018 NXP
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted (subject to the limitations in the disclaimer below) provided
 * that the following conditions are met:
 *
 * o Redistributions of source code must retain the above copyright notice, this list
 *   of conditions and the following disclaimer.
 *
 * o Redistributions in binary form must reproduce the above copyright notice, this
 *   list of conditions and the following disclaimer in the documentation and/or
 *   other materials provided with the distribution.
 *
 * o Neither the name of the copyright holder nor the names of its
 *   contributors may be used to endorse or promote products derived from this
 *   software without specific prior written permission.
 *
 * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/***********************************************************************************************************************
 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
 **********************************************************************************************************************/

#ifndef _PIN_MUX_H_
#define _PIN_MUX_H_

/***********************************************************************************************************************
 * Definitions
 **********************************************************************************************************************/

/*! @brief Direction type  */
typedef enum _pin_mux_direction
{
    kPIN_MUX_DirectionInput         = 0U, /* Input direction */
    kPIN_MUX_DirectionOutput        = 1U, /* Output direction */
    kPIN_MUX_DirectionInputOrOutput = 2U  /* Input or output direction */
} pin_mux_direction_t;

/*!
 * @addtogroup pin_mux
 * @{
 */

/***********************************************************************************************************************
 * API
 **********************************************************************************************************************/

#if defined(__cplusplus)
extern "C"
{
#endif

    /*!
     * @brief Calls initialization functions.
     *
     */
    void PINMUX_InitBootPins(void);

    /**
     * DEBUG UART PINMUX DEFINITIONS
     */

#define PINMUX_DEBUGUART_TX IOMUXC_GPIO_AD_B1_06_LPUART3_TX
#define PINMUX_DEBUGUART_RX IOMUXC_GPIO_AD_B1_07_LPUART3_RX

    void PINMUX_InitDEBUG_UART(void);

    void PINMUX_InitSDRAM(void);

#define PINMUX_EMMC_DATA0 IOMUXC_GPIO_SD_B1_03_USDHC2_DATA0
#define PINMUX_EMMC_DATA1 IOMUXC_GPIO_SD_B1_02_USDHC2_DATA1
#define PINMUX_EMMC_DATA2 IOMUXC_GPIO_SD_B1_01_USDHC2_DATA2
#define PINMUX_EMMC_DATA3 IOMUXC_GPIO_SD_B1_00_USDHC2_DATA3
#define PINMUX_EMMC_DATA4 IOMUXC_GPIO_SD_B1_08_USDHC2_DATA4
#define PINMUX_EMMC_DATA5 IOMUXC_GPIO_SD_B1_09_USDHC2_DATA5
#define PINMUX_EMMC_DATA6 IOMUXC_GPIO_SD_B1_10_USDHC2_DATA6
#define PINMUX_EMMC_DATA7 IOMUXC_GPIO_SD_B1_11_USDHC2_DATA7
#define PINMUX_EMMC_CLK   IOMUXC_GPIO_SD_B1_04_USDHC2_CLK
#define PINMUX_EMMC_CMD   IOMUXC_GPIO_SD_B1_05_USDHC2_CMD
#define PINMUX_EMMC_RESET IOMUXC_GPIO_SD_B1_06_USDHC2_RESET_B

    void PINMUX_InitEMMC(void);

#define PINMUX_AUDIOCODEC_SAIx_MCLK      IOMUXC_GPIO_AD_B0_10_SAI2_MCLK
#define PINMUX_AUDIOCODEC_SAIx_TX_DATA00 IOMUXC_GPIO_AD_B0_09_SAI2_TX_DATA
#define PINMUX_AUDIOCODEC_SAIx_RX_DATA00 IOMUXC_GPIO_AD_B0_08_SAI2_RX_DATA
#define PINMUX_AUDIOCODEC_SAIx_BCLK      IOMUXC_GPIO_AD_B0_05_SAI2_TX_BCLK
#define PINMUX_AUDIOCODEC_SAIx_TX_SYNC   IOMUXC_GPIO_AD_B0_04_SAI2_TX_SYNC

#define PINMUX_AUDIOCODEC_SCL IOMUXC_GPIO_B0_04_LPI2C2_SCL
#define PINMUX_AUDIOCODEC_SDA IOMUXC_GPIO_B0_05_LPI2C2_SDA

    void PINMUX_InitAudioCodec(void);

#define PINMUX_KEYBOARD_SCL   IOMUXC_GPIO_B0_04_LPI2C2_SCL
#define PINMUX_KEYBOARD_SDA   IOMUXC_GPIO_B0_05_LPI2C2_SDA
#define PINMUX_KEYBOARD_RESET IOMUXC_GPIO_B1_13_GPIO2_IO29
#define PINMUX_KEYBOARD_IRQ   IOMUXC_GPIO_B1_12_GPIO2_IO28

    void PINMUX_InitKeyboard(void);

/**
 * EINK PINMUX DEFINITIONS
 */
#define PINMUX_EINK_SCK   IOMUXC_GPIO_SD_B0_00_LPSPI1_SCK
#define PINMUX_EINK_SDO   IOMUXC_GPIO_SD_B0_02_LPSPI1_SDO
#define PINMUX_EINK_SDI   IOMUXC_GPIO_SD_B0_03_LPSPI1_SDI
#define PINMUX_EINK_CS    IOMUXC_GPIO_SD_B0_01_GPIO3_IO13
#define PINMUX_EINK_BUSY  IOMUXC_GPIO_SD_B0_05_GPIO3_IO17
#define PINMUX_EINK_RESET IOMUXC_GPIO_SD_B0_04_GPIO3_IO16
    void PINMUX_InitEINK(void);

/**
 * CELLULAR PINMUX DEFINITIONS
 */
#define PINMUX_CELLULAR_UART_TX           IOMUXC_GPIO_AD_B0_12_LPUART1_TX
#define PINMUX_CELLULAR_UART_RX           IOMUXC_GPIO_AD_B0_13_LPUART1_RX
#define PINMUX_CELLULAR_UART_CTS          IOMUXC_GPIO_AD_B0_14_LPUART1_CTS_B
#define PINMUX_CELLULAR_UART_RTS          IOMUXC_GPIO_AD_B0_15_LPUART1_RTS_B
#define PINMUX_CELLULAR_AP_READY          IOMUXC_GPIO_B1_00_GPIO2_IO16
#define PINMUX_CELLULAR_RESET             IOMUXC_GPIO_B1_01_GPIO2_IO17
#define PINMUX_CELLULAR_PWRKEY            IOMUXC_GPIO_B1_02_GPIO2_IO18
#define PINMUX_CELLULAR_WAKEUP_IN         IOMUXC_GPIO_B1_06_GPIO2_IO22
#define PINMUX_CELLULAR_SIM_SEL           IOMUXC_GPIO_B1_04_GPIO2_IO20
#define PINMUX_CELLULAR_RI                IOMUXC_GPIO_B1_05_GPIO2_IO21
#define PINMUX_CELLULAR_DTR               IOMUXC_GPIO_EMC_41_GPIO3_IO27
#define PINMUX_CELLULAR_SIM_TRAY_INSERTED IOMUXC_GPIO_B0_11_GPIO2_IO11
#define PINMUX_CELLULAR_NC                IOMUXC_GPIO_B0_10_GPIO2_IO10
#define PINMUX_CELLULAR_SIM_PRESENCE      IOMUXC_GPIO_B0_09_GPIO2_IO09
#define PINMUX_CELLULAR_ANTENNA_SELECT    IOMUXC_GPIO_B0_02_GPIO2_IO02
#define PINMUX_CELLULAR_STATUS            IOMUXC_GPIO_AD_B0_02_GPIO1_IO02
#define PINMUX_CELLULAR_USB_BOOT_PIN      IOMUXC_GPIO_B1_08_GPIO2_IO24

#define PINMUX_CELLULAR_SAIx_TX_DATA00 IOMUXC_GPIO_AD_B1_13_SAI1_TX_DATA00
#define PINMUX_CELLULAR_SAIx_RX_DATA00 IOMUXC_GPIO_AD_B1_12_SAI1_RX_DATA00
#define PINMUX_CELLULAR_SAIx_BCLK      IOMUXC_GPIO_AD_B1_14_SAI1_TX_BCLK
#define PINMUX_CELLULAR_SAIx_TX_SYNC   IOMUXC_GPIO_AD_B1_15_SAI1_TX_SYNC

    void PINMUX_InitCellular(void);

/**
 * BLUETOOTH PINMUX DEFINITIONS
 */
#define PINMUX_BLUETOOTH_UART_TX   IOMUXC_GPIO_AD_B1_02_LPUART2_TX
#define PINMUX_BLUETOOTH_UART_RX   IOMUXC_GPIO_AD_B1_03_LPUART2_RX
#define PINMUX_BLUETOOTH_UART_CTS  IOMUXC_GPIO_AD_B1_00_LPUART2_CTS_B
#define PINMUX_BLUETOOTH_UART_RTS  IOMUXC_GPIO_AD_B1_01_LPUART2_RTS_B
#define PINMUX_BLUETOOTH_OSC_EN    IOMUXC_GPIO_B0_00_GPIO2_IO00
#define PINMUX_BLUETOOTH_NSHUTDOWN IOMUXC_GPIO_B0_01_GPIO2_IO01

    void PINMUX_InitBluetoothPins(void);

/**
 * USB TYPE-C CONTROLLER PINMUX DEFINITIONS
 */
#define PINMUX_USBC_CONTROLLER_NINT    IOMUXC_GPIO_B1_09_GPIO2_IO25
#define PINMUX_USBC_CONTROLLER_ID      IOMUXC_GPIO_B1_10_GPIO2_IO26
#define PINMUX_USBC_CONTROLLER_PORT    IOMUXC_GPIO_B1_07_GPIO2_IO23
#define PINMUX_USB_FUNCTION_MUX_SELECT IOMUXC_GPIO_AD_B1_09_GPIO1_IO25
    void PINMUX_InitUSBC(void);

/**
 * LED DRIVER PINMUX DEFINITIONS
 */
#define PINMUX_LEDDRIVER_NRST IOMUXC_GPIO_AD_B0_03_GPIO1_IO03
    void PINMUX_InitLEDDRIVER(void);

/**
 * HEADSET (JACK DETECTION, MIC BIAS) PINMUX DEFINITIONS
 */
#define PINMUX_JACKDET_IRQ IOMUXC_GPIO_B1_14_GPIO2_IO30
#define PINMUX_MIC_LDO_EN  IOMUXC_GPIO_B1_03_GPIO2_IO19
    void PINMUX_InitHeadset(void);

/**
 * BATTERY CHARGER PINMUX DEFINITIONS
 */
#define PINUMX_BATTERY_CHARGER_INOKB_IRQ   IOMUXC_GPIO_B0_12_GPIO2_IO12
#define PINUMX_BATTERY_CHARGER_WCINOKB_IRQ IOMUXC_GPIO_B0_13_GPIO2_IO13
#define PINUMX_BATTERY_CHARGER_INTB_IRQ    IOMUXC_GPIO_B0_14_GPIO2_IO14

    void PINMUX_InitBatteryCharger(void);

#define PINMUX_KEYBOARD_POWER_ENABLE_PAD IOMUXC_GPIO_B0_07_GPIO2_IO07
#define PINMUX_KEYBOARD_RF_BUTTON_PAD    IOMUXC_GPIO_B0_06_GPIO2_IO06

    void PINMUX_InitPowerButton(void);

#define PINMUX_ALS_ADC IOMUXC_GPIO_AD_B1_08_GPIO1_IO24 // gpio_ad_b1_08 - gpio1.24 - alt5
#define PINMUX_ALS_GB1 IOMUXC_GPIO_AD_B1_10_GPIO1_IO26 // GPIO_AD_B1_10
#define PINMUX_ALS_GB2 IOMUXC_GPIO_AD_B1_11_GPIO1_IO27 // GPIO_AD_B1_11
    void PINMUX_InitALS(void);

#define PINMUX_POWER_SW   IOMUXC_GPIO_B0_06_GPIO2_IO06
#define PINMUX_POWER_HOLD IOMUXC_GPIO_B0_07_GPIO2_IO07
    void PINMUX_InitPowerSW(void);

#define PINMUX_VIBRATOR_EN_PIN IOMUXC_GPIO_AD_B0_00_GPIO1_IO00
    void PINMUX_InitVibrator(void);

#define PINMUX_TORCH_EN_PIN IOMUXC_GPIO_AD_B1_05_GPIO1_IO21
    void PINMUX_InitTorch(void);

#define PINMUX_MAGNETOMETER_IRQ_PIN IOMUXC_GPIO_AD_B1_04_GPIO1_IO20
    void PINMUX_InitMagnetometer(void);

#define PINMUX_EINK_FORNTLIGHT_PWM IOMUXC_GPIO_AD_B0_01_FLEXPWM2_PWMB03
    void PINMUX_InitEinkFrontlight(void);

#define PINMUX_LIGHT_SENSOR_IRQ_PIN IOMUXC_GPIO_B0_15_GPIO2_IO15
    void PINMUX_InitLightSensor(void);

#if defined(__cplusplus)
}
#endif

/*!
 * @}
 */
#endif /* _PIN_MUX_H_ */

/***********************************************************************************************************************
 * EOF
 **********************************************************************************************************************/