Controls the MAX9296 deserializer module.
|
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...
|
|
◆ 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] | dev | The 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] | dev | The 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] | dev | The deserializer device handle. |
[in] | s_dev | The 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] | dev | The deserializer device handle. |
[in] | g_ctx | A 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] | dev | The deserializer device handle. |
[in] | s_dev | The 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] | dev | The deserializer device handle. |
[in] | s_dev | The 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] | dev | The deserializer device handle. |
[in] | s_dev | The 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] | dev | The deserializer device handle. |
[in] | s_dev | The 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] | dev | The deserializer device handle. |
[in] | s_dev | The 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] | dev | The deserializer device handle. |
[in] | s_dev | The sensor device handle. |
- Returns
- 0 for success, or -1 otherwise.