summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-12-19 13:46:49 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-12-19 13:46:49 +0000
commit2b4290cc128a412e50922e8650d94d70c99926f3 (patch)
tree8495827fc2beb71ab23cbb3c28e90a18f4be40f2
parentc61a62c9b903c147f9abecf33b36a71598f61df7 (diff)
downloadrockbox-2b4290cc128a412e50922e8650d94d70c99926f3.zip
rockbox-2b4290cc128a412e50922e8650d94d70c99926f3.tar.gz
rockbox-2b4290cc128a412e50922e8650d94d70c99926f3.tar.bz2
rockbox-2b4290cc128a412e50922e8650d94d70c99926f3.tar.xz
Add a couple useful shorthand atomic register write functions for imx31. Conversion to them where appropriate to make cleaner code to be done.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19485 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/system-imx31.c10
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/system-target.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-imx31.c b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
index d62b31d..a8af583 100644
--- a/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
@@ -115,6 +115,16 @@ void imx31_regmod32(volatile uint32_t *reg_p, uint32_t value, uint32_t mask)
restore_interrupt(oldlevel);
}
+void imx31_regset32(volatile uint32_t *reg_p, uint32_t mask)
+{
+ imx31_regmod32(reg_p, mask, mask);
+}
+
+void imx31_regclr32(volatile uint32_t *reg_p, uint32_t mask)
+{
+ imx31_regmod32(reg_p, 0, mask);
+}
+
#ifdef BOOTLOADER
void system_prepare_fw_start(void)
{
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-target.h b/firmware/target/arm/imx31/gigabeat-s/system-target.h
index f25702e..31f1342 100644
--- a/firmware/target/arm/imx31/gigabeat-s/system-target.h
+++ b/firmware/target/arm/imx31/gigabeat-s/system-target.h
@@ -45,6 +45,8 @@ void kernel_device_init(void);
void imx31_regmod32(volatile uint32_t *reg_p, uint32_t value,
uint32_t mask);
+void imx31_regset32(volatile uint32_t *reg_p, uint32_t mask);
+void imx31_regclr32(volatile uint32_t *reg_p, uint32_t mask);
#define KDEV_INIT