• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)15 hpm_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)39 hpm_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