aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorKonstantin Porotchkin <kostap@marvell.com>2018-10-07 17:42:56 +0300
committerKonstantin Porotchkin <kostap@marvell.com>2018-10-18 12:13:11 +0300
commitd90256a7fd3eb98007baebd0fd2cf071781e45f3 (patch)
tree9360a7b4600a35098eb0e5aa8e2f4e0227460b57 /include
parenta51443fa7e50346d167a93efb556f290eb63bd5c (diff)
downloadplatform_external_arm-trusted-firmware-d90256a7fd3eb98007baebd0fd2cf071781e45f3.tar.gz
platform_external_arm-trusted-firmware-d90256a7fd3eb98007baebd0fd2cf071781e45f3.tar.bz2
platform_external_arm-trusted-firmware-d90256a7fd3eb98007baebd0fd2cf071781e45f3.zip
lib/mmio: Add mmio_clrsetbits_16 inline function
Add 16-bit variant of mmio_clrsetbits function Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com> Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Diffstat (limited to 'include')
-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 880d2c512..38fdf0f23 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;