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

raiden00 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 c076cb1bef rp2040: pwm: Fix errors at CONFIG_PWM_NCHANNELS=1
c076cb1bef is described below

commit c076cb1bef6e41ea5c877c00c2864150fb5bec28
Author: Takumi Ando <[email protected]>
AuthorDate: Mon Nov 13 15:04:14 2023 +0900

    rp2040: pwm: Fix errors at CONFIG_PWM_NCHANNELS=1
    
    Perhaps it has never been tested with CONFIG_PWM_NCHANNELS=1.
    
    Signed-off-by: Takumi Ando <[email protected]>
---
 arch/arm/src/rp2040/Kconfig                  | 1 +
 arch/arm/src/rp2040/rp2040_pwm.c             | 4 ++--
 boards/arm/rp2040/common/src/rp2040_pwmdev.c | 7 +++++++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/arm/src/rp2040/Kconfig b/arch/arm/src/rp2040/Kconfig
index 4c9777cc71..d302f789e5 100644
--- a/arch/arm/src/rp2040/Kconfig
+++ b/arch/arm/src/rp2040/Kconfig
@@ -276,6 +276,7 @@ if PWM_MULTICHAN
 config PWM_NCHANNELS
        int "Number of channels"
        default 2
+       range 1 2
        ---help---
                If the number of channels is set to 1, the generated code will
                only support the A channel of the PWM slices.  This is 
functionally
diff --git a/arch/arm/src/rp2040/rp2040_pwm.c b/arch/arm/src/rp2040/rp2040_pwm.c
index a28dc8ad2e..e9d79e51c5 100644
--- a/arch/arm/src/rp2040/rp2040_pwm.c
+++ b/arch/arm/src/rp2040/rp2040_pwm.c
@@ -288,8 +288,8 @@ int pwm_shutdown (struct pwm_lowerhalf_s  * dev)
 
   if (priv->pin >= 0)
     {
-      rp2040_gpio_setdir(priv->pin[0], true);
-      rp2040_gpio_put(priv->pin[0],
+      rp2040_gpio_setdir(priv->pin, true);
+      rp2040_gpio_put(priv->pin,
                       ((priv->flags & RP2040_PWM_CSR_A_INV) != 0));
       rp2040_gpio_set_function(priv->pin, RP2040_GPIO_FUNC_SIO);
     }
diff --git a/boards/arm/rp2040/common/src/rp2040_pwmdev.c 
b/boards/arm/rp2040/common/src/rp2040_pwmdev.c
index 21dfce7d74..297f96d9fb 100644
--- a/boards/arm/rp2040/common/src/rp2040_pwmdev.c
+++ b/boards/arm/rp2040/common/src/rp2040_pwmdev.c
@@ -58,11 +58,18 @@ int rp2040_pwmdev_initialize(int      slice,
   int ret;
   struct rp2040_pwm_lowerhalf_s *pwm_lowerhalf;
 
+#if defined(CONFIG_PWM_NCHANNELS) && CONFIG_PWM_NCHANNELS == 2
   pwminfo("Initializing /dev/pwm%d a %d b %d f 0x%08lX..\n",
            slice,
            pin_a,
            pin_b,
            flags);
+#else
+  pwminfo("Initializing /dev/pwm%d %d 0x%08lX..\n",
+           slice,
+           pin,
+           flags);
+#endif
 
   /* Initialize spi device */
 

Reply via email to