summaryrefslogtreecommitdiff
path: root/rcc/rcc_enums.h.j2
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2021-01-25 14:23:11 +0100
committerVegard Storheil Eriksen <zyp@jvnv.net>2021-01-26 00:08:06 +0100
commitc993afa6df80e96bd1fcf96f3ea45f9721a13334 (patch)
tree5aa20f242ec46331e8cfa3b3f44b06d118e46bae /rcc/rcc_enums.h.j2
parentdd742dc80981be5cc5ff218485cbfa408ecb0596 (diff)
rcc: Generate enables from platform spec.
Diffstat (limited to 'rcc/rcc_enums.h.j2')
-rw-r--r--rcc/rcc_enums.h.j217
1 files changed, 17 insertions, 0 deletions
diff --git a/rcc/rcc_enums.h.j2 b/rcc/rcc_enums.h.j2
new file mode 100644
index 0000000..1d8bed8
--- /dev/null
+++ b/rcc/rcc_enums.h.j2
@@ -0,0 +1,17 @@
+#pragma once
+
+namespace rcc {
+ {% for bus, devices in buses.items() %}
+ enum {{ bus }}_dev {
+ {% for num, name in devices.items() %}
+ {{ name }} = 1 << {{ num }},
+ {% endfor %}
+ };
+
+ template <typename T>
+ void enable(const T& rcc, {{ bus }}_dev dev) {
+ rcc->{{ bus }}ENR |= dev;
+ }
+
+ {% endfor %}
+}