1 /* 2 * Copyright (c) 2023 HPMicro 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #include "hpm_mt9m114.h" 9 10 static camera_param_dvp_t camera_dvp_param = { 11 .hsync_active_low = true, 12 .vsync_active_low = true, 13 }; 14 camera_device_init(camera_context_t * camera_context,camera_config_t * camera_config)15hpm_stat_t camera_device_init(camera_context_t *camera_context, camera_config_t *camera_config) 16 { 17 assert(camera_context->delay_ms != NULL); 18 19 hpm_stat_t stat = status_success; 20 21 /* first check chipid */ 22 stat = mt9m114_check_chip_id(camera_context); 23 if (stat != status_success) { 24 return stat; 25 } 26 27 /* software reset */ 28 stat = mt9m114_software_reset(camera_context); 29 if (stat != status_success) { 30 return stat; 31 } 32 camera_context->delay_ms(20); 33 34 stat = mt9m114_init(camera_context, camera_config); 35 36 return stat; 37 } 38 camera_device_get_dvp_param(camera_context_t * camera_context,camera_config_t * camera_config)39hpm_stat_t camera_device_get_dvp_param(camera_context_t *camera_context, camera_config_t *camera_config) 40 { 41 camera_config->interface_param = (void *)&camera_dvp_param; 42 return status_success; 43 } 44