--- /dev/null
+From c48dde74352beaf1271ed417ad4a7bd8e5c25dba Mon Sep 17 00:00:00 2001
+From: Jack Zhu <jack.zhu@starfivetech.com>
+Date: Fri, 12 May 2023 18:28:39 +0800
+Subject: [PATCH 094/129] media: dt-bindings: Add JH7110 Camera Subsystem
+
+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>
+Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com>
+---
+ .../bindings/media/starfive,jh7110-camss.yaml | 179 ++++++++++++++++++
+ 1 file changed, 179 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
+
+diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
+new file mode 100644
+index 000000000..f3bef3eb2
+--- /dev/null
++++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
+@@ -0,0 +1,179 @@
++# 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 until)
++ 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-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>;
++ };
++ };
++ };
++ };
+--
+2.25.1
+