summaryrefslogtreecommitdiff
path: root/src/drivers/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/include')
-rw-r--r--src/drivers/include/wm8523.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/drivers/include/wm8523.hpp b/src/drivers/include/wm8523.hpp
new file mode 100644
index 00000000..8b20eda0
--- /dev/null
+++ b/src/drivers/include/wm8523.hpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2023 jacqueline <me@jacqueline.id.au>
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+#pragma once
+
+#include <cstdint>
+#include <optional>
+
+namespace drivers {
+namespace wm8523 {
+
+enum class Register : uint8_t {
+ kReset = 0,
+ kRevision = 1,
+ kPsCtrl = 2,
+ kAifCtrl1 = 3,
+ kAifCtrl2 = 4,
+ kDacCtrl = 5,
+ kDacGainLeft = 6,
+ kDacGainRight = 7,
+ kZeroDetect = 8,
+};
+
+auto ReadRegister(Register reg) -> std::optional<uint16_t>;
+auto WriteRegister(Register reg, uint16_t data) -> bool;
+auto WriteRegister(Register reg, uint8_t msb, uint8_t lsb) -> bool;
+
+}
+}