lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221114-narmstrong-sm8550-upstream-i2c-master-hub-v1-2-64449106a148@linaro.org>
Date:   Wed, 16 Nov 2022 11:21:49 +0100
From:   Neil Armstrong <neil.armstrong@...aro.org>
To:     Rob Herring <robh+dt@...nel.org>,
        Konrad Dybcio <konrad.dybcio@...ainline.org>,
        Andy Gross <agross@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Bjorn Andersson <andersson@...nel.org>
Cc:     linux-i2c@...r.kernel.org, linux-arm-msm@...r.kernel.org,
        linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
        Neil Armstrong <neil.armstrong@...aro.org>
Subject: [PATCH 2/6] dt-bindings: i2c: qcom-geni: document I2C Master Hub serial
 I2C engine

The I2C Master Hub is a stripped down version of the GENI Serial Engine
QUP Wrapper Controller but only supporting I2C serial engines without
DMA support.

This documents the I2C Serial Engine variant used within the I2C Master
Hub Wrapper. This serial engine variant lacks DMA support, and requires
a core clock, and since DMA support is lacking, the memory interconnect
path isn't needed.

Signed-off-by: Neil Armstrong <neil.armstrong@...aro.org>
---
 .../bindings/i2c/qcom,i2c-geni-qcom.yaml           | 61 +++++++++++++++++-----
 1 file changed, 49 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
index 0e7ed00562e2..ea2c28e70cf5 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
@@ -15,13 +15,13 @@ allOf:
 
 properties:
   compatible:
-    const: qcom,geni-i2c
+    enum:
+      - qcom,geni-i2c
+      - qcom,geni-i2c-master-hub
 
-  clocks:
-    maxItems: 1
+  clocks: true
 
-  clock-names:
-    const: se
+  clock-names: true
 
   clock-frequency:
     default: 100000
@@ -34,14 +34,9 @@ properties:
       - const: tx
       - const: rx
 
-  interconnects:
-    maxItems: 3
+  interconnects: true
 
-  interconnect-names:
-    items:
-      - const: qup-core
-      - const: qup-config
-      - const: qup-memory
+  interconnect-names: true
 
   interrupts:
     maxItems: 1
@@ -71,6 +66,48 @@ required:
   - clock-names
   - reg
 
+if:
+  properties:
+    compatible:
+      contains:
+        const: qcom,geni-i2c-master-hub
+then:
+  properties:
+    clock-names:
+      items:
+        - const: se
+        - const: core
+
+    clocks:
+      maxItems: 2
+
+    dmas: false
+    dma-names: false
+
+    interconnects:
+      maxItems: 2
+
+    interconnect-names:
+      items:
+        - const: qup-core
+        - const: qup-config
+else:
+  properties:
+    clocks:
+      maxItems: 1
+
+    clock-names:
+      const: se
+
+    interconnects:
+      maxItems: 3
+
+    interconnect-names:
+      items:
+        - const: qup-core
+        - const: qup-config
+        - const: qup-memory
+
 unevaluatedProperties: false
 
 examples:

-- 
b4 0.10.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