no-OS
Loading...
Searching...
No Matches
max96792.h
Go to the documentation of this file.
1/*******************************************************************************
2 * @file max96792.h
3 * @brief Header file of MAX96792 Driver.
4 * @author Automotive Software and Systems team, Bangalore, India
5********************************************************************************
6 * Copyright 2025(c) Analog Devices, Inc.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer.
13 *
14 * 2. Redistributions in binary form must reproduce the above copyright notice,
15 * this list of conditions and the following disclaimer in the documentation
16 * and/or other materials provided with the distribution.
17 *
18 * 3. Neither the name of Analog Devices, Inc. nor the names of its
19 * contributors may be used to endorse or promote products derived from this
20 * software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. "AS IS" AND ANY EXPRESS OR
23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
25 * EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
28 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32******************************************************************************/
33#ifndef MAX96792_H
34#define MAX96792_H
35
36#include <stdint.h>
37#include "gmsl_common.h"
38#include "gmsl_dbg.h"
39#include "no_os_error.h"
40#include "no_os_alloc.h"
41#include "gmsl_cam_des.h"
42
43#define MAX96792_DEV_STATE_MEM_SIZE (sizeof(struct max96792_state))
44#define MAX96792_MAX_DATA_LANES (4U)
45
54
63
70
99
109
115 uint8_t dummy;
116};
117
118int32_t max96792_init(struct gmsl_dev **device, struct no_os_i2c_desc *i2c_desc,
119 void *init_param);
120int32_t max96792_remove(struct gmsl_dev *dev);
121
122#endif /* MAX96792_H */
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t max96792_init(struct gmsl_dev **device, struct no_os_i2c_desc *i2c_desc, void *init_param)
Initialize the device driver before use.
Definition max96792.c:115
int32_t max96792_remove(struct gmsl_dev *dev)
Free memory allocated by max96792_init().
Definition max96792.c:210
max96792_data_lanes
Definition max96792.h:64
@ MAX96792_DATA_LANE_2
Definition max96792.h:67
@ MAX96792_DATA_LANE_3
Definition max96792.h:68
@ MAX96792_DATA_LANE_1
Definition max96792.h:66
@ MAX96792_DATA_LANE_0
Definition max96792.h:65
max96792_video_pipes
Enumerates video pipes in the device.
Definition max96792.h:59
@ MAX96792_VIDEO_PIPE_Z
Definition max96792.h:61
@ MAX96792_VIDEO_PIPE_Y
Definition max96792.h:60
max96792_link
Enumeration for MAX96792 GMSL links.
Definition max96792.h:50
@ MAX96792_LINK_A
Definition max96792.h:51
@ MAX96792_LINK_B
Definition max96792.h:52
max96792_data_type
DATA Type for MAX96792 device.
Definition max96792.h:74
@ MAX96792_DATA_TYPE_YUV422_8BIT
Definition max96792.h:79
@ MAX96792_DATA_TYPE_GENERIC8_B
Definition max96792.h:77
@ MAX96792_DATA_TYPE_RGB666
Definition max96792.h:82
@ MAX96792_DATA_TYPE_RAW12
Definition max96792.h:86
@ MAX96792_DATA_TYPE_GENERIC8_A
Definition max96792.h:76
@ MAX96792_DATA_TYPE_UDP8_D
Definition max96792.h:94
@ MAX96792_DATA_TYPE_RGB888
Definition max96792.h:83
@ MAX96792_DATA_TYPE_EMB8
Definition max96792.h:78
@ MAX96792_DATA_TYPE_RAW8
Definition max96792.h:84
@ MAX96792_DATA_TYPE_RAW20
Definition max96792.h:89
@ MAX96792_DATA_TYPE_YUV422_12BIT
Definition max96792.h:90
@ MAX96792_DATA_TYPE_RAW16
Definition max96792.h:88
@ MAX96792_DATA_TYPE_DEFAULT
Definition max96792.h:75
@ MAX96792_DATA_TYPE_UDP8_C
Definition max96792.h:93
@ MAX96792_DATA_TYPE_RAW10
Definition max96792.h:85
@ MAX96792_DATA_TYPE_UDP8_A
Definition max96792.h:91
@ MAX96792_DATA_TYPE_UDP8_B
Definition max96792.h:92
@ MAX96792_DATA_TYPE_UDP8_G
Definition max96792.h:97
@ MAX96792_DATA_TYPE_RAW14
Definition max96792.h:87
@ MAX96792_DATA_TYPE_YUV422_10BIT
Definition max96792.h:80
@ MAX96792_DATA_TYPE_UDP8_F
Definition max96792.h:96
@ MAX96792_DATA_TYPE_RGB565
Definition max96792.h:81
@ MAX96792_DATA_TYPE_UDP8_E
Definition max96792.h:95
Error codes definition.
Definition ad9361_util.h:63
Structure representing a GMSL device handle, containing configuration parameters and diagnostic opera...
Definition gmsl_common.h:159
MAX96792 device capabilities.
Definition max96792.h:104
uint8_t max_phy_ctrlr
Definition max96792.h:107
uint8_t max_links_count
Definition max96792.h:105
uint8_t max_lmn_count
Definition max96792.h:106
MAX96792 device state.
Definition max96792.h:114
uint8_t dummy
Definition max96792.h:115
Structure holding I2C address descriptor.
Definition no_os_i2c.h:89