From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16A1F30C360 for ; Sun, 28 Jun 2026 19:14:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782674063; cv=none; b=rj2uxWqOs9avzeOZplUk1v4pmxS3OM3qWyqxnPyiEepAJ/X5V9eg/k47KX0at+Vv8tlQsiOR3pd0Terp0G6jqkmj/9vLbkiDIHkChKhDjzvg9SlQCwoAzrvxZ0of8x3qt5d6Q0X/3AIM9PfclFpUKBbxC9oEiYkZe2+BywoFhmE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782674063; c=relaxed/simple; bh=wA8JNmn3A5+dDyuybDhvw9w3jbayZYBxH3aZrZNNWws=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gpRGGS6GTJ5F1BHls6Bw4LFrmW1R2A5PSIHwDGKyMnHH/j19VPAHIx4fl7AVxna7jeVNY643oKZzj/xDMtkxesDVUicw7TOYyxhSKZt2ZUINWeDs4NxHSP1lrmDaxSFlQ+3OnbSsCiBPSA39hbSrCdniSdet+uwVbVCSRNpbvHM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XDitKAH0; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XDitKAH0" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2c9b1edf2bdso6013855ad.1 for ; Sun, 28 Jun 2026 12:14:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782674061; x=1783278861; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gXbBJ9Y4kfhHHzoTBBCDKg/cyCBNNKfvMr52MYhNSck=; b=XDitKAH0T2npFm5mrdQ2CFCwNld22XWu4pdHpQSaXYzpb4Xcr5u44L2s5A8/BmBgdx ZxY/niIUcxSq6qXv1bN4GsamWZE0q0zP8XeU9UftGxCRKnp9tDwydbgqx9mWjRxU30lQ lZrO+7i3FzoKQ20K5vEdTn5B1DrBfGXTt+YFanaGk/rarsKkV3qAnkAi1LffuDZ+wJxn 7H+nYuf5kEUb2WsE/dCwntYazsIED0lVi6J4aZ0ojE6Q08T0qtzjQkKOpIzknOQaAsFG nhXhLoG6Dg3lJm60HXduqsKMnTj4nxg/aaXOnmfRdiLv10xQGutSuGlfY3+Ef7EUySI1 4eUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782674061; x=1783278861; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=gXbBJ9Y4kfhHHzoTBBCDKg/cyCBNNKfvMr52MYhNSck=; b=cUwh5Y8BVjrJ6UJMsxJEi03DEic9unXKJVX7wgy6T/7dwyP8e6SB4tXGzQzOgXTbYB hIaG3xn9WPyEzfcErrzwzY93k6orKVm4BpYaqmLgc2ufFEnFC9CDt2o2OYAkc+mvPA1z ZNzvXsscy9sv0kZ2BFBTfk7+qtsm5GPbeENytJr5LE0IU2hFrqO0LdFaN+92iTgF3rtg Kf4f2OVn4xyFy293ems1I6cDia1+lJh/UJj4niKLneuIjVE8tUiwqzvhEDmRt/Gt7Dg6 5QOUxSwLGEku5SJD5MB1GEuInZQrP2UFSjkyH2sp1YB0kZmEbLQuHM2y/yhu58p2GCbW cNQw== X-Forwarded-Encrypted: i=1; AHgh+RqbJjIBzQOXAuHM/l6GGwtJg3Lupnn+WLrjgFgFGnC90pDckh9l8IY/csKnjCYDQTADMyopAzuP5B6k@vger.kernel.org X-Gm-Message-State: AOJu0Ywdk89onjX8qEKPCzZnBvskJdZqW/kPTB9DwAVuLD7WQgBJ7j51 mYD9z+24AgLOSEztNjIKlS3zkmdICJzfdQEea+7zwg/JZWgm68N9keF8 X-Gm-Gg: AfdE7ck17j49lurhCgOEA/SYuhBSCcasxtu1TnD2qNkdwEgMWsRDIjZHjspSFLNwSrt C5vz/5vgLvt7cQAJoG3rCMRugqXIaGk+XHiU+xz5ZcIB9LyX7R0pbqxA7SjVWCRC+HFOjFkRZlH ngn9196xULEDhy5rUYtL6bYz680xAmdg0TRfOTkPagKygUmyQL0zc+0aGZ+mp7QFfkLNJ+BET9u TXb2Hh5rSf70uSOiJxpSMboBnkhm3o8naMTk05TRoc6meaLx15VxKXzWtkKx3KIGA+g3hkWqI2X ldtZeU1K8CiFVNKV8d8/m+E0bBnoRI+dOldinXfaI7d53nJ61BmXWc+E9avVX4CwzLHgVFNlZa2 hRQQt+F+z7GsbJ+jNTfyj5j3fM1ao3kdtdXoQbCqRrBgShrqFxD/KrAqTIspMqlmBXMwVIQ9mfh jXouqh4eksw0bUADOGMwQY+ty9cAKLvvF5kVraTHUZugbpDkiolycYFyN9Y2/DyqzrmNnuJtmwo 1T2R0J+YHNX3tlijrWpLNUdrXdA X-Received: by 2002:a17:903:2a84:b0:2c8:4c29:afe7 with SMTP id d9443c01a7336-2c98549cdc2mr77081575ad.3.1782674061260; Sun, 28 Jun 2026 12:14:21 -0700 (PDT) Received: from DESKTOP-G3E0OSP.localdomain ([112.172.255.242]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ca0b454815sm1354385ad.2.2026.06.28.12.14.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Jun 2026 12:14:20 -0700 (PDT) From: Jinseob Kim To: Jonathan Cameron , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Jonathan Corbet , Shuah Khan , Jinseob Kim , linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC v6 1/5] dt-bindings: iio: add Open Sensor Fusion device Date: Mon, 29 Jun 2026 04:13:33 +0900 Message-ID: <20260628191337.937-2-kimjinseob88@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260628191337.937-1-kimjinseob88@gmail.com> References: <20260628191337.937-1-kimjinseob88@gmail.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add a binding for the generic Open Sensor Fusion host interface. Open Sensor Fusion devices report capabilities and samples over an OSF protocol stream. Sensor channels are discovered at runtime from capability reports instead of being described individually in Device Tree. The protocol version is discovered at runtime from the OSF frame header. OSF GREEN is a product identity, and OSF0 is a wire-format magic value, so neither is used as the Linux compatible string. Signed-off-by: Jinseob Kim --- .../bindings/iio/opensensorfusion,osf.yaml | 54 +++++++++++++++++++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + MAINTAINERS | 6 +++ 3 files changed, 62 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/opensensorfusion,osf.yaml diff --git a/Documentation/devicetree/bindings/iio/opensensorfusion,osf.yaml b/Documentation/devicetree/bindings/iio/opensensorfusion,osf.yaml new file mode 100644 index 000000000..8016d582f --- /dev/null +++ b/Documentation/devicetree/bindings/iio/opensensorfusion,osf.yaml @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/opensensorfusion,osf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Open Sensor Fusion Sensor Aggregation Hub + +maintainers: + - Jinseob Kim + +description: | + This binding documents the generic Open Sensor Fusion host interface. Open + Sensor Fusion is a sensor aggregation hub. The hub exposes an OSF protocol + data stream over its host interface and reports capabilities and samples for + multiple sensor classes. The actual sensor channels are discovered at runtime + from OSF capability reports instead of describing them in Device Tree. The + protocol version is discovered at runtime. + + Public project documentation is available at: + + https://github.com/opensensorfusion + + The compatible describes the generic Open Sensor Fusion host interface. It + is not an OSF GREEN board identity, and it does not encode the OSF0 wire + magic. OSF0, protocol_major, and protocol_minor are wire-protocol details + exchanged in OSF frames. + +allOf: + - $ref: /schemas/serial/serial-peripheral-props.yaml# + +properties: + compatible: + const: opensensorfusion,osf + + vcc-supply: + description: + Regulator supplying power to the Open Sensor Fusion device. + +required: + - compatible + - vcc-supply + +unevaluatedProperties: false + +examples: + - | + serial { + sensor { + compatible = "opensensorfusion,osf"; + vcc-supply = <&vcc_sensor>; + }; + }; +... diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 28784d66a..88172d4a4 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -1237,6 +1237,8 @@ patternProperties: description: OpenPandora GmbH "^openrisc,.*": description: OpenRISC.io + "^opensensorfusion,.*": + description: Open Sensor Fusion "^openwrt,.*": description: OpenWrt "^option,.*": diff --git a/MAINTAINERS b/MAINTAINERS index c2c6d7927..e4df9d8dc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -20011,6 +20011,12 @@ F: Documentation/devicetree/ F: arch/*/boot/dts/ F: include/dt-bindings/ +OPEN SENSOR FUSION +M: Jinseob Kim +S: Maintained +F: Documentation/devicetree/bindings/iio/opensensorfusion,osf.yaml +K: opensensorfusion + OPENCOMPUTE PTP CLOCK DRIVER M: Vadim Fedorenko L: netdev@vger.kernel.org -- 2.43.0