summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2023-04-21 16:03:46 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-24 17:36:59 +0000
commit229b251ffa8c104e190b1bfa6ba6cb011dcacad4 (patch)
treee0f4c071b6395011d1196945e7e59cfdb93e5fd9
parente09fc4241b1104afd68d9fd923858212131bb82c (diff)
downloadchrome-ec-229b251ffa8c104e190b1bfa6ba6cb011dcacad4.tar.gz
Skyrim: Set up BMA422 interrupts
The BMA422 sensor provides interrupts. Enable these for all skyrim variants using this chip for more accurate readings when the ODR is changing frequently. BRANCH=skyrim BUG=b:278156424 TEST=on frostflow, ensure factory tablet test passes Change-Id: Iafabd8ccf04cd4df970d6f0c1f77195ba340f76a Signed-off-by: Diana Z <dzigterman@chromium.org> Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4460851 Reviewed-by: SamSP Liu <samsp_liu2@compal.corp-partner.google.com> Reviewed-by: Chao Gui <chaogui@google.com> Commit-Queue: Chao Gui <chaogui@google.com> (cherry picked from commit ce23f23d1a43782c6dacbfc443ab3b3d2ef4f738) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4461063 Tested-by: Chao Gui <chaogui@google.com>
-rw-r--r--zephyr/program/skyrim/crystaldrift/motionsense.dtsi6
-rw-r--r--zephyr/program/skyrim/crystaldrift/project.overlay8
-rw-r--r--zephyr/program/skyrim/frostflow/motionsense.dtsi6
-rw-r--r--zephyr/program/skyrim/frostflow/project.overlay8
-rw-r--r--zephyr/program/skyrim/gpio.dtsi2
-rw-r--r--zephyr/program/skyrim/markarth/motionsense.dtsi6
-rw-r--r--zephyr/program/skyrim/markarth/project.overlay8
-rw-r--r--zephyr/program/skyrim/motionsense.dtsi6
-rw-r--r--zephyr/program/skyrim/skyrim/motionsense.dtsi6
-rw-r--r--zephyr/program/skyrim/skyrim/project.overlay8
10 files changed, 43 insertions, 21 deletions
diff --git a/zephyr/program/skyrim/crystaldrift/motionsense.dtsi b/zephyr/program/skyrim/crystaldrift/motionsense.dtsi
index f943bea4c8..119c4aaf8e 100644
--- a/zephyr/program/skyrim/crystaldrift/motionsense.dtsi
+++ b/zephyr/program/skyrim/crystaldrift/motionsense.dtsi
@@ -14,6 +14,7 @@
* its own <>_INT_EVENT.
*/
bmi3xx-int = &base_accel;
+ bma4xx-int = &lid_accel;
};
/*
@@ -127,9 +128,6 @@
* list of GPIO interrupts that have to
* be enabled at initial stage
*/
- sensor-irqs = <&int_accel_gyro>;
-
- /* list of sensors in force mode */
- accel-force-mode-sensors = <&lid_accel>;
+ sensor-irqs = <&int_lid_accel &int_accel_gyro>;
};
};
diff --git a/zephyr/program/skyrim/crystaldrift/project.overlay b/zephyr/program/skyrim/crystaldrift/project.overlay
index a23499046b..f03949cfa4 100644
--- a/zephyr/program/skyrim/crystaldrift/project.overlay
+++ b/zephyr/program/skyrim/crystaldrift/project.overlay
@@ -39,6 +39,14 @@
};
};
+ gpio-interrupts {
+ int_lid_accel: lid_accel {
+ irq-pin = <&gpio_lid_accel_int_l>;
+ flags = <GPIO_INT_EDGE_FALLING>;
+ handler = "bma4xx_interrupt";
+ };
+ };
+
named-temp-sensors {
compatible = "cros-ec,temp-sensors";
soc-pct2075 {
diff --git a/zephyr/program/skyrim/frostflow/motionsense.dtsi b/zephyr/program/skyrim/frostflow/motionsense.dtsi
index f943bea4c8..119c4aaf8e 100644
--- a/zephyr/program/skyrim/frostflow/motionsense.dtsi
+++ b/zephyr/program/skyrim/frostflow/motionsense.dtsi
@@ -14,6 +14,7 @@
* its own <>_INT_EVENT.
*/
bmi3xx-int = &base_accel;
+ bma4xx-int = &lid_accel;
};
/*
@@ -127,9 +128,6 @@
* list of GPIO interrupts that have to
* be enabled at initial stage
*/
- sensor-irqs = <&int_accel_gyro>;
-
- /* list of sensors in force mode */
- accel-force-mode-sensors = <&lid_accel>;
+ sensor-irqs = <&int_lid_accel &int_accel_gyro>;
};
};
diff --git a/zephyr/program/skyrim/frostflow/project.overlay b/zephyr/program/skyrim/frostflow/project.overlay
index baa400326c..82b0beb683 100644
--- a/zephyr/program/skyrim/frostflow/project.overlay
+++ b/zephyr/program/skyrim/frostflow/project.overlay
@@ -30,6 +30,14 @@
/* Frostflow-specific GPIO customizations */
};
+ gpio-interrupts {
+ int_lid_accel: lid_accel {
+ irq-pin = <&gpio_lid_accel_int_l>;
+ flags = <GPIO_INT_EDGE_FALLING>;
+ handler = "bma4xx_interrupt";
+ };
+ };
+
named-temp-sensors {
compatible = "cros-ec,temp-sensors";
temp_soc: soc-pct2075 {
diff --git a/zephyr/program/skyrim/gpio.dtsi b/zephyr/program/skyrim/gpio.dtsi
index fe92fab785..ef78e9034a 100644
--- a/zephyr/program/skyrim/gpio.dtsi
+++ b/zephyr/program/skyrim/gpio.dtsi
@@ -160,7 +160,7 @@
gpio_pg_lpddr5_s3_od: pg_lpddr5_s3_od {
gpios = <&gpio7 3 GPIO_INPUT>;
};
- 3axis_int_l {
+ gpio_lid_accel_int_l: 3axis_int_l {
gpios = <&gpioa 2 GPIO_INPUT_PULL_UP>;
};
gpio_ec_soc_pwr_btn_l: ec_soc_pwr_btn_l {
diff --git a/zephyr/program/skyrim/markarth/motionsense.dtsi b/zephyr/program/skyrim/markarth/motionsense.dtsi
index f943bea4c8..119c4aaf8e 100644
--- a/zephyr/program/skyrim/markarth/motionsense.dtsi
+++ b/zephyr/program/skyrim/markarth/motionsense.dtsi
@@ -14,6 +14,7 @@
* its own <>_INT_EVENT.
*/
bmi3xx-int = &base_accel;
+ bma4xx-int = &lid_accel;
};
/*
@@ -127,9 +128,6 @@
* list of GPIO interrupts that have to
* be enabled at initial stage
*/
- sensor-irqs = <&int_accel_gyro>;
-
- /* list of sensors in force mode */
- accel-force-mode-sensors = <&lid_accel>;
+ sensor-irqs = <&int_lid_accel &int_accel_gyro>;
};
};
diff --git a/zephyr/program/skyrim/markarth/project.overlay b/zephyr/program/skyrim/markarth/project.overlay
index 3d5f8c3fcb..6e9e519a65 100644
--- a/zephyr/program/skyrim/markarth/project.overlay
+++ b/zephyr/program/skyrim/markarth/project.overlay
@@ -41,6 +41,14 @@
};
};
+ gpio-interrupts {
+ int_lid_accel: lid_accel {
+ irq-pin = <&gpio_lid_accel_int_l>;
+ flags = <GPIO_INT_EDGE_FALLING>;
+ handler = "bma4xx_interrupt";
+ };
+ };
+
/* gpio-interrupts overrides */
gpio-interrupts {
/delete-node/ usb_c0_bc12;
diff --git a/zephyr/program/skyrim/motionsense.dtsi b/zephyr/program/skyrim/motionsense.dtsi
index f943bea4c8..119c4aaf8e 100644
--- a/zephyr/program/skyrim/motionsense.dtsi
+++ b/zephyr/program/skyrim/motionsense.dtsi
@@ -14,6 +14,7 @@
* its own <>_INT_EVENT.
*/
bmi3xx-int = &base_accel;
+ bma4xx-int = &lid_accel;
};
/*
@@ -127,9 +128,6 @@
* list of GPIO interrupts that have to
* be enabled at initial stage
*/
- sensor-irqs = <&int_accel_gyro>;
-
- /* list of sensors in force mode */
- accel-force-mode-sensors = <&lid_accel>;
+ sensor-irqs = <&int_lid_accel &int_accel_gyro>;
};
};
diff --git a/zephyr/program/skyrim/skyrim/motionsense.dtsi b/zephyr/program/skyrim/skyrim/motionsense.dtsi
index f943bea4c8..119c4aaf8e 100644
--- a/zephyr/program/skyrim/skyrim/motionsense.dtsi
+++ b/zephyr/program/skyrim/skyrim/motionsense.dtsi
@@ -14,6 +14,7 @@
* its own <>_INT_EVENT.
*/
bmi3xx-int = &base_accel;
+ bma4xx-int = &lid_accel;
};
/*
@@ -127,9 +128,6 @@
* list of GPIO interrupts that have to
* be enabled at initial stage
*/
- sensor-irqs = <&int_accel_gyro>;
-
- /* list of sensors in force mode */
- accel-force-mode-sensors = <&lid_accel>;
+ sensor-irqs = <&int_lid_accel &int_accel_gyro>;
};
};
diff --git a/zephyr/program/skyrim/skyrim/project.overlay b/zephyr/program/skyrim/skyrim/project.overlay
index 508223641b..9aea108821 100644
--- a/zephyr/program/skyrim/skyrim/project.overlay
+++ b/zephyr/program/skyrim/skyrim/project.overlay
@@ -33,6 +33,14 @@
/* Skyrim-specific GPIO customizations */
};
+ gpio-interrupts {
+ int_lid_accel: lid_accel {
+ irq-pin = <&gpio_lid_accel_int_l>;
+ flags = <GPIO_INT_EDGE_FALLING>;
+ handler = "bma4xx_interrupt";
+ };
+ };
+
named-temp-sensors {
compatible = "cros-ec,temp-sensors";
soc-pct2075 {