From ff7c62574a6f6a6fc7be0fb73c7201352e640904 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 24 Mar 2014 10:25:02 -0600 Subject: [PATCH] SAM3/4 HSCMI: Another fix for complication with SAM4E --- arch/arm/src/sam34/sam_hsmci.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/src/sam34/sam_hsmci.c b/arch/arm/src/sam34/sam_hsmci.c index e71fe209cf..4d7d40c91e 100644 --- a/arch/arm/src/sam34/sam_hsmci.c +++ b/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,