Thread (30 messages) 30 messages, 3 authors, 2021-01-26

Re: [PATCH v2 14/22] dt-bindings: media: camss: Add qcom,msm8996-camss binding

From: Rob Herring <robh@kernel.org>
Date: 2021-01-22 16:46:24
Also in: linux-arm-msm, linux-devicetree, linux-media, lkml

On Wed, Jan 20, 2021 at 02:43:49PM +0100, Robert Foss wrote:
quoted hunk ↗ jump to hunk
Add bindings for qcom,msm8996-camss in order to support the camera
subsystem on MSM8996.

Signed-off-by: Robert Foss <redacted>
---

Changes since v1:
 - Laurent: Reworked driver to use dtschema


 .../bindings/media/qcom,msm8996-camss.yaml    | 418 ++++++++++++++++++
 1 file changed, 418 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml
diff --git a/Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml
new file mode 100644
index 000000000000..5ca0be8892ab
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml
@@ -0,0 +1,418 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/media/qcom,msm8996-camss.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Qualcomm CAMSS ISP
+
+maintainers:
+  - Robert Foss <robert.foss@linaro.org>
+  - Todor Tomov <todor.too@gmail.com>
+
+description: |
+  The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms
+
+properties:
+  compatible:
+    const: qcom,msm8996-camss
+
+  clocks:
+    description:
+      Input clocks for the hardware block.
That's every 'clocks' entry. Drop.
+    minItems: 36
+    maxItems: 36
+
+  clock-names:
+    description:
+      Names of input clocks for the hardware block.
ditto.
+    items:
+      - const: top_ahb
+      - const: ispif_ahb
+      - const: csiphy0_timer
+      - const: csiphy1_timer
+      - const: csiphy2_timer
+      - const: csi0_ahb
+      - const: csi0
+      - const: csi0_phy
+      - const: csi0_pix
+      - const: csi0_rdi
+      - const: csi1_ahb
+      - const: csi1
+      - const: csi1_phy
+      - const: csi1_pix
+      - const: csi1_rdi
+      - const: csi2_ahb
+      - const: csi2
+      - const: csi2_phy
+      - const: csi2_pix
+      - const: csi2_rdi
+      - const: csi3_ahb
+      - const: csi3
+      - const: csi3_phy
+      - const: csi3_pix
+      - const: csi3_rdi
+      - const: ahb
+      - const: vfe0
+      - const: csi_vfe0
+      - const: vfe0_ahb
+      - const: vfe0_stream
+      - const: vfe1
+      - const: csi_vfe1
+      - const: vfe1_ahb
+      - const: vfe1_stream
+      - const: vfe_ahb
+      - const: vfe_axi
+
+  interrupts:
+    description:
+      IRQs for the hardware block.
ditto
+    minItems: 10
+    maxItems: 10
+
+  interrupt-names:
+    description:
+      Names of IRQs for the hardware block.
+    items:
+      - const: csiphy0
+      - const: csiphy1
+      - const: csiphy2
+      - const: csid0
+      - const: csid1
+      - const: csid2
+      - const: csid3
+      - const: ispif
+      - const: vfe0
+      - const: vfe1
+
+  iommus:
+    maxItems: 4
+
+  power-domains:
+    maxItems: 2
Need to define what each one is.

items:
  - description: ...
  - description: ...
+
+  ports:
This needs to reference graph.yaml#/properties/ports

See recent additions in -next.
+    description:
+      The CSI data input ports.
+
+    type: object
+
+    properties:
+      port@0:
There's a pending video-interfaces.yaml conversion which this is going 
to need to use[1].
+        type: object
+        description: Input node for receiving CSI data.
+        properties:
+          endpoint:
+            type: object
+
+            properties:
+              clock-lanes:
+                description: |-
+                  The physical clock lane index. The value must
+                  always be <7> as the hardware supports D-PHY
+                  and C-PHY, indexes are in a common set and
+                  D-PHY physical clock lane is labeled as 7.
You don't need this in DT if it can only be 1 value.
+
+              data-lanes:
+                description: |-
+                  An array of physical data lanes indexes.
+                  Position of an entry determines the logical
+                  lane number, while the value of an entry
+                  indicates physical lane index. Lane swapping
+                  is supported. Physical lane indexes are:
+                  0, 1, 2, 3
No need to redescribe this here. Just any additional constraints. 
'maxItems: 4' at least since the base allows 8.

Rob

[1] https://lore.kernel.org/linux-devicetree/20210104165808.2166686-1-robh@kernel.org/ (local)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help