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 5ddc67b129 arch/arm/rp23xx: Fix PWM registers access
5ddc67b129 is described below
commit 5ddc67b12919d4fdc1bd3178e43a7fc93eb90e9b
Author: Serg Podtynnyi <[email protected]>
AuthorDate: Tue Apr 15 12:59:51 2025 +0700
arch/arm/rp23xx: Fix PWM registers access
Fix offset alignment and correct the PWM enable register name
Signed-off-by: Serg Podtynnyi <[email protected]>
---
arch/arm/src/rp23xx/hardware/rp23xx_pwm.h | 10 +++++-----
arch/arm/src/rp23xx/rp23xx_pwm.c | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/arm/src/rp23xx/hardware/rp23xx_pwm.h
b/arch/arm/src/rp23xx/hardware/rp23xx_pwm.h
index 132f5cf351..50a01a1c2c 100644
--- a/arch/arm/src/rp23xx/hardware/rp23xx_pwm.h
+++ b/arch/arm/src/rp23xx/hardware/rp23xx_pwm.h
@@ -35,11 +35,11 @@
/* Register offsets *********************************************************/
-#define RP23XX_PWM_CSR_OFFSET(n) (0x000000 + (n) * 14) /* PWM control and
status register */
-#define RP23XX_PWM_DIV_OFFSET(n) (0x000004 + (n) * 14) /* PWM clock divisor
register */
-#define RP23XX_PWM_CTR_OFFSET(n) (0x000008 + (n) * 14) /* PWM counter
register */
-#define RP23XX_PWM_CC_OFFSET(n) (0x00000c + (n) * 14) /* PWM compare
register */
-#define RP23XX_PWM_TOP_OFFSET(n) (0x000010 + (n) * 14) /* PWM wrap value
register */
+#define RP23XX_PWM_CSR_OFFSET(n) (0x000000 + (n) * 20) /* PWM control and
status register */
+#define RP23XX_PWM_DIV_OFFSET(n) (0x000004 + (n) * 20) /* PWM clock divisor
register */
+#define RP23XX_PWM_CTR_OFFSET(n) (0x000008 + (n) * 20) /* PWM counter
register */
+#define RP23XX_PWM_CC_OFFSET(n) (0x00000c + (n) * 20) /* PWM compare
register */
+#define RP23XX_PWM_TOP_OFFSET(n) (0x000010 + (n) * 20) /* PWM wrap value
register */
#define RP23XX_PWM_EN_OFFSET 0x0000f0 /* PWM enable register
*/
#define RP23XX_PWM_INTR_OFFSET 0x0000f4 /* PWM raw interrupt
register */
#define RP23XX_PWM_IRQ0_INTE_OFFSET 0x0000f8 /* PWM interrupt
enable register */
diff --git a/arch/arm/src/rp23xx/rp23xx_pwm.c b/arch/arm/src/rp23xx/rp23xx_pwm.c
index 87e2608442..cdb4b5ba3c 100644
--- a/arch/arm/src/rp23xx/rp23xx_pwm.c
+++ b/arch/arm/src/rp23xx/rp23xx_pwm.c
@@ -572,7 +572,7 @@ static inline void set_enabled(struct
rp23xx_pwm_lowerhalf_s * priv)
{
irqstate_t flags = enter_critical_section();
- modreg32(1 << priv->num, 1 << priv->num, RP23XX_PWM_ENA);
+ modreg32(1 << priv->num, 1 << priv->num, RP23XX_PWM_EN);
leave_critical_section(flags);
}
@@ -592,7 +592,7 @@ static inline void clear_enabled(struct
rp23xx_pwm_lowerhalf_s * priv)
{
irqstate_t flags = enter_critical_section();
- modreg32(0, 1 << priv->num, RP23XX_PWM_ENA);
+ modreg32(0, 1 << priv->num, RP23XX_PWM_EN);
leave_critical_section(flags);
}