Jetson Linux API Reference

32.7.4 Release
MAX9296 deserializer driver

Detailed Description

Controls the MAX9296 deserializer module.

Functions

int max9296_setup_link (struct device *dev, struct device *s_dev)
 Puts a deserializer device in single exclusive link mode, so link-specific I2C overrides can be performed for sensor and serializer devices. More...
 
int max9296_setup_control (struct device *dev, struct device *s_dev)
 Sets up a deserializer link's control pipeline. More...
 
int max9296_reset_control (struct device *dev, struct device *s_dev)
 Resets a deserializer device's link control pipeline. More...
 
int max9296_sdev_register (struct device *dev, struct gmsl_link_ctx *g_ctx)
 Registers a source sensor device with a deserializer device. More...
 
int max9296_sdev_unregister (struct device *dev, struct device *s_dev)
 Unregisters a source sensor device from its deserializer device. More...
 
int max9296_setup_streaming (struct device *dev, struct device *s_dev)
 Performs internal pipeline configuration for a link in context to set up streaming, and puts the deserializer link in ready-to-stream state. More...
 
int max9296_start_streaming (struct device *dev, struct device *s_dev)
 Enables streaming. More...
 
int max9296_stop_streaming (struct device *dev, struct device *s_dev)
 Disables streaming. More...
 
int max9296_power_on (struct device *dev)
 Powers on the max9296 deserializer module. More...
 
void max9296_power_off (struct device *dev)
 Powers off the max9296 deserializer module. More...
 

Function Documentation

◆ max9296_power_off()

void max9296_power_off ( struct device *  dev)

Powers off the max9296 deserializer module.

Deasserts the shared reset GPIO and powers off the regulator based on the reference count.

Parameters
[in]devThe deserializer device handle.

◆ max9296_power_on()

int max9296_power_on ( struct device *  dev)

Powers on the max9296 deserializer module.

Asserts shared reset GPIO and powers on the regulator; maintains the reference count internally for source devices.

Parameters
[in]devThe deserializer device handle.
Returns
0 for success, or -1 otherwise.

◆ max9296_reset_control()

int max9296_reset_control ( struct device *  dev,
struct device *  s_dev 
)

Resets a deserializer device's link control pipeline.

The deserializer driver internally decrements the reference count and resets the deserializer device if all the source sensor devices are powered off, resetting all control and streaming configuration.

Parameters
[in]devThe deserializer device handle.
[in]s_devThe sensor device handle.
Returns
0 for success, or -1 otherwise.

◆ max9296_sdev_register()

int max9296_sdev_register ( struct device *  dev,
struct gmsl_link_ctx g_ctx 
)

Registers a source sensor device with a deserializer device.

The deserializer driver internally checks all perquisites and compatibility factors. If it finds that the registration request is valid, it stores the source's gmsl_link_ctx context handle in the source list maintained by the deserializer driver instance.

Parameters
[in]devThe deserializer device handle.
[in]g_ctxA gmsl_link_ctx structure handle.
Returns
0 for success, or -1 otherwise.

◆ max9296_sdev_unregister()

int max9296_sdev_unregister ( struct device *  dev,
struct device *  s_dev 
)

Unregisters a source sensor device from its deserializer device.

Parameters
[in]devThe deserializer device handle.
[in]s_devThe sensor device handle.
Returns
0 for success, or -1 otherwise.

◆ max9296_setup_control()

int max9296_setup_control ( struct device *  dev,
struct device *  s_dev 
)

Sets up a deserializer link's control pipeline.

Puts the deserializer in dual splitter mode. You must call this function during device boot, after max9296_setup_link().

Parameters
[in]devThe deserializer device handle.
[in]s_devThe sensor device handle.
Returns
0 for success, or -1 otherwise.

◆ max9296_setup_link()

int max9296_setup_link ( struct device *  dev,
struct device *  s_dev 
)

Puts a deserializer device in single exclusive link mode, so link-specific I2C overrides can be performed for sensor and serializer devices.

Parameters
[in]devThe deserializer device handle.
[in]s_devThe sensor device handle.
Returns
0 for success, or -1 otherwise.

◆ max9296_setup_streaming()

int max9296_setup_streaming ( struct device *  dev,
struct device *  s_dev 
)

Performs internal pipeline configuration for a link in context to set up streaming, and puts the deserializer link in ready-to-stream state.

Parameters
[in]devThe deserializer device handle.
[in]s_devThe sensor device handle.
Returns
0 or success, or -1 otherwise.

◆ max9296_start_streaming()

int max9296_start_streaming ( struct device *  dev,
struct device *  s_dev 
)

Enables streaming.

This function is to be called by the sensor client driver.

Parameters
[in]devThe deserializer device handle.
[in]s_devThe sensor device handle.
Returns
0 for success, or -1 otherwise.

◆ max9296_stop_streaming()

int max9296_stop_streaming ( struct device *  dev,
struct device *  s_dev 
)

Disables streaming.

This function is to be called by the sensor client driver.

Note
Both max9296_start_streaming and max9296_stop_streaming are mainly added to enable and disable sensor streaming on the fly while other sensors are active.
Parameters
[in]devThe deserializer device handle.
[in]s_devThe sensor device handle.
Returns
0 for success, or -1 otherwise.