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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/media/rockchip-isp1.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 MIT)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/media/rockchip-isp1.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Rockchip SoC Image Signal Processing unit v1
  8 
  9 maintainers:
 10   - Helen Koike <helen.koike@collabora.com>
 11 
 12 description: |
 13   Rockchip ISP1 is the Camera interface for the Rockchip series of SoCs
 14   which contains image processing, scaling, and compression functions.
 15 
 16 properties:
 17   compatible:
 18     enum:
 19       - fsl,imx8mp-isp
 20       - rockchip,px30-cif-isp
 21       - rockchip,rk3399-cif-isp
 22 
 23   reg:
 24     maxItems: 1
 25 
 26   interrupts:
 27     minItems: 1
 28     maxItems: 3
 29 
 30   interrupt-names:
 31     items:
 32       - const: isp
 33       - const: mi
 34       - const: mipi
 35 
 36   clocks:
 37     minItems: 3
 38     items:
 39       # isp0 and isp1
 40       - description: ISP clock (for imx8mp, clk)
 41       - description: ISP AXI clock (for imx8mp, m_hclk)
 42       - description: ISP AHB clock (for imx8mp, hclk)
 43       # only for isp1
 44       - description: ISP Pixel clock
 45 
 46   clock-names:
 47     minItems: 3
 48     items:
 49       # isp0 and isp1
 50       - const: isp
 51       - const: aclk
 52       - const: hclk
 53       # only for isp1
 54       - const: pclk
 55 
 56   fsl,blk-ctrl:
 57     $ref: /schemas/types.yaml#/definitions/phandle-array
 58     maxItems: 1
 59     description:
 60       A phandle to the media block control for the ISP, followed by a cell
 61       containing the index of the gasket.
 62 
 63   iommus:
 64     maxItems: 1
 65 
 66   phys:
 67     maxItems: 1
 68     description: phandle for the PHY port
 69 
 70   phy-names:
 71     const: dphy
 72 
 73   power-domains:
 74     maxItems: 1
 75 
 76   ports:
 77     $ref: /schemas/graph.yaml#/properties/ports
 78 
 79     properties:
 80       port@0:
 81         $ref: /schemas/graph.yaml#/$defs/port-base
 82         unevaluatedProperties: false
 83         description: connection point for sensors at MIPI-DPHY RX0
 84 
 85         properties:
 86           endpoint:
 87             $ref: video-interfaces.yaml#
 88             unevaluatedProperties: false
 89 
 90             properties:
 91               data-lanes:
 92                 minItems: 1
 93                 maxItems: 4
 94 
 95       port@1:
 96         $ref: /schemas/graph.yaml#/$defs/port-base
 97         unevaluatedProperties: false
 98         description: connection point for input on the parallel interface
 99 
