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/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new ade23b92d1 arch/{nrf52|nrf53}/pwm: fix compilation for MULTICHAN not 
set
ade23b92d1 is described below

commit ade23b92d1f81842bea6669ddb6ae206da37732c
Author: raiden00pl <raide...@railab.me>
AuthorDate: Thu Jun 15 15:12:42 2023 +0200

    arch/{nrf52|nrf53}/pwm: fix compilation for MULTICHAN not set
---
 arch/arm/src/nrf52/nrf52_pwm.c | 19 ++++++++++++++++---
 arch/arm/src/nrf53/nrf53_pwm.c | 16 +++++++++++++---
 2 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/arch/arm/src/nrf52/nrf52_pwm.c b/arch/arm/src/nrf52/nrf52_pwm.c
index 634fa9687a..9ef60a4c4c 100644
--- a/arch/arm/src/nrf52/nrf52_pwm.c
+++ b/arch/arm/src/nrf52/nrf52_pwm.c
@@ -66,6 +66,9 @@ struct nrf52_pwm_s
   uint32_t                ch1_pin;   /* Channel 2 pin */
   uint32_t                ch2_pin;   /* Channel 3 pin */
   uint32_t                ch3_pin;   /* Channel 4 pin */
+#ifndef CONFIG_PWM_MULTICHAN
+  uint8_t                 channel;   /* Assigned channel */
+#endif
 
   /* Sequence 0 */
 
@@ -143,6 +146,9 @@ struct nrf52_pwm_s g_nrf52_pwm0 =
 #ifdef CONFIG_NRF52_PWM0_CH3
   .ch3_pin = NRF52_PWM0_CH3_PIN,
 #endif
+#ifndef CONFIG_PWM_MULTICHAN
+  .channel = CONFIG_NRF52_PWM0_CHANNEL
+#endif
 };
 #endif
 
@@ -165,6 +171,9 @@ struct nrf52_pwm_s g_nrf52_pwm1 =
 #ifdef CONFIG_NRF52_PWM1_CH3
   .ch3_pin = NRF52_PWM1_CH3_PIN,
 #endif
+#ifndef CONFIG_PWM_MULTICHAN
+  .channel = CONFIG_NRF52_PWM1_CHANNEL
+#endif
 };
 #endif
 
@@ -187,6 +196,9 @@ struct nrf52_pwm_s g_nrf52_pwm2 =
 #ifdef CONFIG_NRF52_PWM2_CH3
   .ch3_pin = NRF52_PWM2_CH3_PIN,
 #endif
+#ifndef CONFIG_PWM_MULTICHAN
+  .channel = CONFIG_NRF52_PWM2_CHANNEL
+#endif
 };
 #endif
 
@@ -209,6 +221,9 @@ struct nrf52_pwm_s g_nrf52_pwm3 =
 #ifdef CONFIG_NRF52_PWM3_CH3
   .ch3_pin = NRF52_PWM3_CH3_PIN,
 #endif
+#ifndef CONFIG_PWM_MULTICHAN
+  .channel = CONFIG_NRF52_PWM3_CHANNEL
+#endif
 };
 #endif
 
@@ -592,9 +607,7 @@ static int nrf52_pwm_start(struct pwm_lowerhalf_s *dev,
         }
 
 #else
-      ret = nrf52_pwm_duty(dev,
-                           (info->channels[0].channel - 1),
-                           info->duty);
+      ret = nrf52_pwm_duty(priv, priv->channel, info->duty);
 #endif /* CONFIG_PWM_MULTICHAN */
 
   /* Start sequence 0 */
diff --git a/arch/arm/src/nrf53/nrf53_pwm.c b/arch/arm/src/nrf53/nrf53_pwm.c
index 3186082f82..c15693ffe3 100644
--- a/arch/arm/src/nrf53/nrf53_pwm.c
+++ b/arch/arm/src/nrf53/nrf53_pwm.c
@@ -66,6 +66,9 @@ struct nrf53_pwm_s
   uint32_t                ch1_pin;   /* Channel 2 pin */
   uint32_t                ch2_pin;   /* Channel 3 pin */
   uint32_t                ch3_pin;   /* Channel 4 pin */
+#ifndef CONFIG_PWM_MULTICHAN
+  uint8_t                 channel;   /* Assigned channel */
+#endif
 
   /* Sequence 0 */
 
@@ -143,6 +146,9 @@ struct nrf53_pwm_s g_nrf53_pwm0 =
 #ifdef CONFIG_NRF53_PWM0_CH3
   .ch3_pin = NRF53_PWM0_CH3_PIN,
 #endif
+#ifndef CONFIG_PWM_MULTICHAN
+  .channel = CONFIG_NRF53_PWM0_CHANNEL
+#endif
 };
 #endif
 
@@ -165,6 +171,9 @@ struct nrf53_pwm_s g_nrf53_pwm1 =
 #ifdef CONFIG_NRF53_PWM1_CH3
   .ch3_pin = NRF53_PWM1_CH3_PIN,
 #endif
+#ifndef CONFIG_PWM_MULTICHAN
+  .channel = CONFIG_NRF53_PWM1_CHANNEL
+#endif
 };
 #endif
 
@@ -187,6 +196,9 @@ struct nrf53_pwm_s g_nrf53_pwm2 =
 #ifdef CONFIG_NRF53_PWM2_CH3
   .ch3_pin = NRF53_PWM2_CH3_PIN,
 #endif
+#ifndef CONFIG_PWM_MULTICHAN
+  .channel = CONFIG_NRF53_PWM2_CHANNEL
+#endif
 };
 #endif
 
@@ -570,9 +582,7 @@ static int nrf53_pwm_start(struct pwm_lowerhalf_s *dev,
         }
 
 #else
-      ret = nrf53_pwm_duty(dev,
-                           (info->channels[0].channel - 1),
-                           info->duty);
+      ret = nrf53_pwm_duty(priv, priv->channel, info->duty);
 #endif /* CONFIG_PWM_MULTICHAN */
 
   /* Start sequence 0 */

Reply via email to