linux/drivers/media/platform/renesas/vsp1/vsp1_iif.h
Jacopo Mondi 8ebd5f70c2 media: renesas: vsp1: rwpf: Support operations with IIF
When the RPF/WPF units are used for ISP interfacing through
the IIF, the set of accessible registers is limited compared to
the regular VSPD operations.

Support ISP interfacing in the rpf and wpf entities by checking if
the pipe features an IIF instance and writing only the relevant
registers.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Link: https://lore.kernel.org/r/20250401-v4h-iif-v7-4-cc547c0bddd5@ideasonboard.com
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2025-05-02 10:16:43 +02:00

29 lines
628 B
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* vsp1_iif.h -- R-Car VSP1 IIF (ISP Interface)
*
* Copyright (C) 2025 Ideas On Board Oy
* Copyright (C) 2025 Renesas Corporation
*/
#ifndef __VSP1_IIF_H__
#define __VSP1_IIF_H__
#include <media/v4l2-subdev.h>
#include "vsp1_entity.h"
#define VSPX_IIF_SINK_PAD_IMG 0
#define VSPX_IIF_SINK_PAD_CONFIG 2
struct vsp1_iif {
struct vsp1_entity entity;
};
static inline struct vsp1_iif *to_iif(struct v4l2_subdev *subdev)
{
return container_of(subdev, struct vsp1_iif, entity.subdev);
}
struct vsp1_iif *vsp1_iif_create(struct vsp1_device *vsp1);
#endif /* __VSP1_IIF_H__ */