L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
uart_bcm2835.h
1
/*
2
* Copyright (C) 2026 Kernkonzept GmbH.
3
* Author(s): Jakub Jermar <jakub.jermar@kernkonzept.com>
4
*
5
* License: see LICENSE.spdx (in this directory or the directories above)
6
*/
7
8
#pragma once
9
10
#include "uart_16550.h"
11
12
namespace
L4
{
13
14
/*
15
* According to the BCM2835 ARM Peripherals document, the mini UART is not
16
* compatible with the 16550 UART, but has a 16550-like register layout.
17
* The document is known to have many errors, including the mini UART part, as
18
* described in this errata:
19
*
20
* https://elinux.org/BCM2835_datasheet_errata#p12
21
*
22
* Even from the errata the meaning of some bits in the IER is not very clear.
23
*/
24
class
Uart_bcm2835 :
public
Uart_16550
25
{
26
public
:
27
explicit
Uart_bcm2835(
unsigned
long
base_rate)
28
: Uart_16550(base_rate, 0, 8)
29
{}
30
31
bool
reg_shift(
unsigned
char
*shift)
const override
32
{
33
*shift = 2;
34
return
true
;
35
}
36
};
37
38
}
// namespace L4
L4
L4 low-level kernel interface.
Definition
l4sys-l4f-groups.dox:50
pkg
drivers-frst
uart
include
uart_bcm2835.h
Generated on
for L4Re Operating System Framework by
1.15.0