summaryrefslogtreecommitdiff
path: root/zephyr/dts
diff options
context:
space:
mode:
authorHyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com>2021-03-19 20:52:30 -0700
committerCommit Bot <commit-bot@chromium.org>2021-03-24 02:10:38 +0000
commit3c5dd8f4b8d96d73545668b327bb2706b67ffb9d (patch)
tree40e86aa5bc77ca8f487881556f34b78a670ade0e /zephyr/dts
parent2a731332de85391482029130ca88874b93dcc03e (diff)
downloadchrome-ec-3c5dd8f4b8d96d73545668b327bb2706b67ffb9d.tar.gz
zephyr: DT: basic support for motion sensor
This change allows sensor drivers to create motion sensor entry using the information from DT. 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: I1cae9760492966601c1d98050764a2e93b4fc013 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2778816 Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'zephyr/dts')
-rw-r--r--zephyr/dts/bindings/motionsense/cros-ec,motionsense-sensor-config.yaml66
-rw-r--r--zephyr/dts/bindings/motionsense/motionsense-sensor-base.yaml74
2 files changed, 140 insertions, 0 deletions
diff --git a/zephyr/dts/bindings/motionsense/cros-ec,motionsense-sensor-config.yaml b/zephyr/dts/bindings/motionsense/cros-ec,motionsense-sensor-config.yaml
new file mode 100644
index 0000000000..68cdd15637
--- /dev/null
+++ b/zephyr/dts/bindings/motionsense/cros-ec,motionsense-sensor-config.yaml
@@ -0,0 +1,66 @@
+# 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: |
+ There are 4 configuration parameters to deal with different
+ configuration
+ Power | S0 | S3 | S5
+ --------+-------------------+-------------------+-----------------
+ From AP | <------- SENSOR_CONFIG_AP ----------> |
+ | Use for normal | While sleeping | Always disabled
+ | operation (game, | For Activity |
+ | screen rotation) | Recognition |
+ --------+-------------------+-------------------+------------------
+ From EC |SENSOR_CONFIG_EC_S0|SENSOR_CONFIG_EC_S3|SENSOR_CONFIG_EC_S5
+ | Background | Gesture Recognition (Double tap, ...)
+ | Activity (compass,|
+ | ambient light) |
+
+compatible: "cros-ec,motionsense-sensor-config"
+
+child-binding:
+ description: |
+ A config node is used to create a motion_data_t instance.
+ Node name can only be either ap, ec-s0, ec-s3, or ec-s5,
+ and it is used to indicate one of the 4 configurations.
+ For example, node name ec-s0 is for SENSOR_CONFIG_EC_S0.
+ ec-s0 {
+ label = "SENSOR_CONFIG_EC_S0";
+ odr = <1000>;
+ ec_rate = <1000>;
+ };
+ properties:
+ label:
+ type: string
+ required: false
+ description: |
+ Human-readable string describing the config.
+ see the example the above.
+ odr:
+ type: int
+ required: false
+ description: |
+ Sensor output data rate in mHz.
+ MSB is used to know if we are rounding up.
+ ec-rate:
+ type: int
+ required: false
+ description: Delay between collection by EC, in us.
+
+#
+# examples:
+#
+# configs {
+# compatible =
+# "cros-ec,motionsense-sensor-config";
+# ec-s0 {
+# label = "SENSOR_CONFIG_EC_S0";
+# odr = <(10000 | ROUND_UP_FLAG)>;
+# };
+# ec-s3 {
+# label = "SENSOR_CONFIG_EC_S3";
+# odr = <(10000 | ROUND_UP_FLAG)>;
+# };
+# };
+#
diff --git a/zephyr/dts/bindings/motionsense/motionsense-sensor-base.yaml b/zephyr/dts/bindings/motionsense/motionsense-sensor-base.yaml
new file mode 100644
index 0000000000..87d54dbbe6
--- /dev/null
+++ b/zephyr/dts/bindings/motionsense/motionsense-sensor-base.yaml
@@ -0,0 +1,74 @@
+# 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 motion sensors
+
+include: base.yaml
+
+properties:
+ status:
+ required: true
+ label:
+ type: string
+ required: true
+ description: |
+ Human readable string describing the motion sensor.
+ This is used as the name of the motion sensor.
+ e.g) label = "Lid Accel";
+ active-mask:
+ type: string
+ required: true
+ description: indicates system power state for sensor to be active
+ enum:
+ - "SENSOR_ACTIVE_S5"
+ - "SENSOR_ACTIVE_S3"
+ - "SENSOR_ACTIVE_S0"
+ - "SENSOR_ACTIVE_S0_S3"
+ - "SENSOR_ACTIVE_S0_S3_S5"
+ location:
+ type: string
+ required: true
+ description: location of the motion sensor
+ enum:
+ - "MOTIONSENSE_LOC_BASE"
+ - "MOTIONSENSE_LOC_LID"
+ - "MOTIONSENSE_LOC_CAMERA"
+ mutex:
+ type: phandle
+ required: false
+ description: mutex used by chip driver
+ port:
+ type: phandle
+ required: false
+ description: phandle to the named i2c port
+ rot-standard-ref:
+ type: phandle
+ required: false
+ description: phandle to 3x3 rotation matrix
+ default-range:
+ type: int
+ required: false
+ description: default range of sensor read
+ drv-data:
+ type: phandle
+ required: false
+ description: phandle to driver data to be used for the motion sensor
+
+#
+# examples:
+#
+# lid_accel: lid-accel {
+# compatible = "cros-ec,bma255";
+# status = "okay";
+#
+# label = "Lid Accel";
+# active-mask = "SENSOR_ACTIVE_S0_S3";
+# location = "MOTIONSENSE_LOC_LID";
+# mutex = <&mutex_bma255>;
+# port = <&i2c_sensor>;
+# rot-standard-ref = <&lid_rot_ref>;
+# default-range = <2>;
+# drv-data = <&bma255_data>;
+# };
+#