diff options
author | Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> | 2021-03-19 20:52:30 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-03-24 02:10:38 +0000 |
commit | 3c5dd8f4b8d96d73545668b327bb2706b67ffb9d (patch) | |
tree | 40e86aa5bc77ca8f487881556f34b78a670ade0e /zephyr/dts | |
parent | 2a731332de85391482029130ca88874b93dcc03e (diff) | |
download | chrome-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.yaml | 66 | ||||
-rw-r--r-- | zephyr/dts/bindings/motionsense/motionsense-sensor-base.yaml | 74 |
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>; +# }; +# |