vsp1_bru.h revision 629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8
1629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart/*
2629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * vsp1_bru.h  --  R-Car VSP1 Blend ROP Unit
3629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart *
4629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * Copyright (C) 2013 Renesas Corporation
5629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart *
6629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
7629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart *
8629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * This program is free software; you can redistribute it and/or modify
9629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * it under the terms of the GNU General Public License as published by
10629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * the Free Software Foundation; either version 2 of the License, or
11629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * (at your option) any later version.
12629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart */
13629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#ifndef __VSP1_BRU_H__
14629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#define __VSP1_BRU_H__
15629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
16629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#include <media/media-entity.h>
17629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#include <media/v4l2-subdev.h>
18629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
19629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#include "vsp1_entity.h"
20629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
21629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstruct vsp1_device;
22629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
23629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#define BRU_PAD_SINK(n)				(n)
24629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#define BRU_PAD_SOURCE				4
25629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
26629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstruct vsp1_bru {
27629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart	struct vsp1_entity entity;
28629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
29629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart	struct v4l2_rect compose[4];
30629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart};
31629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
32629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstatic inline struct vsp1_bru *to_bru(struct v4l2_subdev *subdev)
33629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart{
34629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart	return container_of(subdev, struct vsp1_bru, entity.subdev);
35629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart}
36629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
37629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstruct vsp1_bru *vsp1_bru_create(struct vsp1_device *vsp1);
38629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart
39629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#endif /* __VSP1_BRU_H__ */
40