diff options
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/components/video/camera/device/max9286/fsl_max9286.h')
-rw-r--r-- | lib/chibios-contrib/ext/mcux-sdk/components/video/camera/device/max9286/fsl_max9286.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/components/video/camera/device/max9286/fsl_max9286.h b/lib/chibios-contrib/ext/mcux-sdk/components/video/camera/device/max9286/fsl_max9286.h new file mode 100644 index 000000000..8264b9e4d --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/components/video/camera/device/max9286/fsl_max9286.h | |||
@@ -0,0 +1,89 @@ | |||
1 | /* | ||
2 | * Copyright 2018, 2020 NXP | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * | ||
6 | * SPDX-License-Identifier: BSD-3-Clause | ||
7 | */ | ||
8 | |||
9 | #ifndef _FSL_MAX9286_H_ | ||
10 | #define _FSL_MAX9286_H_ | ||
11 | |||
12 | #include "fsl_common.h" | ||
13 | #include "fsl_camera_device.h" | ||
14 | #include "fsl_video_i2c.h" | ||
15 | |||
16 | /* | ||
17 | * Change Log: | ||
18 | * | ||
19 | * 1.0.2: | ||
20 | * - Bug Fixes: | ||
21 | * - Fix MISRA 2012 issues. | ||
22 | * | ||
23 | * 1.0.1: | ||
24 | * - Bug Fixes: | ||
25 | * - Fixed the bug that camera does not work after warm reset. | ||
26 | * | ||
27 | * 1.0.0: | ||
28 | * - Initial version. | ||
29 | * | ||
30 | */ | ||
31 | |||
32 | /* | ||
33 | * The MAX9286 supports 4 camera output. Currently the driver only support | ||
34 | * one camera output. User could select which camera to enable by the extended | ||
35 | * configuration max9286_ext_config_t. If not specified, the first valid camera | ||
36 | * is used. | ||
37 | */ | ||
38 | |||
39 | /******************************************************************************* | ||
40 | * Definitions | ||
41 | ******************************************************************************/ | ||
42 | |||
43 | /******************************************************************************* | ||
44 | * Prototypes | ||
45 | ******************************************************************************/ | ||
46 | |||
47 | /*! | ||
48 | * @brief MAX9286 resource. | ||
49 | * | ||
50 | * Before initialize the MAX9286, the resource must be initialized that the | ||
51 | * Two-Wire-Serial-Interface I2C could start to work. | ||
52 | * | ||
53 | * The input clock must be 27MHz. | ||
54 | */ | ||
55 | typedef struct _max9286_resource | ||
56 | { | ||
57 | video_i2c_send_func_t i2cSendFunc; /*!< I2C send function. */ | ||
58 | video_i2c_receive_func_t i2cReceiveFunc; /*!< I2C receive function. */ | ||
59 | void (*pullPowerDownPin)(bool pullUp); /*!< Function to pull power down pin high or low. */ | ||
60 | } max9286_resource_t; | ||
61 | |||
62 | /*! | ||
63 | * @brief MAX9286 extended configuration. | ||
64 | */ | ||
65 | typedef struct _max9286_ext_config | ||
66 | { | ||
67 | uint8_t enableCameraMask; /*!< Select which camera to enable, there are 4 cameras. For example, | ||
68 | use 0x01 to use camera 0, use 0x08 to use camera 3. | ||
69 | Currently only support one camera. If multiple cameras are | ||
70 | selected, the first available selected camera is used. | ||
71 | */ | ||
72 | } max9286_ext_config_t; | ||
73 | |||
74 | /*! @brief MAX9286 operation functions. */ | ||
75 | extern const camera_device_operations_t max9286_ops; | ||
76 | |||
77 | /******************************************************************************* | ||
78 | * API | ||
79 | ******************************************************************************/ | ||
80 | |||
81 | #if defined(__cplusplus) | ||
82 | extern "C" { | ||
83 | #endif | ||
84 | |||
85 | #if defined(__cplusplus) | ||
86 | } | ||
87 | #endif | ||
88 | |||
89 | #endif /* _FSL_MAX9286_H_ */ | ||