/** * struct rvin_group_route - describes a route from a channel of a * CSI-2 receiver to a VIN * * @master: VIN group master ID. * @csi: CSI-2 receiver ID. * @chsel: CHSEL register values that connects VIN group to CSI-2. * * .. note:: * Each R-Car CSI-2 receiver has four output channels facing the VIN * devices, each channel can carry one CSI-2 Virtual Channel (VC). * There is no correlation between channel number and CSI-2 VC. It's * up to the CSI-2 receiver driver to configure which VC is output * on which channel, the VIN devices only care about output channels.
*/ struct rvin_group_route { unsignedint master; enum rvin_csi_id csi; unsignedint chsel;
};
/** * struct rvin_info - Information about the particular VIN implementation * @model: VIN model * @use_isp: the VIN is connected to the ISP and not to the CSI-2 * @nv12: support outputting NV12 pixel format * @raw10: support outputting RAW10 pixel format * @max_width: max input width the VIN supports * @max_height: max input height the VIN supports * @routes: list of possible routes from the CSI-2 recivers to * all VINs. The list mush be NULL terminated. * @scaler: Optional scaler
*/ struct rvin_info { enum model_id model; bool use_isp; bool nv12; bool raw10;
/** * struct rvin_dev - Renesas VIN device structure * @dev: (OF) device * @base: device I/O register space remapped to virtual memory * @info: info about VIN instance * * @vdev: V4L2 video device associated with VIN * @v4l2_dev: V4L2 device * @ctrl_handler: V4L2 control handler * * @parallel: parallel input subdevice descriptor * * @group: Gen3 CSI group * @id: Gen3 group id for this VIN * @pad: media pad for the video device entity * * @lock: protects @queue * @queue: vb2 buffers queue * @scratch: cpu address for scratch buffer * @scratch_phys: physical address of the scratch buffer * * @qlock: Protects @buf_hw, @buf_list, @sequence and @running * @buf_hw: Keeps track of buffers given to HW slot * @buf_list: list of queued buffers * @sequence: V4L2 buffers sequence number * @running: Keeps track of if the VIN is running * * @is_csi: flag to mark the VIN as using a CSI-2 subdevice * @chsel: Cached value of the current CSI-2 channel selection * * @mbus_code: media bus format code * @format: active V4L2 pixel format * * @crop: active cropping * @compose: active composing * @scaler: Optional scaler * * @alpha: Alpha component to fill in for supported pixel formats
*/ struct rvin_dev { struct device *dev; void __iomem *base; conststruct rvin_info *info;
/** * struct rvin_group - VIN CSI2 group information * @refcount: number of VIN instances using the group * * @mdev: media device which represents the group * * @lock: protects the count, notifier, vin and csi members * @count: number of enabled VIN instances found in DT * @notifier: group notifier for CSI-2 async connections * @info: Platform dependent information about the VIN instances * @vin: VIN instances which are part of the group * @link_setup: Callback to create all links for the media graph * @remotes: array of pairs of async connection and subdev pointers * to all remote subdevices.
*/ struct rvin_group { struct kref refcount;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.