summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Jaszczyk <jaz@semihalf.com>2018-08-24 16:42:11 +0200
committerKostya Porotchkin <kostap@marvell.com>2018-09-03 16:41:31 +0300
commitecfde07c80e1178cc5e74878153c8a8002beafff (patch)
tree06c608db42b5196154d1159ef5614a0de293be6c
parentd181d204c110b017a0ef7a657137eaf3f1c357bb (diff)
lib: mmio: add 16 bit clear-set-bits accessor
Change-Id: Ia366ee327c024db517e78c4cdcdbb633a1131699 Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com> Reviewed-on: http://vgitil04.il.marvell.com:8080/59673 Reviewed-by: Igal Liberman <igall@marvell.com> Reviewed-by: Kostya Porotchkin <kostap@marvell.com> Tested-by: iSoC Platform CI <ykjenk@marvell.com>
-rw-r--r--include/lib/mmio.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/lib/mmio.h b/include/lib/mmio.h
index 880d2c51..38fdf0f2 100644
--- a/include/lib/mmio.h
+++ b/include/lib/mmio.h
@@ -29,6 +29,13 @@ static inline uint16_t mmio_read_16(uintptr_t addr)
return *(volatile uint16_t*)addr;
}
+static inline void mmio_clrsetbits_16(uintptr_t addr,
+ uint16_t clear,
+ uint16_t set)
+{
+ mmio_write_16(addr, (mmio_read_16(addr) & ~clear) | set);
+}
+
static inline void mmio_write_32(uintptr_t addr, uint32_t value)
{
*(volatile uint32_t*)addr = value;