summaryrefslogtreecommitdiff
path: root/nuttx/arch
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-03-24 10:25:02 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-03-24 10:25:02 -0600
commitf1f3c534787be48083183191e40d91d11616bb9d (patch)
tree76850287117975ba0f08b529c5473d33ea5a5f62 /nuttx/arch
parentc8d1573a56076bc91db22bb995ee0961e65a6760 (diff)
downloadpx4-nuttx-f1f3c534787be48083183191e40d91d11616bb9d.tar.gz
px4-nuttx-f1f3c534787be48083183191e40d91d11616bb9d.tar.bz2
px4-nuttx-f1f3c534787be48083183191e40d91d11616bb9d.zip
SAM3/4 HSCMI: Another fix for complication with SAM4E
Diffstat (limited to 'nuttx/arch')
-rw-r--r--nuttx/arch/arm/src/sam34/sam_hsmci.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/sam34/sam_hsmci.c b/nuttx/arch/arm/src/sam34/sam_hsmci.c
index e71fe209c..4d7d40c91 100644
--- a/nuttx/arch/arm/src/sam34/sam_hsmci.c
+++ b/nuttx/arch/arm/src/sam34/sam_hsmci.c
@@ -1425,7 +1425,14 @@ static void sam_clock(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate)
/* Fetch the current mode register and mask out the clkdiv (and pwsdiv) */
regval = getreg32(SAM_HSMCI_MR);
+
+ /* Does this HSMCI support the CLOCKODD bit? */
+
+#ifdef HSMCI_MR_CLKODD
+ regval &= ~(HSMCI_MR_CLKDIV_MASK | HSMCI_MR_PWSDIV_MASK | HSMCI_MR_CLKODD);
+#else
regval &= ~(HSMCI_MR_CLKDIV_MASK | HSMCI_MR_PWSDIV_MASK);
+#endif
/* These clock devisor values that must be defined in the board-specific
* board.h header file: HSMCI_INIT_CLKDIV, HSMCI_MMCXFR_CLKDIV,