[V5 04/10] dt-bindings: timestamp: Add nvidia,gpio-controller

Dipen Patel <[email protected]> Thu, 6 Apr 2023 10:18:31 -0700
Newsgroups dev.linux.lists.timestamp,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-doc,org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel,org.kernel.vger.linux-tegra
Message-ID <[email protected]>
The tegra always-on (AON) GPIO HTE/GTE provider depends on the AON
GPIO controller where it needs to do namespace conversion between GPIO
line number (belonging to AON GPIO controller instance) and the GTE
slice bits. The patch introduces nvidia,gpio-controller property to
represent that dependency.

Signed-off-by: Dipen Patel <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
---
 .../timestamp/nvidia,tegra194-hte.yaml        | 36 ++++++++++++++++---
 1 file changed, 31 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/timestamp/nvidia,tegra194-hte.yaml b/Documentation/devicetree/bindings/timestamp/nvidia,tegra194-hte.yaml
index 855dad3f2023..66eaa3fab8cc 100644
--- a/Documentation/devicetree/bindings/timestamp/nvidia,tegra194-hte.yaml
+++ b/Documentation/devicetree/bindings/timestamp/nvidia,tegra194-hte.yaml
@@ -51,6 +51,12 @@ properties:
       LIC instance has 11 slices and Tegra234 LIC has 17 slices.
     enum: [3, 11, 17]
 
+  nvidia,gpio-controller:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      The phandle to AON gpio controller instance. This is required to handle
+      namespace conversion between GPIO and GTE.
+
   '#timestamp-cells':
     description:
       This represents number of line id arguments as specified by the
@@ -59,6 +65,12 @@ properties:
       mentioned in the nvidia GPIO device tree binding document.
     const: 1
 
+required:
+  - compatible
+  - reg
+  - interrupts
+  - "#timestamp-cells"
+
 allOf:
   - if:
       properties:
@@ -94,11 +106,15 @@ allOf:
         nvidia,slices:
           const: 17
 
-required:
-  - compatible
-  - reg
-  - interrupts
-  - "#timestamp-cells"
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra234-gte-aon
+    then:
+      required:
+        - nvidia,gpio-controller
 
 additionalProperties: false
 
@@ -112,6 +128,16 @@ examples:
               #timestamp-cells = <1>;
     };
 
+  - |
+    tegra234_hte_aon: timestamp@c1e0000 {
+              compatible = "nvidia,tegra234-gte-aon";
+              reg = <0xc1e0000 0x10000>;
+              interrupts = <0 13 0x4>;
+              nvidia,int-threshold = <1>;
+              nvidia,gpio-controller = <&gpio_aon>;
+              #timestamp-cells = <1>;
+    };
+
   - |
     tegra_hte_lic: timestamp@3aa0000 {
               compatible = "nvidia,tegra194-gte-lic";
-- 
2.17.1