Skip to content

Commit b84cc86

Browse files
Implemented feedback
1 parent f884ee7 commit b84cc86

File tree

1 file changed

+39
-25
lines changed
  • documentation/asciidoc/computers/configuration

1 file changed

+39
-25
lines changed

documentation/asciidoc/computers/configuration/uart.adoc

Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ All UARTs on the Raspberry Pi are 3.3V only - damage will occur if they are conn
66

77
=== Raspberry Pi 5
88

9-
On the Raspberry Pi 5, the primary UART is the mini UART port. The Raspberry Pi 5 also has an additional four PL011s, which are disabled by default:
9+
The Raspberry Pi 5 has an additional four PL011s, which are disabled by default:
1010

1111
|===
1212
| Name | Type
@@ -15,7 +15,7 @@ On the Raspberry Pi 5, the primary UART is the mini UART port. The Raspberry Pi
1515
| PL011
1616

1717
| UART1
18-
| mini UART
18+
| PL011
1919

2020
| UART2
2121
| PL011
@@ -26,8 +26,6 @@ On the Raspberry Pi 5, the primary UART is the mini UART port. The Raspberry Pi
2626
| UART4
2727
| PL011
2828

29-
| UART5
30-
| PL011
3129
|===
3230

3331
=== Raspberry Pi Zero, 1, 2 and 3
@@ -93,43 +91,49 @@ The secondary UART is not normally present on the GPIO connector. By default, th
9391
The following table summarises the assignment of the first two UARTs:
9492

9593
|===
96-
| Model | first PL011 (UART0) | mini UART
94+
| Model | Primary | Secondary | Bluetooth
9795

9896
| Raspberry Pi Zero
99-
| primary
100-
| secondary
97+
| UART0
98+
| UART1
99+
| -
101100

102101
| Raspberry Pi Zero W / Raspberry Pi Zero 2 W
103-
| secondary (Bluetooth)
104-
| primary
102+
| UART1
103+
| UART0
104+
| UART1
105105

106106
| Raspberry Pi 1
107-
| primary
108-
| secondary
107+
| UART0
108+
| UART1
109+
| -
109110

110111
| Raspberry Pi 2
111-
| primary
112-
| secondary
112+
| UART0
113+
| UART1
114+
| -
113115

114116
| Raspberry Pi 3
115-
| secondary (Bluetooth)
116-
| primary
117+
| UART1
118+
| UART0
119+
| UART1
117120

118121
| Compute Module 3 & 3+
119-
| primary
120-
| secondary
122+
| UART0
123+
| UART1
124+
| -
121125

122126
| Raspberry Pi 4
123-
| secondary (Bluetooth)
124-
| primary
127+
| UART1
128+
| UART0
129+
| UART1
125130

126131
| Raspberry Pi 5
127-
| secondary (Bluetooth)
128-
| primary
132+
| UART1
133+
| UART0
134+
| -
129135
|===
130136

131-
NOTE: The mini UART is disabled by default, whether it is designated primary or secondary UART.
132-
133137
Linux devices on Raspberry Pi OS:
134138

135139
|===
@@ -150,15 +154,19 @@ Linux devices on Raspberry Pi OS:
150154

151155
`/dev/serial0` and `/dev/serial1` are symbolic links which point to either `/dev/ttyS0` or `/dev/ttyAMA0`.
152156

153-
On the Raspberry Pi 5 `serial0` maps by default to `/dev/ttyAMA10`. Due to changes in Bookworm, `/dev/serial1` does not exist by default. You can enable `serial1` by setting the following values in `confix.txt`:
157+
On the Raspberry Pi 5, `/dev/serial0` is a symbolic link that points to `/dev/ttyAMA10`. Due to changes in Bookworm, `/dev/serial1` does not exist by default on the Raspberry Pi 5. You can enable `serial1` by setting the following values in `confix.txt`:
154158

155159
[source,bash]
156160
----
157161
dtparam=krnbt=off
158162
----
159163

164+
TIP: This option may not work on all models in the future.
165+
160166
=== Mini-UART and CPU Core Frequency
161167

168+
NOTE: The mini UART is disabled by default if it is the primary or when Bluetooth is disabled.
169+
162170
In order to use the mini UART, you need to configure the Raspberry Pi to use a fixed VPU core clock frequency. This is because the mini UART clock is linked to the VPU core clock, so that when the core clock frequency changes, the UART baud rate will also change. The `enable_uart` and `core_freq` settings can be added to `config.txt` to change the behaviour of the mini UART. The following table summarises the possible combinations:
163171

164172
|===
@@ -208,7 +216,13 @@ By default, the primary UART is assigned to the Linux console. If you wish to us
208216

209217
Although the Linux kernel starts the UARTs relatively early in the boot process, it is still long after some critical bits of infrastructure have been set up. A failure in those early stages can be hard to diagnose without access to the kernel log messages from that time. To enable `earlycon` support for one of the UARTs, add one of the following options to `cmdline.txt`, depending on which UART is the primary:
210218

211-
For Raspberry Pi 5, 4, 400 and Compute Module 4:
219+
For Raspberry Pi 5, `earlycon` output only appears on the 3-pin debug connector with the following configuration:
220+
221+
----
222+
earlycon=pl011,0x107d001000,115200n8
223+
----
224+
225+
For Raspberry Pi 4, 400 and Compute Module 4:
212226

213227
----
214228
earlycon=uart8250,mmio32,0xfe215040

0 commit comments

Comments
 (0)