From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 1CBEE30E827 for ; Sun, 28 Jun 2026 19:14:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782674063; cv=none; b=A2SSI6pfQyHxQDZP8O1+X+Kpvcj9rcVXNNiHT8whoiSyWZtiPy/6JBejDF8zJDRmT3r857vylK9PmT/Lefr6szo8LziX6Wh7Ge5jd33OMNvTp0VrpNlK631Yf5moYkQglJ6K0UsvTqLTlyMh2pkT931mm83vlRigX3Mqt/aGw7s= 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.171 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-f171.google.com with SMTP id d9443c01a7336-2c9b1edf2bdso6013865ad.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=YMpB6jTpSzDtWaOQyIl9+fXXM1gHCIdMpIJkIH6N4Hg3QPc/XmfQwiSIAvucrSSqx5 5pl2ic9spqFQkcjgvJt9o15H6kFDowhCpIubrXrolLB56UqcbUlYHyLpgSOTcE2TXhTq x1jFDGAxVV/TEjjnAbDy/wMWdHD/M+cz4WmB6BtuxhB5tTSZPNGVHr2ZuxFDY2Q9eSzi imqWHjdLQzSQYB7YRj2QE8Zoqvg+UgJU2ZHfo6Uy/7wdgabF3CP4yUJ/HQ/sFqufi/DS pMbNI/fit52SEasUThe5UkmE7KMyAyMcFK01eXDPt2Vd7PU13EeMcPmKwaq9raLYtmBz FfNw== X-Forwarded-Encrypted: i=1; AHgh+RrNG70CWFtwUdaAT2jCNea96hcYnHtlE52ajMM8zyl73HuS905Xjg/NF3L2E3c1R2hK1oJy0WzxUDU=@vger.kernel.org X-Gm-Message-State: AOJu0YwWZmmFZfUfJTVPno3BGqmet+uzokGXAuFFOWk0a0SfzJZxHxQv HaeDtkzhEkyQAkHdZauLVFIzEuQU5nCZjCQmGgDK8mjknLo4rfrkHNrX X-Gm-Gg: AfdE7cl+dB3e/7nhEIm4fyoGua2Lw2/ip3GUuuTwIoTC3b1MImyASq36GAEEpuwQ/Ts bIZsNEXu+X5gtjuYuQLpkvo6zzcuToa2l+QvhsUDF40RCKGDTxzQo+3jv6o+/XJbS3NpXRgJyIQ uUKdvjfELSjRM+HDrcXqLYIW1KPgFJ94dVXk8lrBYPtHfOmjTv0e0laqoEuCgeCWkw8c6OsqxZ2 DlDWI6/9sJ8+qmVv35H7o0vJbjpbs0uoiqk0rIXG1K1Z5pNi7gmPfc4WIsW1GUXvVFMe6S69I13 LOyAWGIC4pLMA/3Ka3dXOgx9WRgyx/Cu8PR8WSoQCOMos5RLOSSz9k/LQYXrmuoAnV9IoItz05t ZxZvPuQpxiYfoV4yVE35eVMhrhSNx/RgE5BZjAGdZ484V/fis5utra0KtXKSyOpOQcMGuzfHZD4 dbo8xrgAF2BVjJifRKH9e8hWzeeCMg6tIl58hv/FRy1HX9ffA26aRElFFpM+ekCb55tDBzpI1vS uooHgjq7PrTj2AuVQCsID1XP51m 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: linux-doc@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