summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-03-29 18:13:00 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-03-29 18:13:00 -0600
commit262f41933b986aa38737ca9bff1bcf08d46f517d (patch)
tree65b754b757aa2f002d1e12514c4f45e7358b538a
parentb762e09269a433b1cfa3210bcc744a89a7f99d60 (diff)
downloadnuttx-262f41933b986aa38737ca9bff1bcf08d46f517d.tar.gz
nuttx-262f41933b986aa38737ca9bff1bcf08d46f517d.tar.bz2
nuttx-262f41933b986aa38737ca9bff1bcf08d46f517d.zip
Fix a rounding problem in HSMCI divider calculation
-rwxr-xr-xnuttx/arch/arm/src/sama5/sam_pmc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/sama5/sam_pmc.c b/nuttx/arch/arm/src/sama5/sam_pmc.c
index 1fe376722..f9983ced0 100755
--- a/nuttx/arch/arm/src/sama5/sam_pmc.c
+++ b/nuttx/arch/arm/src/sama5/sam_pmc.c
@@ -313,7 +313,10 @@ uint32_t sam_hsmci_clkdiv(uint32_t target)
uint32_t clkfulldiv;
uint32_t ret;
- clkfulldiv = BOARD_MCK_FREQUENCY / target;
+ /* Get the largest divisor does not exceed the target value */
+
+ clkfulldiv = (BOARD_MCK_FREQUENCY + target - 1) / target;
+
if (clkfulldiv > 2)
{
clkfulldiv -= 2;