aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/plat-mxc/sdma/iapi/src/iapiLowMcu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-mxc/sdma/iapi/src/iapiLowMcu.c')
-rw-r--r--arch/arm/plat-mxc/sdma/iapi/src/iapiLowMcu.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/plat-mxc/sdma/iapi/src/iapiLowMcu.c b/arch/arm/plat-mxc/sdma/iapi/src/iapiLowMcu.c
index b72234f0e3b..345d36433cf 100644
--- a/arch/arm/plat-mxc/sdma/iapi/src/iapiLowMcu.c
+++ b/arch/arm/plat-mxc/sdma/iapi/src/iapiLowMcu.c
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright 2007-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2007-2011 Freescale Semiconductor, Inc. All Rights Reserved.
*
*
* The code contained herein is licensed under the GNU General Public
@@ -34,6 +34,7 @@
* Include File Section
*****************************************************************************/
#include <string.h>
+#include <io.h>
#include "epm.h"
#include "iapiLow.h"
@@ -132,7 +133,8 @@ iapi_Channel0Command(channelDescriptor *cd_p, void *buf,
*/
void iapi_lowStartChannel(unsigned char channel)
{
- SDMA_H_START |= 1 << channel;
+ /* HSTART is a 'write-ones' register */
+ writel(1UL << channel, SDMA_H_START_ADDR);
}
/* ***************************************************************************/
@@ -150,7 +152,8 @@ void iapi_lowStartChannel(unsigned char channel)
*/
void iapi_lowStopChannel(unsigned char channel)
{
- SDMA_H_STATSTOP &= 1 << channel;
+ /* Another 'write-ones' register */
+ writel(1UL << channel, SDMA_H_STATSTOP_ADDR);
}
/* ***************************************************************************/