2018-04-23 05:33:20 +08:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2013-07-11 05:03:46 +08:00
|
|
|
/*
|
2018-02-27 00:06:21 +08:00
|
|
|
* vsp1_brx.h -- R-Car VSP1 Blend ROP Unit (BRU and BRS)
|
2013-07-11 05:03:46 +08:00
|
|
|
*
|
|
|
|
* Copyright (C) 2013 Renesas Corporation
|
|
|
|
*
|
|
|
|
* Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
|
|
|
|
*/
|
2018-02-27 00:06:21 +08:00
|
|
|
#ifndef __VSP1_BRX_H__
|
|
|
|
#define __VSP1_BRX_H__
|
2013-07-11 05:03:46 +08:00
|
|
|
|
|
|
|
#include <media/media-entity.h>
|
2014-05-28 09:46:30 +08:00
|
|
|
#include <media/v4l2-ctrls.h>
|
2013-07-11 05:03:46 +08:00
|
|
|
#include <media/v4l2-subdev.h>
|
|
|
|
|
|
|
|
#include "vsp1_entity.h"
|
|
|
|
|
|
|
|
struct vsp1_device;
|
2014-05-28 07:35:36 +08:00
|
|
|
struct vsp1_rwpf;
|
2013-07-11 05:03:46 +08:00
|
|
|
|
2018-02-27 00:06:21 +08:00
|
|
|
#define BRX_PAD_SINK(n) (n)
|
2013-07-11 05:03:46 +08:00
|
|
|
|
2018-02-27 00:06:21 +08:00
|
|
|
struct vsp1_brx {
|
2013-07-11 05:03:46 +08:00
|
|
|
struct vsp1_entity entity;
|
2017-05-25 05:16:57 +08:00
|
|
|
unsigned int base;
|
2013-07-11 05:03:46 +08:00
|
|
|
|
2014-05-28 09:46:30 +08:00
|
|
|
struct v4l2_ctrl_handler ctrls;
|
|
|
|
|
2014-05-28 07:35:36 +08:00
|
|
|
struct {
|
|
|
|
struct vsp1_rwpf *rpf;
|
2015-08-03 20:46:26 +08:00
|
|
|
} inputs[VSP1_MAX_RPF];
|
2015-11-01 22:19:42 +08:00
|
|
|
|
|
|
|
u32 bgcolor;
|
2013-07-11 05:03:46 +08:00
|
|
|
};
|
|
|
|
|
2018-02-27 00:06:21 +08:00
|
|
|
static inline struct vsp1_brx *to_brx(struct v4l2_subdev *subdev)
|
2013-07-11 05:03:46 +08:00
|
|
|
{
|
2018-02-27 00:06:21 +08:00
|
|
|
return container_of(subdev, struct vsp1_brx, entity.subdev);
|
2013-07-11 05:03:46 +08:00
|
|
|
}
|
|
|
|
|
2018-02-27 00:06:21 +08:00
|
|
|
struct vsp1_brx *vsp1_brx_create(struct vsp1_device *vsp1,
|
2017-05-25 05:16:57 +08:00
|
|
|
enum vsp1_entity_type type);
|
2013-07-11 05:03:46 +08:00
|
|
|
|
2018-02-27 00:06:21 +08:00
|
|
|
#endif /* __VSP1_BRX_H__ */
|