mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Adrian Ambrozewicz <aambrozewicz@nvidia.com>
To: Andi Shyti <andi.shyti@kernel.org>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>
Cc: Donald Shannon <donalds@nvidia.com>,
	linux-usb@vger.kernel.org, linux-i2c@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH 02/11] dt-bindings: i2c: Add NVIDIA LSTP I2C
Date: Mon, 12 Oct 2026 20:36:00 +0300	[thread overview]
Message-ID: <20261012-lstp-usb-adapter-v1-2-aambrozewicz@nvidia.com> (raw)
In-Reply-To: <20261012-lstp-usb-adapter-v1-0-aambrozewicz@nvidia.com>

Add the binding for an I2C controller channel of an NVIDIA LSTP USB
adapter. Peripherals on the bus are child nodes, as for any I2C
controller. The device sets the bus speed and the protocol cannot
change it, so clock-frequency is not supported.

nvidia,retries sets how many times the host re-issues a transfer that
failed on arbitration loss or a busy bus (default 3). The generic I2C
controller schema has no property for this. A device that reports its
own arbitration retries handles both cases itself, and the property is
ignored for it.

Signed-off-by: Adrian Ambrozewicz <aambrozewicz@nvidia.com>
---
 .../bindings/i2c/nvidia,lstp-i2c.yaml         | 71 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 72 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/nvidia,lstp-i2c.yaml

diff --git a/Documentation/devicetree/bindings/i2c/nvidia,lstp-i2c.yaml b/Documentation/devicetree/bindings/i2c/nvidia,lstp-i2c.yaml
new file mode 100644
index 000000000000..eacabed52cd1
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/nvidia,lstp-i2c.yaml
@@ -0,0 +1,71 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/nvidia,lstp-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NVIDIA LSTP I2C Channel
+
+maintainers:
+  - Adrian Ambrozewicz <aambrozewicz@nvidia.com>
+  - Donald Shannon <donalds@nvidia.com>
+
+description: |
+  I2C controller channel on an NVIDIA LSTP USB device.
+
+  Peripherals on the bus are described as child nodes.  An i2c alias
+  gives the bus a fixed number.
+
+  The bus speed is set by the device.  The LSTP protocol has no way to
+  change it, so clock-frequency is not supported and is ignored.
+
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+  compatible:
+    const: nvidia,lstp-i2c
+
+  reg:
+    description: Channel ID reported by the device firmware.
+    maxItems: 1
+
+  nvidia,retries:
+    description: |
+      Number of times the host re-issues a transfer that fails on
+      arbitration loss or a busy bus before giving up.
+
+      Ignored when the channel config reports non-zero bus arbitration
+      retries.  Such a device is expected to retry both arbitration loss and
+      a busy bus itself before reporting failure, so the host adds no
+      attempts on top.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 255
+    default: 3
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    interface {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        i2c@2 {
+            compatible = "nvidia,lstp-i2c";
+            reg = <2>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+            nvidia,retries = <5>;
+
+            temperature-sensor@48 {
+                compatible = "ti,tmp102";
+                reg = <0x48>;
+            };
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 284000589694..d8092f6d91b2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -19571,6 +19571,7 @@ M:	Donald Shannon <donalds@nvidia.com>
 L:	linux-usb@vger.kernel.org
 S:	Supported
 F:	Documentation/devicetree/bindings/gpio/nvidia,lstp-gpio.yaml
+F:	Documentation/devicetree/bindings/i2c/nvidia,lstp-i2c.yaml
 
 NVIDIA VRS RTC DRIVER
 M:	Shubhi Garg <shgarg@nvidia.com>
-- 
2.43.0


  parent reply	other threads:[~2026-10-12 17:36 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-12 17:35 [PATCH 00/11] Add NVIDIA LSTP USB adapter drivers Adrian Ambrozewicz
2026-10-12 17:35 ` [PATCH 01/11] dt-bindings: gpio: Add NVIDIA LSTP GPIO Adrian Ambrozewicz
2026-10-13  6:09   ` Krzysztof Kozlowski
2026-10-16  8:44     ` Adrian Ambrozewicz
2026-10-12 17:36 ` Adrian Ambrozewicz [this message]
2026-10-13  6:11   ` [PATCH 02/11] dt-bindings: i2c: Add NVIDIA LSTP I2C Krzysztof Kozlowski
2026-10-12 17:36 ` [PATCH 03/11] dt-bindings: spi: Add NVIDIA LSTP SPI Adrian Ambrozewicz
2026-10-13  6:11   ` Krzysztof Kozlowski
2026-10-12 17:36 ` [PATCH 04/11] dt-bindings: usb: Add NVIDIA LSTP USB adapter Adrian Ambrozewicz
2026-10-13  6:13   ` Krzysztof Kozlowski
2026-10-13  6:17   ` Krzysztof Kozlowski
2026-10-22 10:40     ` Adrian Ambrozewicz
2026-10-12 17:36 ` [PATCH 05/11] usb: misc: Add NVIDIA LSTP USB adapter driver Adrian Ambrozewicz
2026-10-12 17:36 ` [PATCH 06/11] gpio: Add NVIDIA LSTP GPIO driver Adrian Ambrozewicz
2026-10-13 23:25   ` Linus Walleij
2026-10-16  8:19     ` Adrian Ambrozewicz
2026-10-16 21:14       ` Linus Walleij
2026-10-20 13:53         ` Adrian Ambrozewicz
2026-10-12 17:36 ` [PATCH 07/11] leds: Add NVIDIA LSTP LED driver Adrian Ambrozewicz
2026-10-12 17:36 ` [PATCH 08/11] i2c: Add NVIDIA LSTP I2C driver Adrian Ambrozewicz
2026-10-12 17:36 ` [PATCH 09/11] spi: Add NVIDIA LSTP SPI driver Adrian Ambrozewicz
2026-10-12 17:36 ` [PATCH 10/11] tty: Add NVIDIA LSTP UART driver Adrian Ambrozewicz
2026-10-13  5:49   ` Jiri Slaby
2026-10-16  8:19     ` Adrian Ambrozewicz
2026-10-15  1:25   ` kernel test robot
2026-10-16  7:43   ` kernel test robot
2026-10-12 17:36 ` [PATCH 11/11] ipmi: Add NVIDIA LSTP IPMI BMC driver Adrian Ambrozewicz
2026-10-12 21:10   ` Corey Minyard
2026-10-16  8:19     ` Adrian Ambrozewicz
2026-10-16 12:26       ` Corey Minyard
2026-10-20 13:53         ` Adrian Ambrozewicz
2026-10-13 11:37 ` [PATCH 00/11] Add NVIDIA LSTP USB adapter drivers Greg Kroah-Hartman
2026-10-16  8:44   ` Adrian Ambrozewicz
2026-10-22 10:40   ` Adrian Ambrozewicz
2026-10-22 13:29     ` Greg Kroah-Hartman
2026-10-13 11:39 ` Greg Kroah-Hartman
2026-10-14  3:38   ` Jeremy Kerr
2026-10-14  4:53     ` Greg Kroah-Hartman
2026-10-16  8:19       ` Adrian Ambrozewicz
2026-10-30  4:06     ` Jeremy Kerr
2026-10-30  5:32       ` Greg Kroah-Hartman
2026-11-02  5:55         ` Jeremy Kerr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261012-lstp-usb-adapter-v1-2-aambrozewicz@nvidia.com \
    --to=aambrozewicz@nvidia.com \
    --cc=andi.shyti@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=donalds@nvidia.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®