From e5bf4fc5c4057d9f4e8ec1cc00a7fd4254cc23af Mon Sep 17 00:00:00 2001 From: Serg Podtynnyi Date: Fri, 16 May 2025 20:03:31 +0700 Subject: [PATCH] arch/arm/rp23xx: xosc: Update startup delay calculation Use upstream function to calculate XOSC startup delay Signed-off-by: Serg Podtynnyi --- arch/arm/src/rp23xx/rp23xx_xosc.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/arm/src/rp23xx/rp23xx_xosc.c b/arch/arm/src/rp23xx/rp23xx_xosc.c index adeba6bd09..27f4cf1576 100644 --- a/arch/arm/src/rp23xx/rp23xx_xosc.c +++ b/arch/arm/src/rp23xx/rp23xx_xosc.c @@ -53,6 +53,13 @@ #include "rp23xx_xosc.h" #include "hardware/rp23xx_xosc.h" +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +#define XOSC_STARTUPDELAY_MULT 6 +#define XOSC_STARTUPDELAY (BOARD_XOSC_STARTUPDELAY * XOSC_STARTUPDELAY_MULT) + /**************************************************************************** * Private Functions ****************************************************************************/ @@ -78,8 +85,8 @@ void rp23xx_xosc_init(void) /* Set xosc startup delay */ - uint32_t startup_delay = ((BOARD_XOSC_FREQ / 1000) * - BOARD_XOSC_STARTUPDELAY + 255) / 256; + uint32_t startup_delay = (((BOARD_XOSC_FREQ / 1000) + 128) / 256) * + XOSC_STARTUPDELAY; ASSERT(startup_delay < 1 << 13); putreg32(startup_delay, RP23XX_XOSC_STARTUP);