Merge tag 'libnvdimm-fixes-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / drivers / staging / media / meson / vdec / vdec_platform.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2018 BayLibre, SAS
4  * Author: Maxime Jourdan <mjourdan@baylibre.com>
5  */
6
7 #include "vdec_platform.h"
8 #include "vdec.h"
9
10 #include "vdec_1.h"
11 #include "codec_mpeg12.h"
12
13 static const struct amvdec_format vdec_formats_gxbb[] = {
14         {
15                 .pixfmt = V4L2_PIX_FMT_MPEG1,
16                 .min_buffers = 8,
17                 .max_buffers = 8,
18                 .max_width = 1920,
19                 .max_height = 1080,
20                 .vdec_ops = &vdec_1_ops,
21                 .codec_ops = &codec_mpeg12_ops,
22                 .firmware_path = "meson/vdec/gxl_mpeg12.bin",
23                 .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
24         }, {
25                 .pixfmt = V4L2_PIX_FMT_MPEG2,
26                 .min_buffers = 8,
27                 .max_buffers = 8,
28                 .max_width = 1920,
29                 .max_height = 1080,
30                 .vdec_ops = &vdec_1_ops,
31                 .codec_ops = &codec_mpeg12_ops,
32                 .firmware_path = "meson/vdec/gxl_mpeg12.bin",
33                 .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
34         },
35 };
36
37 static const struct amvdec_format vdec_formats_gxl[] = {
38         {
39                 .pixfmt = V4L2_PIX_FMT_MPEG1,
40                 .min_buffers = 8,
41                 .max_buffers = 8,
42                 .max_width = 1920,
43                 .max_height = 1080,
44                 .vdec_ops = &vdec_1_ops,
45                 .codec_ops = &codec_mpeg12_ops,
46                 .firmware_path = "meson/vdec/gxl_mpeg12.bin",
47                 .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
48         }, {
49                 .pixfmt = V4L2_PIX_FMT_MPEG2,
50                 .min_buffers = 8,
51                 .max_buffers = 8,
52                 .max_width = 1920,
53                 .max_height = 1080,
54                 .vdec_ops = &vdec_1_ops,
55                 .codec_ops = &codec_mpeg12_ops,
56                 .firmware_path = "meson/vdec/gxl_mpeg12.bin",
57                 .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
58         },
59 };
60
61 static const struct amvdec_format vdec_formats_gxm[] = {
62         {
63                 .pixfmt = V4L2_PIX_FMT_MPEG1,
64                 .min_buffers = 8,
65                 .max_buffers = 8,
66                 .max_width = 1920,
67                 .max_height = 1080,
68                 .vdec_ops = &vdec_1_ops,
69                 .codec_ops = &codec_mpeg12_ops,
70                 .firmware_path = "meson/vdec/gxl_mpeg12.bin",
71                 .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
72         }, {
73                 .pixfmt = V4L2_PIX_FMT_MPEG2,
74                 .min_buffers = 8,
75                 .max_buffers = 8,
76                 .max_width = 1920,
77                 .max_height = 1080,
78                 .vdec_ops = &vdec_1_ops,
79                 .codec_ops = &codec_mpeg12_ops,
80                 .firmware_path = "meson/vdec/gxl_mpeg12.bin",
81                 .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
82         },
83 };
84
85 const struct vdec_platform vdec_platform_gxbb = {
86         .formats = vdec_formats_gxbb,
87         .num_formats = ARRAY_SIZE(vdec_formats_gxbb),
88         .revision = VDEC_REVISION_GXBB,
89 };
90
91 const struct vdec_platform vdec_platform_gxl = {
92         .formats = vdec_formats_gxl,
93         .num_formats = ARRAY_SIZE(vdec_formats_gxl),
94         .revision = VDEC_REVISION_GXL,
95 };
96
97 const struct vdec_platform vdec_platform_gxm = {
98         .formats = vdec_formats_gxm,
99         .num_formats = ARRAY_SIZE(vdec_formats_gxm),
100         .revision = VDEC_REVISION_GXM,
101 };