#ifndef __BOARD_H__ #define __BOARD_H__ /* Common definitions for all boards with KL520 */ #define YES 1 #define NO 0 //Protocol #define COMM_SUPPORT_I2C 0 #define COMM_SUPPORT_SPI 1 #define COMM_SUPPORT_UART 2 #define COMM_SUPPORT_I2S 3 #define COMM_PORT_ID_0 0 #define COMM_PORT_ID_1 1 #define COMM_PORT_ID_2 2 #define COMM_PORT_ID_3 3 #define COMM_PORT_ID_4 4 #define COMM_I2CSPEED_100K 0 #define COMM_I2CSPEED_200K 1 #define COMM_I2CSPEED_400K 2 #define COMM_I2CSPEED_1000K 3 #define COMM_I2CMODE_SLAVE 0 #define COMM_I2CMODE_MASTER 1 #define COMM_SPIMODE_MODE_0 0 #define COMM_SPIMODE_MODE_1 1 #define COMM_SPIMODE_MODE_2 2 #define COMM_SPIMODE_MODE_3 3 #define COMM_UART_BAUDRATE_1200 0 #define COMM_UART_BAUDRATE_2400 1 #define COMM_UART_BAUDRATE_4800 2 #define COMM_UART_BAUDRATE_9600 3 #define COMM_UART_BAUDRATE_14400 4 #define COMM_UART_BAUDRATE_19200 5 #define COMM_UART_BAUDRATE_38400 6 #define COMM_UART_BAUDRATE_57600 7 #define COMM_UART_BAUDRATE_115200 8 #define COMM_UART_BAUDRATE_460800 9 #define COMM_UART_BAUDRATE_921600 10 //flash //flash manufacturer #define FLASH_TYPE_NULL 0x00 /**< No flash */ #define FLASH_TYPE_WINBOND_NOR 0X01 #define FLASH_TYPE_WINBOND_NAND 0X02 #define FLASH_TYPE_MXIC_NOR 0X11 #define FLASH_TYPE_MXIC_NAND 0X12 #define FLASH_TYPE_GIGADEVICE_NOR 0X21 #define FLASH_TYPE_GIGADEVICE_NAND 0X22 //flash SIZE #define FLASH_SIZE_64MBIT 1 //8MBYTES #define FLASH_SIZE_128MBIT 2 //16MBYTES #define FLASH_SIZE_256MBIT 3 //32MBYTES //speed(25MHZ/50MHZ/100MHZ) #define FLASH_COMM_SPEED_25MHZ 1 #define FLASH_COMM_SPEED_50MHZ 2 #define FLASH_COMM_SPEED_100MHZ 3 //IO pin DRIVING STRENGTH #define FLASH_DRV_NORMAL_MODE 1 #define FLASH_DRV_DUAL_IO_MODE 2 #define FLASH_DRV_DUAL_OUTPUT_MODE 3 #define FLASH_DRV_QUAD_IO_MODE 4 #define FLASH_DRV_QUAD_OUTPUT_MODE 5 #define SENSOR_ID_HMX2056 0 #define SENSOR_ID_OV9286 1 #define SENSOR_ID_HMXRICA 2 #define SENSOR_ID_GC2145 3 #define SENSOR_ID_SC132GS 4 #define SENSOR_ID_MAX 5 #define SENSOR_ID_EXTERN 0xFE #define SENSOR_ID_NONE 0xFF #define IMGSRC_IN_PORT_NONE 0 #define IMGSRC_IN_PORT_MIPI 1 #define IMGSRC_IN_PORT_DPI 2 //DVP port #define IMGSRC_IN_PORT_UVC 3 #define SENSOR_RES_640_480 0 #define SENSOR_RES_480_640 1 #define SENSOR_RES_480_272 2 #define SENSOR_RES_272_480 3 /* align with 720, use SENSOR_RES_xxx instead of RES_XXX #define RES_640_480 0 #define RES_480_640 1 #define RES_480_272 2 #define RES_272_480 3 */ #define IMG_FORMAT_RGB565 0 #define IMG_FORMAT_RAW10 1 #define IMG_FORMAT_RAW8 2 #define IMG_FORMAT_YCBCR 3 #define IMG_TYPE_RGB 0 #define IMG_TYPE_IR 1 /* align with 720, use IMG_XXX instead of IMAGE_XXX #define IMAGE_FORMAT_RGB565 0 #define IMAGE_FORMAT_RAW10 1 #define IMAGE_FORMAT_RAW8 2 #define IMAGE_FORMAT_YCBCR 3 #define IMAGE_TYPE_RGB 0 #define IMAGE_TYPE_IR 1 */ #define DISPLAY_DEVICE_LCDC 0 #define DISPLAY_DEVICE_LCM 1 #define PANEL_MZT_480X272 1 #define PANEL_ST7789_240X320 2 #define SENSOR_RES_RGB SENSOR_RES_640_480 #define SENSOR_RES_NIR SENSOR_RES_480_640 #define IMGSRC_FORMAT_RGB IMG_FORMAT_RGB565 #define IMGSRC_FORMAT_NIR IMG_FORMAT_RAW8 #define CFG_AI_3D_LIVENESS_IN_NONE 0 #define CFG_AI_3D_LIVENESS_IN_SCPU 1 #define CFG_AI_3D_LIVENESS_IN_NCPU 2 /* Specific definitions for each board */ #ifndef BOARD_DVP_EXAMPLE /* original board_kl520_96.h*/ #define IMGSRC_IN_0 YES #define IMGSRC_IN_1 YES #if (IMGSRC_IN_0 == YES) #define IMGSRC_IN_0_PORT IMGSRC_IN_PORT_MIPI #define IMGSRC_0_SENSORID SENSOR_ID_GC2145 #define IMGSRC_0_FORMAT IMG_FORMAT_RGB565 #define IMGSRC_0_TYPE IMG_TYPE_RGB #define IMGSRC_0_RES SENSOR_RES_640_480 #define IMGSRC_0_WIDTH 640 #define IMGSRC_0_HEIGHT 480 #define IMGSRC_0_TILE_AVG 0 #define IMGSRC_0_MIPI_LANE 2 #else #define IMGSRC_IN_0_PORT IMGSRC_IN_PORT_NONE #define IMGSRC_0_SENSORID SENSOR_ID_NONE #define IMGSRC_0_FORMAT IMG_FORMAT_RGB565 #define IMGSRC_0_TYPE IMG_TYPE_RGB #define IMGSRC_0_RES SENSOR_RES_640_480 #define IMGSRC_0_WIDTH 640 #define IMGSRC_0_HEIGHT 480 #define IMGSRC_0_TILE_AVG 0 #define IMGSRC_0_MIPI_LANE 2 #endif #if (IMGSRC_IN_1 == YES) #define IMGSRC_IN_1_PORT IMGSRC_IN_PORT_MIPI #define IMGSRC_1_SENSORID SENSOR_ID_SC132GS #define IMGSRC_1_FORMAT IMG_FORMAT_RAW8 #define IMGSRC_1_TYPE IMG_TYPE_IR #define IMGSRC_1_RES SENSOR_RES_480_640 #define IMGSRC_1_WIDTH 480 #define IMGSRC_1_HEIGHT 640 #define IMGSRC_1_TILE_AVG 1 #define IMGSRC_1_MIPI_LANE 2 #else #define IMGSRC_IN_1_PORT IMGSRC_IN_PORT_NONE #define IMGSRC_1_SENSORID SENSOR_ID_NONE #define IMGSRC_1_FORMAT IMG_FORMAT_RAW8 #define IMGSRC_1_TYPE IMG_TYPE_IR #define IMGSRC_1_RES SENSOR_RES_480_640 #define IMGSRC_1_WIDTH 480 #define IMGSRC_1_HEIGHT 640 #define IMGSRC_1_TILE_AVG 1 #define IMGSRC_1_MIPI_LANE 2 #endif #if (IMGSRC_IN_0_PORT == IMGSRC_IN_PORT_MIPI || IMGSRC_IN_1_PORT == IMGSRC_IN_PORT_MIPI) #define IMGSRC_IN_HAS_MIPI #define MIPI_LANE_RGB 2 #define MIPI_LANE_NIR 2 #endif #if (IMGSRC_IN_0_PORT == IMGSRC_IN_PORT_DPI || IMGSRC_IN_1_PORT == IMGSRC_IN_PORT_DPI) #define IMGSRC_IN_HAS_DPI #if (IMGSRC_IN_0_PORT == IMGSRC_IN_PORT_DPI) #define IMAGE_DVP_PORT_NO 0 #else #define IMAGE_DVP_PORT_NO 1 #endif #endif #if (IMGSRC_IN_0_PORT == IMGSRC_IN_PORT_UVC || IMGSRC_IN_1_PORT == IMGSRC_IN_PORT_UVC) #define IMGSRC_IN_HAS_UVC #endif #if (IMGSRC_IN_0 && IMGSRC_IN_1 && IMGSRC_IN_2) #define CAM_ID_MAX 3 #elif (IMGSRC_IN_0 && IMGSRC_IN_1) #define CAM_ID_MAX 2 #elif (IMGSRC_IN_0 || IMGSRC_IN_1) #define CAM_ID_MAX 1 #else #define CAM_ID_MAX 0 #endif #define IMGSRC_NUM CAM_ID_MAX #define MIPI_CAM_RGB 0 #define MIPI_CAM_NIR 1 #define LCDC_WIDTH 640 #define LCDC_HEIGHT 480 #define RGB_IMG_SOURCE_W IMGSRC_0_WIDTH #define RGB_IMG_SOURCE_H IMGSRC_0_HEIGHT #define NIR_IMG_SOURCE_W IMGSRC_1_WIDTH #define NIR_IMG_SOURCE_H IMGSRC_1_HEIGHT #define PANEL_TYPE PANEL_MZT_480X272 #define DISPLAY_DEVICE DISPLAY_DEVICE_LCDC #define CAM_CLK_MS 2 #define CAM_CLK_NS 242 #define CAM_CLK_PS 2 #define CSI0_TXESC 4 #define CSI0_CSI 11 #define CSI0_VC0 5 #define CSI1_TXESC 4 #define CSI1_CSI 7 #define CSI1_VC0 1 /* original board_cfg_96.h*/ #define CFG_V2K_TYPE 8 #define CFG_PANEL_TYPE 1 #define CFG_DISPLAY_DMA_ENABLE 0 #define CFG_PREFER_DISPLAY 1 #define CFG_I2C_0_ENABLE 1 #define CFG_I2C_1_ENABLE 0 #define CFG_I2C_2_ENABLE 0 #define CFG_I2C_3_ENABLE 0 #define CFG_UART0_ENABLE 1 #define CFG_UART1_ENABLE 0 #define CFG_UART1_TX_DMA_ENABLE 0 #define CFG_UART1_RX_DMA_ENABLE 0 #define CFG_UART2_ENABLE 0 #define CFG_UART2_TX_DMA_ENABLE 0 #define CFG_UART2_RX_DMA_ENABLE 0 #define CFG_UART3_ENABLE 0 #define CFG_UART3_TX_DMA_ENABLE 0 #define CFG_UART3_RX_DMA_ENABLE 0 #define CFG_UART4_ENABLE 0 #define CFG_UART4_TX_DMA_ENABLE 0 #define CFG_UART4_RX_DMA_ENABLE 0 #define CFG_ADC0_ENABLE 0 #define CFG_ADC0_DMA_ENABLE 0 #define CFG_ADC1_ENABLE 0 #define CFG_ADC1_DMA_ENABLE 0 #define CFG_ADC2_ENABLE 0 #define CFG_ADC2_DMA_ENABLE 0 #define CFG_ADC3_ENABLE 0 #define CFG_ADC3_DMA_ENABLE 0 #define CFG_PWM1_DMA_ENABLE 0 #define CFG_PWM2_DMA_ENABLE 0 #define CFG_PWM3_DMA_ENABLE 0 #define CFG_PWM4_DMA_ENABLE 0 #define CFG_PWM5_DMA_ENABLE 0 #define CFG_PWM6_DMA_ENABLE 0 #define CFG_SSP0_ENABLE 0 #define CFG_SSP0_TX_DMA_ENABLE 0 #define CFG_SSP0_RX_DMA_ENABLE 0 #define CFG_SSP1_ENABLE 1 #define CFG_SSP1_TX_DMA_ENABLE 1 #define CFG_SSP1_RX_DMA_ENABLE 1 #define CFG_SPI_ENABLE 1 #define CFG_SPI_DMA_ENABLE 0 #define CFG_SD_ENABLE 1 #define CFG_SD_DMA_ENABLE 0 #define CFG_USBD_ENABLE 0 #define CFG_USBH_ENABLE 0 #define CFG_AI_USE_FIXED_IMG 0 #define CFG_AI_3D_ENABLE 1 #define CFG_AI_3D_LIVENESS_IN 2 #define CFG_UI_USR_IMG 1 #define CFG_CONSOLE_MODE 1 #define CFG_TOUCH_ENABLE 1 #define CFG_USE_FRAME_BUFFER_DRIVER 1 #define CFG_SNAPSHOT_ENABLE 1 #define CFG_SNAPSHOT_NUMS 10 #define CFG_DFU_FLASH_BUF_ENABLE 1 #define CFG_DFU_IMAGE_BUF_ENABLE 1 #define CFG_KDP_SETTINGS_ENABLE 1 #define CFG_KDP_SETTINGS_SIZE 8192 #define CFG_USR_SETTINGS_ENABLE 1 #define CFG_USR_SETTINGS_SIZE 4096 #else #include "board_kl520_dvp_example.h" #endif /* original board_uvc.h*/ #define YCBCR422_IMG_SOURCE_W 640 #define YCBCR422_IMG_SOURCE_H 480 // #ifdef BOARD_96 // #include "board_kl520_96.h" // #include "board_cfg_96.h" // #elif BOARD_DVP_EXAMPLE // #include "board_kl520_dvp_example.h" // #else // #include "board_kl520_evb.h" // #endif // #ifdef KDP_UVC // #include "board_uvc.h" // #endif #endif // __BOARD_KDP520_H__