~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/media/amphion,vpu.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 
  3 %YAML 1.2
  4 ---
  5 $id: http://devicetree.org/schemas/media/amphion,vpu.yaml#
  6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7 
  8 title: Amphion VPU codec IP
  9 
 10 maintainers:
 11   - Ming Qian <ming.qian@nxp.com>
 12   - Shijie Qin <shijie.qin@nxp.com>
 13 
 14 description: |-
 15   The Amphion MXC video encoder(Windsor) and decoder(Malone) accelerators present
 16   on NXP i.MX8Q SoCs.
 17 
 18 properties:
 19   $nodename:
 20     pattern: "^vpu@[0-9a-f]+$"
 21 
 22   compatible:
 23     items:
 24       - enum:
 25           - nxp,imx8qm-vpu
 26           - nxp,imx8qxp-vpu
 27 
 28   reg:
 29     maxItems: 1
 30 
 31   power-domains:
 32     maxItems: 1
 33 
 34   "#address-cells":
 35     const: 1
 36 
 37   "#size-cells":
 38     const: 1
 39 
 40   ranges: true
 41 
 42 patternProperties:
 43   "^mailbox@[0-9a-f]+$":
 44     description:
 45       Each vpu encoder or decoder correspond a MU, which used for communication
 46       between driver and firmware. Implement via mailbox on driver.
 47     $ref: /schemas/mailbox/fsl,mu.yaml#
 48 
 49 
 50   "^vpu-core@[0-9a-f]+$":
 51     description:
 52       Each core correspond a decoder or encoder, need to configure them
 53       separately. NXP i.MX8QM SoC has one decoder and two encoder, i.MX8QXP SoC
 54       has one decoder and one encoder.
 55     type: object
 56 
 57     properties:
 58       compatible:
 59         items:
 60           - enum:
 61               - nxp,imx8q-vpu-decoder
 62               - nxp,imx8q-vpu-encoder
 63 
 64       reg:
 65         maxItems: 1
 66 
 67       power-domains:
 68         maxItems: 1
 69 
 70       mbox-names:
 71         items:
 72           - const: tx0
 73           - const: tx1
 74           - const: rx
 75 
 76       mboxes:
 77         description:
 78           List of phandle of 2 MU channels for tx, 1 MU channel for rx.
 79         maxItems: 3
 80 
 81       memory-region:
 82         description:
 83           Phandle to the reserved memory nodes to be associated with the
 84           remoteproc device. The reserved memory nodes should be carveout nodes,
 85           and should be defined as per the bindings in
 86           Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
 87         items:
 88           - description: region reserved for firmware image sections.
 89           - description: region used for RPC shared memory between firmware and
 90                          driver.
 91 
 92     required:
 93       - compatible
 94       - reg
 95       - power-domains
 96       - mbox-names
 97       - mboxes
 98       - memory-region
 99 
100     additionalProperties: false
101 
102 required:
103   - compatible
104   - reg
105   - power-domains
106 
107 additionalProperties: false
108 
109 examples:
110   # Device node example for i.MX8QM platform:
111   - |
112     #include <dt-bindings/firmware/imx/rsrc.h>
113 
114     vpu: vpu@2c000000 {
115       compatible = "nxp,imx8qm-vpu";
116       ranges = <0x2c000000 0x2c000000 0x2000000>;
117       reg = <0x2c000000 0x1000000>;
118       #address-cells = <1>;
119       #size-cells = <1>;
120       power-domains = <&pd IMX_SC_R_VPU>;
121 
122       mu_m0: mailbox@2d000000 {
123         compatible = "fsl,imx6sx-mu";
124         reg = <0x2d000000 0x20000>;
125         interrupts = <0 472 4>;
126         #mbox-cells = <2>;
127         power-domains = <&pd IMX_SC_R_VPU_MU_0>;
128       };
129 
130       mu1_m0: mailbox@2d020000 {
131         compatible = "fsl,imx6sx-mu";
132         reg = <0x2d020000 0x20000>;
133         interrupts = <0 473 4>;
134         #mbox-cells = <2>;
135         power-domains = <&pd IMX_SC_R_VPU_MU_1>;
136       };
137 
138       mu2_m0: mailbox@2d040000 {
139         compatible = "fsl,imx6sx-mu";
140         reg = <0x2d040000 0x20000>;
141         interrupts = <0 474 4>;
142         #mbox-cells = <2>;
143         power-domains = <&pd IMX_SC_R_VPU_MU_2>;
144       };
145 
146       vpu_core0: vpu-core@2d080000 {
147         compatible = "nxp,imx8q-vpu-decoder";
148         reg = <0x2d080000 0x10000>;
149         power-domains = <&pd IMX_SC_R_VPU_DEC_0>;
150         mbox-names = "tx0", "tx1", "rx";
151         mboxes = <&mu_m0 0 0>,
152                  <&mu_m0 0 1>,
153                  <&mu_m0 1 0>;
154         memory-region = <&decoder_boot>, <&decoder_rpc>;
155       };
156 
157       vpu_core1: vpu-core@2d090000 {
158         compatible = "nxp,imx8q-vpu-encoder";
159         reg = <0x2d090000 0x10000>;
160         power-domains = <&pd IMX_SC_R_VPU_ENC_0>;
161         mbox-names = "tx0", "tx1", "rx";
162         mboxes = <&mu1_m0 0 0>,
163                  <&mu1_m0 0 1>,
164                  <&mu1_m0 1 0>;
165         memory-region = <&encoder1_boot>, <&encoder1_rpc>;
166       };
167 
168       vpu_core2: vpu-core@2d0a0000 {
169         reg = <0x2d0a0000 0x10000>;
170         compatible = "nxp,imx8q-vpu-encoder";
171         power-domains = <&pd IMX_SC_R_VPU_ENC_1>;
172         mbox-names = "tx0", "tx1", "rx";
173         mboxes = <&mu2_m0 0 0>,
174                  <&mu2_m0 0 1>,
175                  <&mu2_m0 1 0>;
176         memory-region = <&encoder2_boot>, <&encoder2_rpc>;
177       };
178     };
179 
180 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php