Add the bindings documentation for Starfive JH7110 Camera Subsystem which is used for handing image sensor data. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
181 lines
4.1 KiB
YAML
181 lines
4.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Starfive SoC CAMSS ISP
|
|
|
|
maintainers:
|
|
- Jack Zhu <jack.zhu@starfivetech.com>
|
|
- Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
|
|
description:
|
|
The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It
|
|
consists of a VIN controller (Video In Controller, a top-level control unit)
|
|
and an ISP.
|
|
|
|
properties:
|
|
compatible:
|
|
const: starfive,jh7110-camss
|
|
|
|
reg:
|
|
maxItems: 2
|
|
|
|
reg-names:
|
|
items:
|
|
- const: syscon
|
|
- const: isp
|
|
|
|
clocks:
|
|
maxItems: 7
|
|
|
|
clock-names:
|
|
items:
|
|
- const: apb_func
|
|
- const: wrapper_clk_c
|
|
- const: dvp_inv
|
|
- const: axiwr
|
|
- const: mipi_rx0_pxl
|
|
- const: ispcore_2x
|
|
- const: isp_axi
|
|
|
|
resets:
|
|
maxItems: 6
|
|
|
|
reset-names:
|
|
items:
|
|
- const: wrapper_p
|
|
- const: wrapper_c
|
|
- const: axird
|
|
- const: axiwr
|
|
- const: isp_top_n
|
|
- const: isp_top_axi
|
|
|
|
power-domains:
|
|
items:
|
|
- description: JH7110 ISP Power Domain Switch Controller.
|
|
|
|
interrupts:
|
|
maxItems: 4
|
|
|
|
ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
|
|
properties:
|
|
port@0:
|
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
|
unevaluatedProperties: false
|
|
description: Input port for receiving DVP data.
|
|
|
|
properties:
|
|
endpoint:
|
|
$ref: video-interfaces.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
bus-type:
|
|
enum: [5, 6]
|
|
|
|
bus-width:
|
|
enum: [8, 10, 12]
|
|
|
|
data-shift:
|
|
enum: [0, 2]
|
|
default: 0
|
|
|
|
hsync-active:
|
|
enum: [0, 1]
|
|
default: 1
|
|
|
|
vsync-active:
|
|
enum: [0, 1]
|
|
default: 1
|
|
|
|
required:
|
|
- bus-type
|
|
- bus-width
|
|
|
|
port@1:
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
description: Input port for receiving CSI data.
|
|
|
|
required:
|
|
- port@0
|
|
- port@1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
- clocks
|
|
- clock-names
|
|
- resets
|
|
- reset-names
|
|
- power-domains
|
|
- interrupts
|
|
- ports
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
isp@19840000 {
|
|
compatible = "starfive,jh7110-camss";
|
|
reg = <0x19840000 0x10000>,
|
|
<0x19870000 0x30000>;
|
|
reg-names = "syscon", "isp";
|
|
clocks = <&ispcrg 0>,
|
|
<&ispcrg 13>,
|
|
<&ispcrg 2>,
|
|
<&ispcrg 12>,
|
|
<&ispcrg 1>,
|
|
<&syscrg 51>,
|
|
<&syscrg 52>;
|
|
clock-names = "apb_func",
|
|
"wrapper_clk_c",
|
|
"dvp_inv",
|
|
"axiwr",
|
|
"mipi_rx0_pxl",
|
|
"ispcore_2x",
|
|
"isp_axi";
|
|
resets = <&ispcrg 0>,
|
|
<&ispcrg 1>,
|
|
<&ispcrg 10>,
|
|
<&ispcrg 11>,
|
|
<&syscrg 41>,
|
|
<&syscrg 42>;
|
|
reset-names = "wrapper_p",
|
|
"wrapper_c",
|
|
"axird",
|
|
"axiwr",
|
|
"isp_top_n",
|
|
"isp_top_axi";
|
|
power-domains = <&pwrc 5>;
|
|
interrupts = <92>, <87>, <88>, <90>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
port@0 {
|
|
reg = <0>;
|
|
vin_from_sc2235: endpoint {
|
|
remote-endpoint = <&sc2235_to_vin>;
|
|
bus-type = <5>;
|
|
bus-width = <8>;
|
|
data-shift = <2>;
|
|
hsync-active = <1>;
|
|
vsync-active = <0>;
|
|
pclk-sample = <1>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
vin_from_csi2rx: endpoint {
|
|
remote-endpoint = <&csi2rx_to_vin>;
|
|
};
|
|
};
|
|
};
|
|
};
|