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

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

commit 35b68203ad90e1bcd51edbd3403f311b2e76a347
Author: Ulaş Sertan Kemeç <[email protected]>
AuthorDate: Thu Sep 17 11:10:14 2026 +0300

      board/arm/am67/t3-gem-o1: Move EPWM initialization to its own file
    
      Moves EPWM initialization from am67_bringup.c to am67_pwm.c. 
Initialization
      now requires only a function call in bringup.c.
    
      Nxstyle checked, builds same.
    
    Signed-off-by: Ulaş Sertan Kemeç <[email protected]>
---
 arch/arm/src/am67/am67_pwm.h                 | 11 ++++++
 boards/arm/am67/t3-gem-o1/src/am67_bringup.c | 52 +-------------------------
 boards/arm/am67/t3-gem-o1/src/am67_pwm.c     | 56 ++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 51 deletions(-)

diff --git a/arch/arm/src/am67/am67_pwm.h b/arch/arm/src/am67/am67_pwm.h
index daa13297916..74e70ea3d52 100644
--- a/arch/arm/src/am67/am67_pwm.h
+++ b/arch/arm/src/am67/am67_pwm.h
@@ -102,4 +102,15 @@ int am67_epwm_init(void);
 
 struct pwm_lowerhalf_s *am67_epwminitialize(int pwm);
 
+/****************************************************************************
+ * Name: am67_pwmdev_initialize
+ *
+ * Description:
+ *   Initialize the EPWM lower-half driver and register the PWM device.
+ *   This function is called from board bringup.
+ *
+ ****************************************************************************/
+
+void am67_pwmdev_initialize(void);
+
 #endif /* __ARCH_ARM_SRC_AM67_AM67_PWM_H */
diff --git a/boards/arm/am67/t3-gem-o1/src/am67_bringup.c 
b/boards/arm/am67/t3-gem-o1/src/am67_bringup.c
index 3ba12324005..a0a35a06453 100644
--- a/boards/arm/am67/t3-gem-o1/src/am67_bringup.c
+++ b/boards/arm/am67/t3-gem-o1/src/am67_bringup.c
@@ -76,58 +76,8 @@ int am67_bringup(void)
 #endif
 
 #if defined(CONFIG_AM67_EPWM0) || defined(CONFIG_AM67_EPWM1)
-  ret = am67_epwm_init();
-  if (ret < 0)
-    {
-      syslog(LOG_ERR, "ERROR: Failed to initialize EPWM: %d\n", ret);
-    }
-  else
-    {
-      struct pwm_lowerhalf_s *lower;
-
-      syslog(LOG_INFO, "EPWM: CTRL_MMR unlocked\n");
-
-#ifdef CONFIG_AM67_EPWM0
-      lower = am67_epwminitialize(0);
-      if (lower == NULL)
-        {
-          syslog(LOG_ERR, "ERROR: Failed to get EPWM0 lower half\n");
-        }
-      else
-        {
-          ret = pwm_register("/dev/pwm0", lower);
-          if (ret < 0)
-            {
-              syslog(LOG_ERR, "ERROR: pwm_register failed: %d\n", ret);
-            }
-          else
-            {
-              syslog(LOG_INFO, "EPWM0: registered /dev/pwm0\n");
-            }
-        }
-#endif
-
-#ifdef CONFIG_AM67_EPWM1
-      lower = am67_epwminitialize(1);
-      if (lower == NULL)
-        {
-          syslog(LOG_ERR, "ERROR: Failed to get EPWM1 lower half\n");
-        }
-      else
-        {
-          ret = pwm_register("/dev/pwm1", lower);
-          if (ret < 0)
-            {
-              syslog(LOG_ERR, "ERROR: pwm_register failed: %d\n", ret);
-            }
-          else
-            {
-              syslog(LOG_INFO, "EPWM1: registered /dev/pwm1\n");
-            }
-        }
+  am67_pwmdev_initialize();
 #endif
-    }
-#endif /* CONFIG_AM67_EPWM0 || CONFIG_AM67_EPWM1 */
 
 #ifdef CONFIG_FS_PROCFS
   /* Mount the procfs file system */
diff --git a/boards/arm/am67/t3-gem-o1/src/am67_pwm.c 
b/boards/arm/am67/t3-gem-o1/src/am67_pwm.c
index c1cbab17db7..59cf51b88c4 100644
--- a/boards/arm/am67/t3-gem-o1/src/am67_pwm.c
+++ b/boards/arm/am67/t3-gem-o1/src/am67_pwm.c
@@ -40,3 +40,59 @@
  * Public Functions
  ****************************************************************************/
 
+void am67_pwmdev_initialize(void)
+{
+  int ret = am67_epwm_init();
+
+  if (ret < 0)
+    {
+      syslog(LOG_ERR, "ERROR: Failed to initialize EPWM: %d\n", ret);
+    }
+  else
+    {
+      struct pwm_lowerhalf_s *lower;
+
+      syslog(LOG_INFO, "EPWM: CTRL_MMR unlocked\n");
+
+#ifdef CONFIG_AM67_EPWM0
+      lower = am67_epwminitialize(0);
+      if (lower == NULL)
+        {
+          syslog(LOG_ERR, "ERROR: Failed to get EPWM0 lower half\n");
+        }
+      else
+        {
+          ret = pwm_register("/dev/pwm0", lower);
+          if (ret < 0)
+            {
+              syslog(LOG_ERR, "ERROR: pwm_register failed: %d\n", ret);
+            }
+          else
+            {
+              syslog(LOG_INFO, "EPWM0: registered /dev/pwm0\n");
+            }
+        }
+#endif
+
+#ifdef CONFIG_AM67_EPWM1
+      lower = am67_epwminitialize(1);
+      if (lower == NULL)
+        {
+          syslog(LOG_ERR, "ERROR: Failed to get EPWM1 lower half\n");
+        }
+      else
+        {
+          ret = pwm_register("/dev/pwm1", lower);
+          if (ret < 0)
+            {
+              syslog(LOG_ERR, "ERROR: pwm_register failed: %d\n", ret);
+            }
+          else
+            {
+              syslog(LOG_INFO, "EPWM1: registered /dev/pwm1\n");
+            }
+        }
+#endif
+    }
+}
+

Reply via email to