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 + } +} +
