diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2021-01-25 14:23:11 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2021-01-26 00:08:06 +0100 |
commit | c993afa6df80e96bd1fcf96f3ea45f9721a13334 (patch) | |
tree | 5aa20f242ec46331e8cfa3b3f44b06d118e46bae /rcc/rcc_enums.h.j2 | |
parent | dd742dc80981be5cc5ff218485cbfa408ecb0596 (diff) |
rcc: Generate enables from platform spec.
Diffstat (limited to 'rcc/rcc_enums.h.j2')
-rw-r--r-- | rcc/rcc_enums.h.j2 | 17 |
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 %} +} |