summaryrefslogtreecommitdiff
path: root/board/freescale
diff options
context:
space:
mode:
authorJi Luo <ji.luo@nxp.com>2020-04-28 10:52:56 +0800
committerJi Luo <ji.luo@nxp.com>2020-05-19 18:39:34 +0800
commitc3962107ce6f24819528407ca18c59f82b767bae (patch)
tree523e48b6077786dd6d76ceecab8203d066d3594c /board/freescale
parent8f3daea45f465c981da80a9e2312569b0d73b650 (diff)
MA-17046-3 Add implementation to get ONOFF button status
Add board level implementation to get the ON-OFF button status for imx8q/imx8m. Test: Get ON-OFF button status on imx7ulp/imx8m/imx8q. Change-Id: I8e4ea61ec1c52ab7cfa20b5498756a25f3cd2f8d Signed-off-by: Ji Luo <ji.luo@nxp.com>
Diffstat (limited to 'board/freescale')
-rw-r--r--board/freescale/imx8mm_evk/imx8mm_evk.c6
-rw-r--r--board/freescale/imx8mn_evk/imx8mn_evk.c6
-rw-r--r--board/freescale/imx8mp_evk/imx8mp_evk.c6
-rw-r--r--board/freescale/imx8mq_evk/imx8mq_evk.c7
-rw-r--r--board/freescale/imx8qm_mek/imx8qm_mek.c9
-rw-r--r--board/freescale/imx8qxp_mek/imx8qxp_mek.c9
-rw-r--r--board/freescale/mx7ulp_evk/mx7ulp_evk.c7
7 files changed, 50 insertions, 0 deletions
diff --git a/board/freescale/imx8mm_evk/imx8mm_evk.c b/board/freescale/imx8mm_evk/imx8mm_evk.c
index 7f57a0c949..af1599801d 100644
--- a/board/freescale/imx8mm_evk/imx8mm_evk.c
+++ b/board/freescale/imx8mm_evk/imx8mm_evk.c
@@ -328,3 +328,9 @@ int is_recovery_key_pressing(void)
}
#endif /*CONFIG_ANDROID_RECOVERY*/
#endif /*CONFIG_FSL_FASTBOOT*/
+
+#ifdef CONFIG_ANDROID_SUPPORT
+bool is_power_key_pressed(void) {
+ return (bool)(!!(readl(SNVS_HPSR) & (0x1 << 6)));
+}
+#endif
diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c
index 02f675fb8e..71d99b381a 100644
--- a/board/freescale/imx8mn_evk/imx8mn_evk.c
+++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
@@ -328,3 +328,9 @@ int is_recovery_key_pressing(void)
}
#endif /*CONFIG_ANDROID_RECOVERY*/
#endif /*CONFIG_FSL_FASTBOOT*/
+
+#ifdef CONFIG_ANDROID_SUPPORT
+bool is_power_key_pressed(void) {
+ return (bool)(!!(readl(SNVS_HPSR) & (0x1 << 6)));
+}
+#endif
diff --git a/board/freescale/imx8mp_evk/imx8mp_evk.c b/board/freescale/imx8mp_evk/imx8mp_evk.c
index 76e0d04558..1569c398e9 100644
--- a/board/freescale/imx8mp_evk/imx8mp_evk.c
+++ b/board/freescale/imx8mp_evk/imx8mp_evk.c
@@ -521,6 +521,12 @@ int is_recovery_key_pressing(void)
#endif /*CONFIG_ANDROID_RECOVERY*/
#endif /*CONFIG_FSL_FASTBOOT*/
+#ifdef CONFIG_ANDROID_SUPPORT
+bool is_power_key_pressed(void) {
+ return (bool)(!!(readl(SNVS_HPSR) & (0x1 << 6)));
+}
+#endif
+
#ifdef CONFIG_SPL_MMC_SUPPORT
#define UBOOT_RAW_SECTOR_OFFSET 0x40
diff --git a/board/freescale/imx8mq_evk/imx8mq_evk.c b/board/freescale/imx8mq_evk/imx8mq_evk.c
index befe731e73..73dc82f7cf 100644
--- a/board/freescale/imx8mq_evk/imx8mq_evk.c
+++ b/board/freescale/imx8mq_evk/imx8mq_evk.c
@@ -283,3 +283,10 @@ int is_recovery_key_pressing(void)
}
#endif /*CONFIG_ANDROID_RECOVERY*/
#endif /*CONFIG_FSL_FASTBOOT*/
+
+#ifdef CONFIG_ANDROID_SUPPORT
+bool is_power_key_pressed(void) {
+ return (bool)(!!(readl(SNVS_HPSR) & (0x1 << 6)));
+}
+#endif
+
diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c b/board/freescale/imx8qm_mek/imx8qm_mek.c
index 23204d6487..694ff93335 100644
--- a/board/freescale/imx8qm_mek/imx8qm_mek.c
+++ b/board/freescale/imx8qm_mek/imx8qm_mek.c
@@ -479,3 +479,12 @@ int is_recovery_key_pressing(void)
}
#endif /*CONFIG_ANDROID_RECOVERY*/
#endif /*CONFIG_FSL_FASTBOOT*/
+
+#ifdef CONFIG_ANDROID_SUPPORT
+bool is_power_key_pressed(void) {
+ sc_bool_t status = SC_FALSE;
+
+ sc_misc_get_button_status(-1, &status);
+ return (bool)status;
+}
+#endif
diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
index 1f905f976a..ed2a6a8bce 100644
--- a/board/freescale/imx8qxp_mek/imx8qxp_mek.c
+++ b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
@@ -433,3 +433,12 @@ int is_recovery_key_pressing(void)
}
#endif /*CONFIG_ANDROID_RECOVERY*/
#endif /*CONFIG_FSL_FASTBOOT*/
+
+#ifdef CONFIG_ANDROID_SUPPORT
+bool is_power_key_pressed(void) {
+ sc_bool_t status = SC_FALSE;
+
+ sc_misc_get_button_status(-1, &status);
+ return (bool)status;
+}
+#endif
diff --git a/board/freescale/mx7ulp_evk/mx7ulp_evk.c b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
index f208f7ba23..32322c8b5e 100644
--- a/board/freescale/mx7ulp_evk/mx7ulp_evk.c
+++ b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
@@ -158,3 +158,10 @@ int is_recovery_key_pressing(void)
}
#endif /*CONFIG_ANDROID_RECOVERY*/
#endif /*CONFIG_FSL_FASTBOOT*/
+
+#ifdef CONFIG_ANDROID_SUPPORT
+bool is_power_key_pressed(void) {
+ /* the onoff button is 'pressed' by default on evk board */
+ return (bool)(!(readl(SNVS_HPSR_REVB) & (0x1 << 6)));
+}
+#endif