summaryrefslogtreecommitdiff
path: root/zephyr/dts/bindings/motionsense
diff options
context:
space:
mode:
authorHyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com>2021-03-19 18:20:27 -0700
committerCommit Bot <commit-bot@chromium.org>2021-03-23 23:13:19 +0000
commitf8f4e0c36a674963c725f8876728d23ece8cc3ff (patch)
tree797c2c693d43b7a2d10a3aaae74aa00ba563c65f /zephyr/dts/bindings/motionsense
parent52c66f7e5f5faf5d96625fe95c53a88b1f5c801c (diff)
downloadchrome-ec-f8f4e0c36a674963c725f8876728d23ece8cc3ff.tar.gz
zephyr: DT: support sensor driver data
This has basic support to create instances of sensor-specific driver data using the information from device tree. BUG=b:173507858 BRANCH=none TEST=make buildall -j8 build volteer on zephyr Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> Change-Id: I196d7595e8bd880e2314290660f08274ad99e172 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2778815 Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'zephyr/dts/bindings/motionsense')
-rw-r--r--zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-channel-scale.yaml29
-rw-r--r--zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-drv-data.yaml44
-rw-r--r--zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-rgb-calibration.yaml63
-rw-r--r--zephyr/dts/bindings/motionsense/drvdata/drvdata-base.yaml11
4 files changed, 147 insertions, 0 deletions
diff --git a/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-channel-scale.yaml b/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-channel-scale.yaml
new file mode 100644
index 0000000000..753edc7ea8
--- /dev/null
+++ b/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-channel-scale.yaml
@@ -0,0 +1,29 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description: |
+ Bindings for als_channel_scale_t in accelgyro.h.
+ Each channel has scaling factor for normalization & cover
+
+compatible: cros-ec,accelgyro-als-channel-scale
+
+properties:
+ k-channel-scale:
+ type: int
+ required: true
+ description: Channel scale factor
+ cover-scale:
+ type: int
+ required: true
+ description: Cover compensation scale factor
+
+#
+# examples:
+#
+# als-channel-scale {
+# compatible = "cros-ec,accelgyro-als-channel-scale";
+# k-channel-scale = <1>;
+# cover-scale = <1>;
+# };
+#
diff --git a/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-drv-data.yaml b/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-drv-data.yaml
new file mode 100644
index 0000000000..7d64689cf2
--- /dev/null
+++ b/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-als-drv-data.yaml
@@ -0,0 +1,44 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description: ALS driver data
+
+compatible: "cros-ec,accelgyro-als-drv-data"
+
+child-binding:
+ description: ALS calibration data
+ properties:
+ scale:
+ type: int
+ required: true
+ description: |
+ Scale, uscale, and offset are used to correct the raw 16 bit ALS data
+ and then to convert it to 32 bit using the following equations
+ raw_value += offset;\n
+ adjusted_value = raw_value * scale + raw_value * uscale / 10000;
+ uscale:
+ type: int
+ required: true
+ description: uscale
+ offset:
+ type: int
+ required: true
+ description: offset
+
+#
+# examples:
+# als-drv-data {
+# compatible = "cros-ec,accelgyro-als-drv-data";
+# als-cal {
+# scale = <1>;
+# uscale = <0>;
+# offset = <0>;
+# als-channel-scale {
+# compatible = "cros-ec,accelgyro-als-channel-scale";
+# k-channel-scale = <1>;
+# cover-scale = <1>;
+# };
+# };
+# };
+#
diff --git a/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-rgb-calibration.yaml b/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-rgb-calibration.yaml
new file mode 100644
index 0000000000..4204a63cff
--- /dev/null
+++ b/zephyr/dts/bindings/motionsense/drvdata/cros-ec,accelgyro-rgb-calibration.yaml
@@ -0,0 +1,63 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description: bindings for rgb_calibration_t in accelgyro.h
+
+compatible: "cros-ec,accelgyro-rgb-calibration"
+
+properties:
+ irt:
+ type: int
+ required: true
+ description: incandecent scaling factor
+
+child-binding:
+ description: RGB ALS Calibration Data
+ properties:
+ offset:
+ type: int
+ required: true
+ description: Any offset to add to raw channel data
+ coeff:
+ type: array
+ required: true
+ description: Clear, R, G, and B coefficients for this channel
+
+#
+# examples:
+#
+# rgb_calibration {
+# compatible = "cros-ec,accelgyro-rgb-calibration";
+#
+# irt = <1>;
+#
+# rgb-cal-x {
+# offset = <0>;
+# coeff = <0 0 0 0>;
+# als-channel-scale {
+# compatible = "cros-ec,accelgyro-als-channel-scale";
+# k-channel-scale = <1>;
+# cover-scale = <1>;
+# };
+# };
+# rgb-cal-y {
+# offset = <0>;
+# coeff = <0 0 0 0>;
+# als-channel-scale {
+# compatible = "cros-ec,accelgyro-als-channel-scale";
+# k-channel-scale = <1>;
+# cover-scale = <1>;
+# };
+# };
+# rgb-cal-z {
+# offset = <0>;
+# coeff = <0 0 0 0>;
+# als-channel-scale {
+# compatible = "cros-ec,accelgyro-als-channel-scale";
+# k-channel-scale = <1>;
+# cover-scale = <1>;
+# };
+# };
+# };
+#
diff --git a/zephyr/dts/bindings/motionsense/drvdata/drvdata-base.yaml b/zephyr/dts/bindings/motionsense/drvdata/drvdata-base.yaml
new file mode 100644
index 0000000000..dc32d69d21
--- /dev/null
+++ b/zephyr/dts/bindings/motionsense/drvdata/drvdata-base.yaml
@@ -0,0 +1,11 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# common fields for driver data
+
+include: base.yaml
+
+properties:
+ status:
+ required: true