100         properties:
101           endpoint:
102             $ref: video-interfaces.yaml#
103             unevaluatedProperties: false
104 
105             properties:
106               bus-type:
107                 enum: [5, 6]
108 
109             required:
110               - bus-type
111 
112     anyOf:
113       - required:
114           - port@0
115       - required:
116           - port@1
117 
118 required:
119   - compatible
120   - reg
121   - interrupts
122   - clocks
123   - clock-names
124   - power-domains
125   - ports
126 
127 allOf:
128   - if:
129       properties:
130         compatible:
131           contains:
132             const: rockchip,rk3399-cif-isp
133     then:
134       properties:
135         clocks:
136           minItems: 3
137           maxItems: 4
138         clock-names:
139           minItems: 3
140           maxItems: 4
141 
142   - if:
143       properties:
144         compatible:
145           contains:
146             const: rockchip,px30-cif-isp
147     then:
148       required:
149         - interrupt-names
150 
151   - if:
152       properties:
153         compatible:
154           contains:
155             const: fsl,imx8mp-isp
156     then:
157       properties:
158         iommus: false
159         phys: false
160         phy-names: false
161       required:
162         - fsl,blk-ctrl
163     else:
164       properties:
165         fsl,blk-ctrl: false
166       required:
167         - iommus
168         - phys
169         - phy-names
170 
171 additionalProperties: false
172 
173 examples:
174   - |
175 
176     #include <dt-bindings/clock/rk3399-cru.h>
177     #include <dt-bindings/interrupt-controller/arm-gic.h>
178     #include <dt-bindings/power/rk3399-power.h>
179 
180     parent0: parent {
181         #address-cells = <2>;
182         #size-cells = <2>;
183 
184         isp0: isp0@ff910000 {
185             compatible = "rockchip,rk3399-cif-isp";
186             reg = <0x0 0xff910000 0x0 0x4000>;
187             interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>;
188             clocks = <&cru SCLK_ISP0>,
189                      <&cru ACLK_ISP0_WRAPPER>,
190                      <&cru HCLK_ISP0_WRAPPER>;
191             clock-names = "isp", "aclk", "hclk";
192             iommus = <&isp0_mmu>;
193             phys = <&dphy>;
194             phy-names = "dphy";
195             power-domains = <&power RK3399_PD_ISP0>;
196 
197             ports {
198                 #address-cells = <1>;
199                 #size-cells = <0>;
200 
201                 port@0 {
202                     reg = <0>;
203                     #address-cells = <1>;
204                     #size-cells = <0>;
205 
206                     mipi_in_wcam: endpoint@0 {
207                         reg = <0>;
208                         remote-endpoint = <&wcam_out>;
209                         data-lanes = <1 2>;
210                     };
211 
212                     mipi_in_ucam: endpoint@1 {
213                         reg = <1>;
214                         remote-endpoint = <&ucam_out>;
215                         data-lanes = <1>;
216                     };
217                 };
218             };
219         };
220 
221         i2c7: i2c {
222             #address-cells = <1>;
223             #size-cells = <0>;
224 
225             wcam: camera@36 {
226                 compatible = "ovti,ov5695";
227                 reg = <0x36>;
228                 clocks = <&cru SCLK_TESTCLKOUT1>;
229 
230                 port {
231                     wcam_out: endpoint {
232                         remote-endpoint = <&mipi_in_wcam>;
233                         data-lanes = <1 2>;
234                     };
235                 };
236             };
237 
238             ucam: camera@3c {
239                 compatible = "ovti,ov2685";
240                 reg = <0x3c>;
241 
242                 clocks = <&cru SCLK_TESTCLKOUT1>;
243                 clock-names = "xvclk";
244 
245                 avdd-supply = <&pp2800_cam>;
246                 dovdd-supply = <&pp1800>;
247                 dvdd-supply = <&pp1800>;
248 
249                 port {
250                     ucam_out: endpoint {
251                         remote-endpoint = <&mipi_in_ucam>;
252                         data-lanes = <1>;
253                     };
254                 };
255             };
256         };
257     };
258 
259   - |
260 
261     #include <dt-bindings/interrupt-controller/arm-gic.h>
262     #include <dt-bindings/power/px30-power.h>
263 
264     parent1: parent {
265         #address-cells = <2>;
266         #size-cells = <2>;
267 
268         isp: isp@ff4a0000 {
269             compatible = "rockchip,px30-cif-isp";
270             reg = <0x0 0xff4a0000 0x0 0x8000>;
271             interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
272                          <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
273                          <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
274             interrupt-names = "isp", "mi", "mipi";
275             clocks = <&cru SCLK_ISP0>,
276                      <&cru ACLK_ISP0_WRAPPER>,
277                      <&cru HCLK_ISP0_WRAPPER>,
278                      <&cru PCLK_ISP1_WRAPPER>;
279             clock-names = "isp", "aclk", "hclk", "pclk";
280             iommus = <&isp_mmu>;
281             phys = <&csi_dphy>;
282             phy-names = "dphy";
283             power-domains = <&power PX30_PD_VI>;
284 
285             ports {
286                 #address-cells = <1>;
287                 #size-cells = <0>;
288 
289                 port@0 {
290                     reg = <0>;
291                     #address-cells = <1>;
292                     #size-cells = <0>;
293 
294                     mipi_in_ucam1: endpoint@0 {
295                         reg = <0>;
296                         remote-endpoint = <&ucam1_out>;
297                         data-lanes = <1 2>;
298                     };
299                 };
300             };
301         };
302 
303         i2c2: i2c {
304             #address-cells = <1>;
305             #size-cells = <0>;
306 
307             ov5695: camera@36 {
308                 compatible = "ovti,ov5647";
309                 reg = <0x36>;
310                 clocks = <&cru SCLK_CIF_OUT>;
311 
312                 port {
313                     ucam1_out: endpoint {
314                         remote-endpoint = <&mipi_in_ucam1>;
315                         data-lanes = <1 2>;
316                     };
317                 };
318             };
319         };
320     };

~ [ 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