forked from xuos/xiuos
feat support uart8 and ec200t device on xidatong board
This commit is contained in:
parent
dadfdb85a3
commit
c14f2f73e0
|
@ -3,13 +3,19 @@ config ADAPTER_4G_EC200T
|
||||||
default "ec200t"
|
default "ec200t"
|
||||||
|
|
||||||
if ADD_XIZI_FETURES
|
if ADD_XIZI_FETURES
|
||||||
config ADAPTER_EC200T_PWRKEY
|
config ADAPTER_EC200T_USING_PWRKEY
|
||||||
int "EC200T PWRKEY pin number"
|
bool "EC200T using PWRKEY pin number"
|
||||||
default "97"
|
default n
|
||||||
|
|
||||||
config ADAPTER_EC200T_PIN_DRIVER
|
if ADAPTER_EC200T_USING_PWRKEY
|
||||||
string "EC200T device pin driver path"
|
config ADAPTER_EC200T_PWRKEY
|
||||||
default "/dev/pin_dev"
|
int "EC200T PWRKEY pin number"
|
||||||
|
default "97"
|
||||||
|
|
||||||
|
config ADAPTER_EC200T_PIN_DRIVER
|
||||||
|
string "EC200T device pin driver path"
|
||||||
|
default "/dev/pin_dev"
|
||||||
|
endif
|
||||||
|
|
||||||
config ADAPTER_EC200T_DRIVER_EXTUART
|
config ADAPTER_EC200T_DRIVER_EXTUART
|
||||||
bool "Using extra uart to support 4G"
|
bool "Using extra uart to support 4G"
|
||||||
|
|
|
@ -43,6 +43,7 @@ static void Ec200tPowerSet(void){ return; }
|
||||||
#else
|
#else
|
||||||
static void Ec200tPowerSet(void)
|
static void Ec200tPowerSet(void)
|
||||||
{
|
{
|
||||||
|
#ifdef ADAPTER_EC200T_USING_PWRKEY
|
||||||
int pin_fd;
|
int pin_fd;
|
||||||
pin_fd = PrivOpen(ADAPTER_EC200T_PIN_DRIVER, O_RDWR);
|
pin_fd = PrivOpen(ADAPTER_EC200T_PIN_DRIVER, O_RDWR);
|
||||||
if (pin_fd < 0) {
|
if (pin_fd < 0) {
|
||||||
|
@ -73,6 +74,7 @@ static void Ec200tPowerSet(void)
|
||||||
PrivClose(pin_fd);
|
PrivClose(pin_fd);
|
||||||
|
|
||||||
PrivTaskDelay(10000);
|
PrivTaskDelay(10000);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -995,6 +995,21 @@ void BOARD_InitUartPins(void)
|
||||||
IOMUXC_GPIO_AD_B1_03_LPUART2_RX,
|
IOMUXC_GPIO_AD_B1_03_LPUART2_RX,
|
||||||
0x10B0u);
|
0x10B0u);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef BSP_USING_LPUART8
|
||||||
|
IOMUXC_SetPinMux(
|
||||||
|
IOMUXC_GPIO_AD_B1_10_LPUART8_TX,
|
||||||
|
0U);
|
||||||
|
IOMUXC_SetPinMux(
|
||||||
|
IOMUXC_GPIO_AD_B1_11_LPUART8_RX,
|
||||||
|
0U);
|
||||||
|
IOMUXC_SetPinConfig(
|
||||||
|
IOMUXC_GPIO_AD_B1_10_LPUART8_TX,
|
||||||
|
0x10B0u);
|
||||||
|
IOMUXC_SetPinConfig(
|
||||||
|
IOMUXC_GPIO_AD_B1_11_LPUART8_RX,
|
||||||
|
0x10B0u);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************************************************************
|
/***********************************************************************************************************************
|
||||||
|
|
|
@ -1,29 +1,44 @@
|
||||||
config BSP_USING_LPUART1
|
config BSP_USING_LPUART1
|
||||||
bool "Enable LPUART1"
|
bool "Enable LPUART1"
|
||||||
default y
|
default y
|
||||||
if BSP_USING_LPUART1
|
if BSP_USING_LPUART1
|
||||||
config SERIAL_BUS_NAME_1
|
config SERIAL_BUS_NAME_1
|
||||||
string "serial bus 1 name"
|
string "serial bus 1 name"
|
||||||
default "uart1"
|
default "uart1"
|
||||||
config SERIAL_DRV_NAME_1
|
config SERIAL_DRV_NAME_1
|
||||||
string "serial bus 1 driver name"
|
string "serial bus 1 driver name"
|
||||||
default "uart1_drv"
|
default "uart1_drv"
|
||||||
config SERIAL_1_DEVICE_NAME_0
|
config SERIAL_1_DEVICE_NAME_0
|
||||||
string "serial bus 1 device name"
|
string "serial bus 1 device name"
|
||||||
default "uart1_dev1"
|
default "uart1_dev1"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
config BSP_USING_LPUART2
|
config BSP_USING_LPUART2
|
||||||
bool "Enable LPUART2"
|
bool "Enable LPUART2"
|
||||||
default y
|
default y
|
||||||
if BSP_USING_LPUART2
|
if BSP_USING_LPUART2
|
||||||
config SERIAL_BUS_NAME_2
|
config SERIAL_BUS_NAME_2
|
||||||
string "serial bus 2 name"
|
string "serial bus 2 name"
|
||||||
default "uart2"
|
default "uart2"
|
||||||
config SERIAL_DRV_NAME_2
|
config SERIAL_DRV_NAME_2
|
||||||
string "serial bus 2 driver name"
|
string "serial bus 2 driver name"
|
||||||
default "uart2_drv"
|
default "uart2_drv"
|
||||||
config SERIAL_2_DEVICE_NAME_0
|
config SERIAL_2_DEVICE_NAME_0
|
||||||
string "serial bus 2 device name"
|
string "serial bus 2 device name"
|
||||||
default "uart2_dev2"
|
default "uart2_dev2"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
config BSP_USING_LPUART8
|
||||||
|
bool "Enable LPUART8"
|
||||||
|
default n
|
||||||
|
if BSP_USING_LPUART8
|
||||||
|
config SERIAL_BUS_NAME_8
|
||||||
|
string "serial bus 8 name"
|
||||||
|
default "uart8"
|
||||||
|
config SERIAL_DRV_NAME_8
|
||||||
|
string "serial bus 8 driver name"
|
||||||
|
default "uart8_drv"
|
||||||
|
config SERIAL_8_DEVICE_NAME_0
|
||||||
|
string "serial bus 8 device name"
|
||||||
|
default "uart8_dev8"
|
||||||
|
endif
|
||||||
|
|
|
@ -43,7 +43,7 @@ void LPUART1_IRQHandler(int irqn, void *arg)
|
||||||
DisableIRQ(UART1_IRQn);
|
DisableIRQ(UART1_IRQn);
|
||||||
|
|
||||||
UartIsr(&serial_bus_1, &serial_driver_1, &serial_device_1);
|
UartIsr(&serial_bus_1, &serial_driver_1, &serial_device_1);
|
||||||
EnableIRQ(UART1_IRQn);
|
EnableIRQ(UART1_IRQn);
|
||||||
|
|
||||||
}
|
}
|
||||||
DECLARE_HW_IRQ(UART1_IRQn, LPUART1_IRQHandler, NONE);
|
DECLARE_HW_IRQ(UART1_IRQn, LPUART1_IRQHandler, NONE);
|
||||||
|
@ -66,6 +66,23 @@ void LPUART2_IRQHandler(int irqn, void *arg)
|
||||||
DECLARE_HW_IRQ(UART2_IRQn, LPUART2_IRQHandler, NONE);
|
DECLARE_HW_IRQ(UART2_IRQn, LPUART2_IRQHandler, NONE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef BSP_USING_LPUART8
|
||||||
|
struct SerialBus serial_bus_8;
|
||||||
|
struct SerialDriver serial_driver_8;
|
||||||
|
struct SerialHardwareDevice serial_device_8;
|
||||||
|
|
||||||
|
void LPUART8_IRQHandler(int irqn, void *arg)
|
||||||
|
{
|
||||||
|
|
||||||
|
DisableIRQ(LPUART8_IRQn);
|
||||||
|
|
||||||
|
UartIsr(&serial_bus_8, &serial_driver_8, &serial_device_8);
|
||||||
|
EnableIRQ(LPUART8_IRQn);
|
||||||
|
|
||||||
|
}
|
||||||
|
DECLARE_HW_IRQ(LPUART8_IRQn, LPUART8_IRQHandler, NONE);
|
||||||
|
#endif
|
||||||
|
|
||||||
static void SerialCfgParamCheck(struct SerialCfgParam *serial_cfg_default, struct SerialCfgParam *serial_cfg_new)
|
static void SerialCfgParamCheck(struct SerialCfgParam *serial_cfg_default, struct SerialCfgParam *serial_cfg_new)
|
||||||
{
|
{
|
||||||
struct SerialDataCfg *data_cfg_default = &serial_cfg_default->data_cfg;
|
struct SerialDataCfg *data_cfg_default = &serial_cfg_default->data_cfg;
|
||||||
|
@ -426,5 +443,38 @@ int Imxrt1052HwUartInit(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef BSP_USING_LPUART8
|
||||||
|
static struct SerialCfgParam serial_cfg_8;
|
||||||
|
memset(&serial_cfg_8, 0, sizeof(struct SerialCfgParam));
|
||||||
|
|
||||||
|
static struct SerialDevParam serial_dev_param_8;
|
||||||
|
memset(&serial_dev_param_8, 0, sizeof(struct SerialDevParam));
|
||||||
|
|
||||||
|
serial_driver_8.drv_done = &drv_done;
|
||||||
|
serial_driver_8.configure = &SerialDrvConfigure;
|
||||||
|
serial_device_8.hwdev_done = &hwdev_done;
|
||||||
|
|
||||||
|
serial_cfg_8.data_cfg = data_cfg_init;
|
||||||
|
|
||||||
|
serial_cfg_8.hw_cfg.private_data = (void *)LPUART8;
|
||||||
|
serial_cfg_8.hw_cfg.serial_irq_interrupt = LPUART8_IRQn;
|
||||||
|
serial_driver_8.private_data = (void *)&serial_cfg_8;
|
||||||
|
|
||||||
|
serial_dev_param_8.serial_work_mode = SIGN_OPER_INT_RX;
|
||||||
|
serial_device_8.haldev.private_data = (void *)&serial_dev_param_8;
|
||||||
|
|
||||||
|
ret = BoardSerialBusInit(&serial_bus_8, &serial_driver_8, SERIAL_BUS_NAME_8, SERIAL_DRV_NAME_8);
|
||||||
|
if (EOK != ret) {
|
||||||
|
KPrintf("Imxrt1052HwUartInit uart error ret %u\n", ret);
|
||||||
|
return ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = BoardSerialDevBend(&serial_device_8, (void *)&serial_cfg_8, SERIAL_BUS_NAME_8, SERIAL_8_DEVICE_NAME_0);
|
||||||
|
if (EOK != ret) {
|
||||||
|
KPrintf("Imxrt1052HwUartInit uart error ret %u\n", ret);
|
||||||
|
return ERROR;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue