diff options
author | Benjamin Gaignard <benjamin.gaignard@linaro.org> | 2016-07-29 03:38:55 -0400 |
---|---|---|
committer | Benjamin Gaignard <benjamin.gaignard@linaro.org> | 2016-07-29 03:38:55 -0400 |
commit | 62c2cd0f49333a2bb53602ec23039ca99a19cb9d (patch) | |
tree | 82ce682c6902ebe63275a60bdc3d406b26f09c84 /Documentation | |
parent | a1f5524a66ff6284d1380cdd7723de82698ff9d3 (diff) | |
parent | 894dde5c5d1c6d33c4bd3d4384c6cf0aff3f8015 (diff) |
Merge remote-tracking branch 'media_tree/vsp1' into generic-zpos-v8
Diffstat (limited to 'Documentation')
5 files changed, 163 insertions, 8 deletions
diff --git a/Documentation/DocBook/media/v4l/media-types.xml b/Documentation/DocBook/media/v4l/media-types.xml index 5e3f20fdcf17..95aa1f9c836a 100644 --- a/Documentation/DocBook/media/v4l/media-types.xml +++ b/Documentation/DocBook/media/v4l/media-types.xml | |||
@@ -121,6 +121,70 @@ | |||
121 | <entry><constant>MEDIA_ENT_F_AUDIO_MIXER</constant></entry> | 121 | <entry><constant>MEDIA_ENT_F_AUDIO_MIXER</constant></entry> |
122 | <entry>Audio Mixer Function Entity.</entry> | 122 | <entry>Audio Mixer Function Entity.</entry> |
123 | </row> | 123 | </row> |
124 | <row> | ||
125 | <entry><constant>MEDIA_ENT_F_PROC_VIDEO_COMPOSER</constant></entry> | ||
126 | <entry>Video composer (blender). An entity capable of video | ||
127 | composing must have at least two sink pads and one source | ||
128 | pad, and composes input video frames onto output video | ||
129 | frames. Composition can be performed using alpha blending, | ||
130 | color keying, raster operations (ROP), stitching or any other | ||
131 | means. | ||
132 | </entry> | ||
133 | </row> | ||
134 | <row> | ||
135 | <entry><constant>MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER</constant></entry> | ||
136 | <entry>Video pixel formatter. An entity capable of pixel formatting | ||
137 | must have at least one sink pad and one source pad. Read | ||
138 | pixel formatters read pixels from memory and perform a subset | ||
139 | of unpacking, cropping, color keying, alpha multiplication | ||
140 | and pixel encoding conversion. Write pixel formatters perform | ||
141 | a subset of dithering, pixel encoding conversion and packing | ||
142 | and write pixels to memory. | ||
143 | </entry> | ||
144 | </row> | ||
145 | <row> | ||
146 | <entry><constant>MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV</constant></entry> | ||
147 | <entry>Video pixel encoding converter. An entity capable of pixel | ||
148 | enconding conversion must have at least one sink pad and one | ||
149 | source pad, and convert the encoding of pixels received on | ||
150 | its sink pad(s) to a different encoding output on its source | ||
151 | pad(s). Pixel encoding conversion includes but isn't limited | ||
152 | to RGB to/from HSV, RGB to/from YUV and CFA (Bayer) to RGB | ||
153 | conversions. | ||
154 | </entry> | ||
155 | </row> | ||
156 | <row> | ||
157 | <entry><constant>MEDIA_ENT_F_PROC_VIDEO_LUT</constant></entry> | ||
158 | <entry>Video look-up table. An entity capable of video lookup table | ||
159 | processing must have one sink pad and one source pad. It uses | ||
160 | the values of the pixels received on its sink pad to look up | ||
161 | entries in internal tables and output them on its source pad. | ||
162 | The lookup processing can be performed on all components | ||
163 | separately or combine them for multi-dimensional table | ||
164 | lookups. | ||
165 | </entry> | ||
166 | </row> | ||
167 | <row> | ||
168 | <entry><constant>MEDIA_ENT_F_PROC_VIDEO_SCALER</constant></entry> | ||
169 | <entry>Video scaler. An entity capable of video scaling must have | ||
170 | at least one sink pad and one source pad, and scale the | ||
171 | video frame(s) received on its sink pad(s) to a different | ||
172 | resolution output on its source pad(s). The range of | ||
173 | supported scaling ratios is entity-specific and can differ | ||
174 | between the horizontal and vertical directions (in particular | ||
175 | scaling can be supported in one direction only). Binning and | ||
176 | skipping are considered as scaling. | ||
177 | </entry> | ||
178 | </row> | ||
179 | <row> | ||
180 | <entry><constant>MEDIA_ENT_F_PROC_VIDEO_STATISTICS</constant></entry> | ||
181 | <entry>Video statistics computation (histogram, 3A, ...). An entity | ||
182 | capable of statistics computation must have one sink pad and | ||
183 | one source pad. It computes statistics over the frames | ||
184 | received on its sink pad and outputs the statistics data on | ||
185 | its source pad. | ||
186 | </entry> | ||
187 | </row> | ||
124 | </tbody> | 188 | </tbody> |
125 | </tgroup> | 189 | </tgroup> |
126 | </table> | 190 | </table> |
diff --git a/Documentation/devicetree/bindings/media/mediatek-vpu.txt b/Documentation/devicetree/bindings/media/mediatek-vpu.txt new file mode 100644 index 000000000000..2a5bac37f9a2 --- /dev/null +++ b/Documentation/devicetree/bindings/media/mediatek-vpu.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | * Mediatek Video Processor Unit | ||
2 | |||
3 | Video Processor Unit is a HW video controller. It controls HW Codec including | ||
4 | H.264/VP8/VP9 Decode, H.264/VP8 Encode and Image Processor (scale/rotate/color convert). | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "mediatek,mt8173-vpu" | ||
8 | - reg: Must contain an entry for each entry in reg-names. | ||
9 | - reg-names: Must include the following entries: | ||
10 | "tcm": tcm base | ||
11 | "cfg_reg": Main configuration registers base | ||
12 | - interrupts: interrupt number to the cpu. | ||
13 | - clocks : clock name from clock manager | ||
14 | - clock-names: must be main. It is the main clock of VPU | ||
15 | |||
16 | Optional properties: | ||
17 | - memory-region: phandle to a node describing memory (see | ||
18 | Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt) | ||
19 | to be used for VPU extended memory; if not present, VPU may be located | ||
20 | anywhere in the memory | ||
21 | |||
22 | Example: | ||
23 | vpu: vpu@10020000 { | ||
24 | compatible = "mediatek,mt8173-vpu"; | ||
25 | reg = <0 0x10020000 0 0x30000>, | ||
26 | <0 0x10050000 0 0x100>; | ||
27 | reg-names = "tcm", "cfg_reg"; | ||
28 | interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; | ||
29 | clocks = <&topckgen TOP_SCP_SEL>; | ||
30 | clock-names = "main"; | ||
31 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.txt b/Documentation/devicetree/bindings/media/renesas,fcp.txt new file mode 100644 index 000000000000..6a12960609d8 --- /dev/null +++ b/Documentation/devicetree/bindings/media/renesas,fcp.txt | |||
@@ -0,0 +1,32 @@ | |||
1 | Renesas R-Car Frame Compression Processor (FCP) | ||
2 | ----------------------------------------------- | ||
3 | |||
4 | The FCP is a companion module of video processing modules in the Renesas R-Car | ||
5 | Gen3 SoCs. It provides data compression and decompression, data caching, and | ||
6 | conversion of AXI transactions in order to reduce the memory bandwidth. | ||
7 | |||
8 | There are three types of FCP: FCP for Codec (FCPC), FCP for VSP (FCPV) and FCP | ||
9 | for FDP (FCPF). Their configuration and behaviour depend on the module they | ||
10 | are paired with. These DT bindings currently support the FCPV only. | ||
11 | |||
12 | - compatible: Must be one or more of the following | ||
13 | |||
14 | - "renesas,r8a7795-fcpv" for R8A7795 (R-Car H3) compatible 'FCP for VSP' | ||
15 | - "renesas,fcpv" for generic compatible 'FCP for VSP' | ||
16 | |||
17 | When compatible with the generic version, nodes must list the | ||
18 | SoC-specific version corresponding to the platform first, followed by the | ||
19 | family-specific and/or generic versions. | ||
20 | |||
21 | - reg: the register base and size for the device registers | ||
22 | - clocks: Reference to the functional clock | ||
23 | |||
24 | |||
25 | Device node example | ||
26 | ------------------- | ||
27 | |||
28 | fcpvd1: fcp@fea2f000 { | ||
29 | compatible = "renesas,r8a7795-fcpv", "renesas,fcpv"; | ||
30 | reg = <0 0xfea2f000 0 0x200>; | ||
31 | clocks = <&cpg CPG_MOD 602>; | ||
32 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/renesas,vsp1.txt b/Documentation/devicetree/bindings/media/renesas,vsp1.txt index 627405abd144..9b695bcbf219 100644 --- a/Documentation/devicetree/bindings/media/renesas,vsp1.txt +++ b/Documentation/devicetree/bindings/media/renesas,vsp1.txt | |||
@@ -14,6 +14,11 @@ Required properties: | |||
14 | - interrupts: VSP interrupt specifier. | 14 | - interrupts: VSP interrupt specifier. |
15 | - clocks: A phandle + clock-specifier pair for the VSP functional clock. | 15 | - clocks: A phandle + clock-specifier pair for the VSP functional clock. |
16 | 16 | ||
17 | Optional properties: | ||
18 | |||
19 | - renesas,fcp: A phandle referencing the FCP that handles memory accesses | ||
20 | for the VSP. Not needed on Gen2, mandatory on Gen3. | ||
21 | |||
17 | 22 | ||
18 | Example: R8A7790 (R-Car H2) VSP1-S node | 23 | Example: R8A7790 (R-Car H2) VSP1-S node |
19 | 24 | ||
diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt index 2d5787eac91a..92c94f5ecbf1 100644 --- a/Documentation/devicetree/bindings/media/s5p-mfc.txt +++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt | |||
@@ -21,15 +21,18 @@ Required properties: | |||
21 | - clock-names : from common clock binding: must contain "mfc", | 21 | - clock-names : from common clock binding: must contain "mfc", |
22 | corresponding to entry in the clocks property. | 22 | corresponding to entry in the clocks property. |
23 | 23 | ||
24 | - samsung,mfc-r : Base address of the first memory bank used by MFC | ||
25 | for DMA contiguous memory allocation and its size. | ||
26 | |||
27 | - samsung,mfc-l : Base address of the second memory bank used by MFC | ||
28 | for DMA contiguous memory allocation and its size. | ||
29 | |||
30 | Optional properties: | 24 | Optional properties: |
31 | - power-domains : power-domain property defined with a phandle | 25 | - power-domains : power-domain property defined with a phandle |
32 | to respective power domain. | 26 | to respective power domain. |
27 | - memory-region : from reserved memory binding: phandles to two reserved | ||
28 | memory regions, first is for "left" mfc memory bus interfaces, | ||
29 | second if for the "right" mfc memory bus, used when no SYSMMU | ||
30 | support is available | ||
31 | |||
32 | Obsolete properties: | ||
33 | - samsung,mfc-r, samsung,mfc-l : support removed, please use memory-region | ||
34 | property instead | ||
35 | |||
33 | 36 | ||
34 | Example: | 37 | Example: |
35 | SoC specific DT entry: | 38 | SoC specific DT entry: |
@@ -43,9 +46,29 @@ mfc: codec@13400000 { | |||
43 | clock-names = "mfc"; | 46 | clock-names = "mfc"; |
44 | }; | 47 | }; |
45 | 48 | ||
49 | Reserved memory specific DT entry for given board (see reserved memory binding | ||
50 | for more information): | ||
51 | |||
52 | reserved-memory { | ||
53 | #address-cells = <1>; | ||
54 | #size-cells = <1>; | ||
55 | ranges; | ||
56 | |||
57 | mfc_left: region@51000000 { | ||
58 | compatible = "shared-dma-pool"; | ||
59 | no-map; | ||
60 | reg = <0x51000000 0x800000>; | ||
61 | }; | ||
62 | |||
63 | mfc_right: region@43000000 { | ||
64 | compatible = "shared-dma-pool"; | ||
65 | no-map; | ||
66 | reg = <0x43000000 0x800000>; | ||
67 | }; | ||
68 | }; | ||
69 | |||
46 | Board specific DT entry: | 70 | Board specific DT entry: |
47 | 71 | ||
48 | codec@13400000 { | 72 | codec@13400000 { |
49 | samsung,mfc-r = <0x43000000 0x800000>; | 73 | memory-region = <&mfc_left>, <&mfc_right>; |
50 | samsung,mfc-l = <0x51000000 0x800000>; | ||
51 | }; | 74 | }; |