summaryrefslogtreecommitdiff
path: root/include/common.h
diff options
context:
space:
mode:
authorSheng-Liang Song <ssl@chromium.org>2014-12-17 10:53:19 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-03-20 23:06:58 +0000
commit3f061f1864b59cd77d6c6d2fd6fdf8eb57393d51 (patch)
tree80ecad1905c45bda37e049d8faa3ef78c9f18063 /include/common.h
parentbdcc496b304ddc7e614de025a08133bbc152ba7f (diff)
downloadchrome-ec-3f061f1864b59cd77d6c6d2fd6fdf8eb57393d51.tar.gz
cr50: Added macros for register read/write
Added macros for register read/write. BRANCH=none BUG=chrome-os-partner:33815 TEST="make buildall -j; Verified on RevA1 chip" Signed-off-by: Sheng-Liang Song <ssl@chromium.org> Change-Id: I25c6f6b5865c7fdde002b2191b1f2eaaba15f589 Reviewed-on: https://chromium-review.googlesource.com/236402 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Commit-Queue: Sheng-liang Song <ssl@chromium.org> Tested-by: Sheng-liang Song <ssl@chromium.org>
Diffstat (limited to 'include/common.h')
-rw-r--r--include/common.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/common.h b/include/common.h
index eb4ebd7c32..59e66b7f29 100644
--- a/include/common.h
+++ b/include/common.h
@@ -37,9 +37,13 @@
#define STRINGIFY(name) STRINGIFY0(name)
/* Macros to access registers */
-#define REG32(addr) (*(volatile uint32_t *)(addr))
-#define REG16(addr) (*(volatile uint16_t *)(addr))
-#define REG8(addr) (*(volatile uint8_t *)(addr))
+#define REG32_ADDR(addr) ((volatile uint32_t *)(addr))
+#define REG16_ADDR(addr) ((volatile uint16_t *)(addr))
+#define REG8_ADDR(addr) ((volatile uint8_t *)(addr))
+
+#define REG32(addr) (*REG32_ADDR(addr))
+#define REG16(addr) (*REG16_ADDR(addr))
+#define REG8(addr) (*REG8_ADDR(addr))
/*
* Define __aligned(n) and __packed if someone hasn't beat us to it. Linux