Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/linux-sunxi/sunxi-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Nortmann <bernhard.nortmann@web.de>2017-01-26 14:46:14 +0300
committerBernhard Nortmann <bernhard.nortmann@web.de>2017-01-28 01:03:18 +0300
commit0858b7105c19ed1f7f0253c1818b4678b69e57ec (patch)
treeeadd1d45c1fdd2bb78da1fe9e434cffbb07f2430 /fel_lib.h
parent56ef320ad6888cd1624c0146687ce27f85ca308e (diff)
fel: Implement fel_clrsetbits_le32() helper
This function provides bitwise clear/set operations on 32-bit words via FEL. It may help with implementing future functionality, where ARM register manipulations often involve such bit level access. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
Diffstat (limited to 'fel_lib.h')
-rw-r--r--fel_lib.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/fel_lib.h b/fel_lib.h
index 4de0ef9..62ab8dd 100644
--- a/fel_lib.h
+++ b/fel_lib.h
@@ -70,6 +70,13 @@ void fel_writel_n(feldev_handle *dev, uint32_t addr, uint32_t *src, size_t count
void fel_memmove(feldev_handle *dev,
uint32_t dst_addr, uint32_t src_addr, size_t size);
+void fel_clrsetbits_le32(feldev_handle *dev,
+ uint32_t addr, uint32_t clrbits, uint32_t setbits);
+#define fel_clrbits_le32(dev, addr, value) \
+ fel_clrsetbits_le32(dev, addr, value, 0)
+#define fel_setbits_le32(dev, addr, value) \
+ fel_clrsetbits_le32(dev, addr, 0, value)
+
/* retrieve SID root key */
bool fel_get_sid_root_key(feldev_handle *dev, uint32_t *result,
bool force_workaround);