L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
uart_sa1000.h
1/*
2 * Copyright (C) 2008-2012 Technische Universität Dresden.
3 * Copyright (C) 2023-2024 Kernkonzept GmbH.
4 * Author(s): Adam Lackorzynski <adam@os.inf.tu-dresden.de>
5 * Alexander Warg <alexander.warg@os.inf.tu-dresden.de>
6 *
7 * License: see LICENSE.spdx (in this directory or the directories above)
8 */
9#pragma once
10
11#include "uart_base.h"
12
13namespace L4
14{
15 class Uart_sa1000 : public Uart
16 {
17 public:
18 explicit Uart_sa1000() {}
19 explicit Uart_sa1000(unsigned /*base_rate*/) {}
20 bool startup(Io_register_block const *) override;
21 void shutdown() override;
22 bool change_mode(Transfer_mode m, Baud_rate r) override;
23 int get_char(bool blocking = true) const override;
24 int char_avail() const override;
25 int tx_avail() const;
26 void wait_tx_done() const;
27 inline void out_char(char c) const;
28 int write(char const *s, unsigned long count,
29 bool blocking = true) const override;
30 };
31};
L4 low-level kernel interface.