Visible to Intel only — GUID: cmw1638980517574
Ixiasoft
Visible to Intel only — GUID: cmw1638980517574
Ixiasoft
7.6. Protocol Converter IP Software API
Register definition header file: intel_vvp_protocol_conv_regs.h
Include file: intel_vvp_protocol_conv.h
Name | Description |
---|---|
intel_vvp_ protocol_conv _init | Initialize the Protocol Converter. |
intel_vvp_core_* | Accessors defined in Video and Vision Processing IPs Software API. Writable when Lite is on, readable when Lite is off and Debug features is on. Unused when the input is video and image processing IP. |
intel_vvp_protocol_conv_get_conversion_mode | Returns the configured conversion. |
intel_vvp_protocol_conv_conv_get_debug_enabled | Returns if debug features is on. |
intel_vvp_protocol_conv_is_running | Returns if the IP is processing data. |
intel_vvp_protocol_conv_has_received_field | Returns if the IP processed a field. |
intel_vvp_protocol_conv_was_last_field_broken | Returns status of the previous field. |
intel_vvp_protocol_conv_get_status | Reads the status register. |
intel_vvp_protocol_conv_get_vip_width | Reads the VIP width. |
intel_vvp_protocol_conv_get_vip_height | Reads the VIP height. |
intel_vvp_protocol_conv_get_vip_interlace | Reads the VIP interlace nibble. |
ntel_vvp_protocol_conv_enable | Starts or stops the processing. |
intel_vvp_protocol_conv_start | Starts the processing. |
intel_vvp_protocol_conv_stop | Stops the processing. |
intel_vvp_protocol_conv_get_field_count | Reads the field counter. |
intel_vvp_protocol_conv_reset_field_count | Resets the field counter. |
enum eIntelVvpProtocolConvConversionMode
- Members
-
kIntelVvpProtocolConvVipToVvpLite (0) – VIP to Lite conversion
kIntelVvpProtocolConvVvpLiteToVip (1) – Lite to VIP conversion
kIntelVvpProtocolConvVipToVvpFull (2) – VIP to Full conversion
kIntelVvpProtocolConvVvpFullToVip (3) – Full to VIP conversion
kIntelVvpProtocolConvVvpLiteToVvpFull (4) – Lite to Full conversion
kIntelVvpProtocolConvVvpFullToVvpLite (5) – Full to Lite conversion
kIntelVvpProtocolConvInvalid (-1) – Invalid conversion mode
intel_vvp_protocol_conv_init
- Prototype
-
int intel_vvp_protocol_conv_init(intel_vvp_protocol_conv_instance *instance, intel_vvp_core_base base);
- Description
-
Initializes a Protocol Converter instance. The initialization stops early if the vendor ID or product ID read at the base address are not a match or if the register map version is not supported. Otherwise, the function proceeds to read and store the IP compile-time parameterization. The instance is not fully initialized and should not be used further by the application if returning a non-zero error code. Beware that the IP is left in a stopped state after successful initialization.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
base – base address of the register map
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of error
kIntelVvpCoreVidErr if the vendor id of the IP is not the Intel FPGA vendor ID (0x6AF7).
kIntelVvpCorePidErr if the product_id does not match with the Protocol Converter product ID
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpProtocolConvRegMapVersionErr if the register map is not supported
intel_vvp_protocol_conv_get_conversion_mode
- Prototype
-
eIntelVvpProtocolConvConversionMode intel_vvp_protocol_conv_get_conversion_mode(intel_vvp_protocol_conv_instance *instance);
- Description
-
Returns the value of the CONVERSION_MODE register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
the static conversion configured at IP generation time
intel_vvp_protocol_conv_get_debug_enabled
- Prototype
-
bool intel_vvp_pip_get_debug_enabled(intel_vvp_protocol_conv_instance *instance);
- Description
-
Returns the value of the DEBUG_ENABLED register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
true if the IP is parameterized with debug features enabled
intel_vvp_protocol_conv_is_running
- Prototype
-
bool intel_vvp_protocol_conv_is_running(intel_vvp_ pip_conv_instance* instance);
- Description
-
Reads and returns the running bit of the STATUS register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
True is the IP is currently generating an output field, false when disabled and/or between two fields
intel_vvp_protocol_conv_has_received_field
- Prototype
-
bool intel_vvp_protocol_conv_has_received_field (intel_vvp_protocol_conv_conv_instance* instance);
- Description
-
Reads and returns the field received bit of the STATUS register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
True is the IP is currently generating an output field, false when disabled and/or between two fields
intel_vvp_protocol_conv_was_last_field_broken
- Prototype
-
bool intel_vvp_protocol_conv_was_last_field_broken(intel_vvp_protocol_conv_instance* instance);
- Description
-
Reads and returns the field broken bit of the STATUS register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
True if an anomaly was detected on the last received field
intel_vvp_protocol_conv_get_status
- Prototype
-
uint8_t intel_vvp_protocol_conv_get_status(intel_vvp_protocol_conv_instance* instance);
- Description
-
Reads and returns the STATUS register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
The value read from the status register
intel_vvp_protocol_conv_get_vip_width
- Prototype
-
uint32_t intel_vvp_protocol_get_vip_width(intel_vvp_protocol_conv_instance* instance);
- Description
-
Retrieves the last width received from a VIP control packet. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized and configured to convert the VIP protocol to either the full or lite variant.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
The width in the last control packet received
intel_vvp_protocol_conv_get_vip_height
- Prototype
-
uint32_t intel_vvp_protocol_conv_get_vip_height(intel_vvp_protocol_conv_instance* instance);
- Description
-
Retrieves the last height received from a VIP control packet. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized and configured to convert the VIP protocol to either the full or lite variant.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
The height in the last control packet received
intel_vvp_protocol_conv_get_vip_interlace
- Prototype
-
uint8_t intel_vvp_protocol_conv_get_vip_interlace(intel_vvp_protocol_conv_instance* instance);
- Description
-
Retrieves the last interlace nibble received from a VIP control packet. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized and configured to convert the VIP protocol to either the full or lite variant.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
The interlace nibble in the last control packet received
intel_vvp_protocol_conv_enable
- Prototype
-
intel_vvp_protocol_conv_enable (intel_vvp_protocol_conv_instance* instance, bool enabled);
- Description
-
Starts/stops the core
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
enabled– whether the instance should be started or stopped
- Returns
-
kIntelVvpCoreOk in case of success, negative error code otherwise
intel_vvp_protocol_conv_start
- Prototype
-
int intel_vvp_protocol_conv_start (intel_vvp_protocol_conv_instance* instance);
- Description
-
Starts the IP
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk in case of success, negative error code otherwise
intel_vvp_protocol_conv_stop
- Prototype
-
int intel_vvp_protocol_conv_stop (intel_vvp_protocol_conv_instance* instance);
- Description
-
Stops the IP
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk in case of success, negative error code otherwise
intel_vvp_protocol_conv_get_field_count
-
uint16_t intel_vvp_protocol_conv_get_field_count(intel_vvp_protocol_conv_instance *instance)
- Description
-
Reads and returns the FIELD_COUNT register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized. When the input is the Full variant, the field count register is set from the last end-of-field packet received and the call returns an invalid value if none was ever received
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
The value read from the field_count register
intel_vvp_protocol_conv_reset_field_count
- Prototype
-
int_t intel_vvp_protocol_conv_reset_field_count(intel_vvp_protocol_conv_instance* instance);
- Description
-
Resets the field counter register. The instance must be a valid intel_vvp_protocol_conv_instance fully initialized and configured with Lite or Vip input. The call is invalid when the input is the Full variant because the field counter register is updated every field with the field count value received in end-of-field control packets. The field counter value is also used in control packets when the output is the full variant.
- Arguments
-
instance – pointer to the intel_vvp_protocol_conv_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk in case of success, negative error code otherwise
kIntelVvpCoreInstanceErr – the instance is invalid or configured with the Full variant input