summaryrefslogtreecommitdiff
path: root/tb/jtag_uart.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'tb/jtag_uart.hpp')
-rw-r--r--tb/jtag_uart.hpp43
1 files changed, 0 insertions, 43 deletions
diff --git a/tb/jtag_uart.hpp b/tb/jtag_uart.hpp
deleted file mode 100644
index 3b8e7e2..0000000
--- a/tb/jtag_uart.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef TALLER_JTAG_UART_HPP
-#define TALLER_JTAG_UART_HPP
-
-#include <cstdint>
-
-#include "avalon.hpp"
-
-namespace taller::avalon
-{
- class jtag_uart : public slave
- {
- public:
- jtag_uart(std::uint32_t base) noexcept;
- ~jtag_uart() noexcept;
-
- virtual void tick() noexcept final override;
-
- inline virtual void bail() noexcept final override
- {
- release();
- }
-
- virtual bool read(std::uint32_t addr, std::uint32_t &data) noexcept final override;
- virtual bool write(std::uint32_t addr, std::uint32_t data, unsigned byte_enable) noexcept final override;
-
- virtual bool irq() noexcept final override;
-
- void takeover() noexcept;
- void release() noexcept;
-
- private:
- unsigned countdown = 0;
- unsigned rx_avail = 0;
- unsigned rx_next = 0;
- bool ctrl_re = false;
- bool ctrl_we = false;
- bool ctrl_ac = true;
- bool took_over = false;
- std::uint8_t rx[64];
- };
-}
-
-#endif