# SPDX-License-Identifier: (GPL-2.0+ OR MIT) %YAML 1.2 --- $id: http://devicetree.org/schemas/media/rockchip-isp1.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Rockchip SoC Image Signal Processing unit v1 maintainers: - Helen Koike description: | Rockchip ISP1 is the Camera interface for the Rockchip series of SoCs which contains image processing, scaling, and compression functions. properties: compatible: const: rockchip,rk3399-cif-isp reg: maxItems: 1 interrupts: maxItems: 1 clocks: minItems: 3 items: # isp0 and isp1 - description: ISP clock - description: ISP AXI clock - description: ISP AHB clock # only for isp1 - description: ISP Pixel clock clock-names: minItems: 3 items: # isp0 and isp1 - const: isp - const: aclk - const: hclk # only for isp1 - const: pclk_isp iommus: maxItems: 1 phys: maxItems: 1 description: phandle for the PHY port phy-names: const: dphy power-domains: maxItems: 1 ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@0: $ref: /schemas/graph.yaml#/$defs/port-base unevaluatedProperties: false description: connection point for sensors at MIPI-DPHY RX0 properties: endpoint: $ref: video-interfaces.yaml# unevaluatedProperties: false properties: data-lanes: minItems: 1 maxItems: 4 required: - port@0 required: - compatible - reg - interrupts - clocks - clock-names - iommus - phys - phy-names - power-domains - ports if: properties: compatible: contains: const: rockchip,rk3399-cif-isp then: properties: clocks: minItems: 3 maxItems: 4 clock-names: minItems: 3 maxItems: 4 additionalProperties: false examples: - | #include #include #include parent0: parent { #address-cells = <2>; #size-cells = <2>; isp0: isp0@ff910000 { compatible = "rockchip,rk3399-cif-isp"; reg = <0x0 0xff910000 0x0 0x4000>; interrupts = ; clocks = <&cru SCLK_ISP0>, <&cru ACLK_ISP0_WRAPPER>, <&cru HCLK_ISP0_WRAPPER>; clock-names = "isp", "aclk", "hclk"; iommus = <&isp0_mmu>; phys = <&dphy>; phy-names = "dphy"; power-domains = <&power RK3399_PD_ISP0>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; mipi_in_wcam: endpoint@0 { reg = <0>; remote-endpoint = <&wcam_out>; data-lanes = <1 2>; }; mipi_in_ucam: endpoint@1 { reg = <1>; remote-endpoint = <&ucam_out>; data-lanes = <1>; }; }; }; }; i2c7: i2c { #address-cells = <1>; #size-cells = <0>; wcam: camera@36 { compatible = "ovti,ov5695"; reg = <0x36>; port { wcam_out: endpoint { remote-endpoint = <&mipi_in_wcam>; data-lanes = <1 2>; }; }; }; ucam: camera@3c { compatible = "ovti,ov2685"; reg = <0x3c>; port { ucam_out: endpoint { remote-endpoint = <&mipi_in_ucam>; data-lanes = <1>; }; }; }; }; };