This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 78535d012360f47f309e229540ad23f6f024f7d0
Author: zouboan <f...@feedforward.com.cn>
AuthorDate: Sat Jun 25 10:17:33 2022 +0800

    arch/stm32_capture: completion other slave mode selection
---
 arch/arm/src/stm32/stm32_capture.c | 29 ++++++++++++++++++++++++++---
 arch/arm/src/stm32/stm32_capture.h |  8 ++++++--
 2 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/arch/arm/src/stm32/stm32_capture.c 
b/arch/arm/src/stm32/stm32_capture.c
index 4e114a6f5e..57050a83ed 100644
--- a/arch/arm/src/stm32/stm32_capture.c
+++ b/arch/arm/src/stm32/stm32_capture.c
@@ -651,17 +651,40 @@ static int stm32_cap_setclock(struct stm32_cap_dev_s *dev,
           regval = GTIM_SMCR_DISAB;
           break;
 
+      case STM32_CAP_CLK_ENC1:
+          regval = GTIM_SMCR_ENCMD1;
+          break;
+
+      case STM32_CAP_CLK_ENC2:
+          regval = GTIM_SMCR_ENCMD2;
+          break;
+
+      case STM32_CAP_CLK_ENC3:
+          regval = GTIM_SMCR_ENCMD3;
+          break;
+
+      case STM32_CAP_CLK_RST:
+          regval = GTIM_SMCR_RESET;
+          break;
+
+      case STM32_CAP_CLK_GAT:
+          regval = GTIM_SMCR_GATED;
+          break;
+
+      case STM32_CAP_CLK_TRG:
+          regval = GTIM_SMCR_TRIGGER;
+          break;
+
       case STM32_CAP_CLK_EXT:
           regval = GTIM_SMCR_EXTCLK1;
           break;
 
-      /* TODO: Add other case */
-
       default:
         return ERROR;
     }
 
-  stm32_modifyreg16(priv, STM32_GTIM_SMCR_OFFSET, GTIM_SMCR_SMS_MASK, regval);
+  stm32_modifyreg16(priv, STM32_GTIM_SMCR_OFFSET,
+                    GTIM_SMCR_SMS_MASK, regval);
 
   /* Set Maximum */
 
diff --git a/arch/arm/src/stm32/stm32_capture.h 
b/arch/arm/src/stm32/stm32_capture.h
index ad8de8b078..347545fc31 100644
--- a/arch/arm/src/stm32/stm32_capture.h
+++ b/arch/arm/src/stm32/stm32_capture.h
@@ -127,9 +127,13 @@ typedef enum
 typedef enum
 {
   STM32_CAP_CLK_INT = 0,
+  STM32_CAP_CLK_ENC1,
+  STM32_CAP_CLK_ENC2,
+  STM32_CAP_CLK_ENC3,
+  STM32_CAP_CLK_RST,
+  STM32_CAP_CLK_GAT,
+  STM32_CAP_CLK_TRG,
   STM32_CAP_CLK_EXT,
-
-  /* TODO: Add other clock */
 } stm32_cap_clk_t;
 
 /* Capture flags */

Reply via email to