61 lines
2.2 KiB
C
61 lines
2.2 KiB
C
|
|
#include <rtthread.h>
|
|
|
|
#include "chrg_gpio.h"
|
|
|
|
|
|
struct chrg_io_t chrgios[TOTAL_IOS] = {
|
|
[IDX_GPO_LED1] = {GPO_PIN_LED1, PIN_MODE_OUTPUT, PIN_HIGH},
|
|
[IDX_GPO_LED2] = {GPO_PIN_LED2, PIN_MODE_OUTPUT, PIN_HIGH},
|
|
[IDX_GPO_LED3] = {GPO_PIN_LED3, PIN_MODE_OUTPUT, PIN_HIGH},
|
|
[IDX_GPO_UART_SW1] = {GPO_PIN_UART_SW1, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_UART_SW2] = {GPO_PIN_UART_SW2, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_UART_SW3] = {GPO_PIN_UART_SW3, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_UART_SW4] = {GPO_PIN_UART_SW4, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH1_P0] = {GPO_PIN_CH1_P0, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH1_P1] = {GPO_PIN_CH1_P1, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH1_P2] = {GPO_PIN_CH1_P2, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH2_P0] = {GPO_PIN_CH2_P0, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH2_P1] = {GPO_PIN_CH2_P1, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH2_P2] = {GPO_PIN_CH2_P2, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH3_P0] = {GPO_PIN_CH3_P0, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH3_P1] = {GPO_PIN_CH3_P1, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH3_P2] = {GPO_PIN_CH3_P2, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH4_P0] = {GPO_PIN_CH4_P0, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH4_P1] = {GPO_PIN_CH4_P1, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_CH4_P2] = {GPO_PIN_CH4_P2, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_NOR_SW_A] = {GPO_PIN_NOR_SW_A, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_NOR_SW_B] = {GPO_PIN_NOR_SW_B, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_SOU_SW_LV1_A] = {GPO_PIN_SOU_SW_LV1_A, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_SOU_SW_LV1_B] = {GPO_PIN_SOU_SW_LV1_B, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_SOU_SW_LV2_A1] = {GPO_PIN_SOU_SW_LV2_A1, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_SOU_SW_LV2_B1] = {GPO_PIN_SOU_SW_LV2_B1, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_SOU_SW_LV2_A2] = {GPO_PIN_SOU_SW_LV2_A2, PIN_MODE_OUTPUT, PIN_LOW},
|
|
[IDX_GPO_SOU_SW_LV2_B2] = {GPO_PIN_SOU_SW_LV2_B2, PIN_MODE_OUTPUT, PIN_LOW}
|
|
};
|
|
|
|
|
|
static int chrg_gpios_init (void)
|
|
{
|
|
int i = 0;
|
|
struct chrg_io_t *pIO = RT_NULL;
|
|
|
|
for (i = 0; i < TOTAL_IOS; i++) {
|
|
pIO = &chrgios[i];
|
|
rt_pin_mode(pIO->base, pIO->mode);
|
|
if (PIN_MODE_OUTPUT == pIO->mode) {
|
|
rt_pin_write(pIO->base, pIO->value);
|
|
} else {
|
|
continue;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
INIT_ENV_EXPORT(chrg_gpios_init);
|
|
|
|
|
|
|