ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_vin_types.h File Reference

Video Input Module (VIN) configuration descriptors and types. More...

#include <stdint.h>
#include "ra8_err.h"
#include "ra8_vin_regs.h"
Include dependency graph for ra8_vin_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ra8_vin_config_t
 Initial configuration for ra8_vin_init. More...
struct  ra8_vin_preclip_t
 Pre-clip window (SLPRC / ELPRC / SPPRC / EPPRC). More...
struct  ra8_vin_uds_scale_t
 UDS scaling factors for the V and H axes. More...
struct  ra8_vin_uds_ctrl_t
 UDS interpolation control bits. More...
struct  ra8_vin_yc_to_rgb_t
 Coefficients for the YC -> RGB matrix (CSCEn). More...
struct  ra8_vin_rgb_to_yc_chan_t
 One RGB-to-YC matrix row (Y, Cb, or Cr). More...
struct  ra8_vin_data_mode_t
 Decoded view of the DMR (Data Mode) register. More...
struct  ra8_vin_csi_input_t
 CSI_IFMD parameter view. More...
struct  ra8_vin_field_detect_t
 CSIFLD parameter view. More...
struct  ra8_vin_module_status_t
 Decoded snapshot of the MS (Module Status) register. More...

Typedefs

typedef void(* ra8_vin_event_fn_t) (void *ctx, uint32_t status_mask)
 VIN event callback (frame complete / overflow / VSYNC).
typedef void(* ra8_vin_frame_fn_t) (void *ctx, void *buf, uint32_t len)
 Frame-end callback registered via ra8_vin_attach_frame_handler.

Enumerations

enum  ra8_vin_input_fmt_t : uint8_t {
  k_ra8_vin_input_ycbcr422_8 = 1U ,
  k_ra8_vin_input_ycbcr422_10 = 3U ,
  k_ra8_vin_input_raw8 = 4U ,
  k_ra8_vin_input_rgb888 = 6U
}
 Camera input format for the MC.INF[2:0] field. More...
enum  ra8_vin_capture_mode_t : uint8_t {
  k_ra8_vin_capture_single = 0U ,
  k_ra8_vin_capture_continuous = 1U ,
  k_ra8_vin_capture_continuous_field_skip = 2U
}
 Single frame vs. More...

Detailed Description

Video Input Module (VIN) configuration descriptors and types.

Tag
[Ring 3 / HAL] {World: NS}

Type definitions for the RA8D2 Video Input Module (VIN) HAL driver: the typed enums (input format, capture mode), the configuration descriptor ra8_vin_config_t, the pre-clip / UDS-scale / UDS-ctrl register-bundle structs, the colour-space coefficient structs, the decoded data-mode / CSI-input / field-detect / module-status views, and the event / frame-end callback typedefs. The function prototypes that consume these types live in ra8_vin_api.h; both are aggregated by the thin umbrella ra8_vin.h. See that umbrella for the full driver overview and state machine.

Since
0.1.0

Definition in file ra8_vin_types.h.

Typedef Documentation

◆ ra8_vin_event_fn_t

typedef void(* ra8_vin_event_fn_t) (void *ctx, uint32_t status_mask)

VIN event callback (frame complete / overflow / VSYNC).

Parameters
[in]ctxCaller-supplied context.
[in]status_maskSnapshot of the INTS register at the time of dispatch.

Definition at line 248 of file ra8_vin_types.h.

◆ ra8_vin_frame_fn_t

typedef void(* ra8_vin_frame_fn_t) (void *ctx, void *buf, uint32_t len)

Frame-end callback registered via ra8_vin_attach_frame_handler.

Distinct from the generic INTS-mask callback registered through ra8_vin_attach_handler – this one fires from ra8_vin_dispatch only when the FIE (frame-end) bit is set, and receives the buffer base + byte length of the just-completed frame as decoded from the driver's most recent ra8_vin_capture_start call.

Parameters
[in]ctxCaller-supplied context.
[in]bufBuffer base whose frame just completed.
[in]lenFrame length in bytes (= width * height * bytes_per_pixel).
Since
0.1.0

Definition at line 267 of file ra8_vin_types.h.

Enumeration Type Documentation

◆ ra8_vin_capture_mode_t

enum ra8_vin_capture_mode_t : uint8_t

Single frame vs.

continuous capture for ra8_vin_capture_start.

single arms one frame into MB1; continuous rolls MB1 -> MB2 -> MB3 -> MB1 ->...; interlaced_field_skip honours MC.IM (set via ra8_vin_set_interlace_mode) and only writes the requested field.

Enumerator
k_ra8_vin_capture_single 

Capture one frame into MB1.

k_ra8_vin_capture_continuous 

Roll MB1 -> MB2 -> MB3 ->.

k_ra8_vin_capture_continuous_field_skip 

Continuous, honour IM mode.

Definition at line 58 of file ra8_vin_types.h.

◆ ra8_vin_input_fmt_t

enum ra8_vin_input_fmt_t : uint8_t

Camera input format for the MC.INF[2:0] field.

Values map directly to MC.INF as defined in HUM Ch 67.2.1 p 3975 Table 67.3 "Captured data formats" p 3977. The driver only routes the value into the MC register; pixel-depth-specific colour-space conversion is the caller's responsibility.

Enumerator
k_ra8_vin_input_ycbcr422_8 

8-bit YCbCr-422.

k_ra8_vin_input_ycbcr422_10 

10-bit YCbCr-422.

k_ra8_vin_input_raw8 

RAW8 user-defined data.

k_ra8_vin_input_rgb888 

24-bit RGB888.

Definition at line 42 of file ra8_vin_types.h.