feat support uart8 and ec200t device on xidatong board
This commit is contained in:
		
							parent
							
								
									dadfdb85a3
								
							
						
					
					
						commit
						c14f2f73e0
					
				| 
						 | 
					@ -3,6 +3,11 @@ config ADAPTER_4G_EC200T
 | 
				
			||||||
        default "ec200t"
 | 
					        default "ec200t"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ADD_XIZI_FETURES
 | 
					if ADD_XIZI_FETURES
 | 
				
			||||||
 | 
					        config ADAPTER_EC200T_USING_PWRKEY
 | 
				
			||||||
 | 
					                bool "EC200T using PWRKEY pin number"
 | 
				
			||||||
 | 
					                default n
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ADAPTER_EC200T_USING_PWRKEY
 | 
				
			||||||
                config ADAPTER_EC200T_PWRKEY
 | 
					                config ADAPTER_EC200T_PWRKEY
 | 
				
			||||||
                        int "EC200T PWRKEY pin number"
 | 
					                        int "EC200T PWRKEY pin number"
 | 
				
			||||||
                        default "97"
 | 
					                        default "97"
 | 
				
			||||||
| 
						 | 
					@ -10,6 +15,7 @@ if ADD_XIZI_FETURES
 | 
				
			||||||
                config ADAPTER_EC200T_PIN_DRIVER
 | 
					                config ADAPTER_EC200T_PIN_DRIVER
 | 
				
			||||||
                        string "EC200T device pin driver path"
 | 
					                        string "EC200T device pin driver path"
 | 
				
			||||||
                        default "/dev/pin_dev"
 | 
					                        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
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***********************************************************************************************************************
 | 
					/***********************************************************************************************************************
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,3 +27,18 @@ if BSP_USING_LPUART2
 | 
				
			||||||
                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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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