Skip to content

Pi 5 UARTs broken in 6.6.44 build of rpi-6.6.y. #6365

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
pelwell opened this issue Sep 17, 2024 · 59 comments
Closed

Pi 5 UARTs broken in 6.6.44 build of rpi-6.6.y. #6365

pelwell opened this issue Sep 17, 2024 · 59 comments

Comments

@pelwell
Copy link
Contributor

pelwell commented Sep 17, 2024

Describe the bug

As detailed by @lgeitner in the thread starting at #6144 (comment), the MeteoPi application which requires UART access seems to be broken in the 6.6.44 build of rpi-6.6.y. It has also been shown to have worked in the 6.6.42 build. The corresponding source commits for those two builds are:

"kernel: Bump to 6.6.42" (1969fd7): bfbd468
"kernel: Bump to 6.6.44" (44a287f): 2806f39

Steps to reproduce the behaviour

Run MeteoPi. Other test cases have yet to be determined.

Device (s)

Raspberry Pi 5

System

Linux 6.6.44-v8-16k+ #1789 SMP PREEMPT Mon Aug 5 15:24:18 BST 2024 aarch64 GNU/Linux

Logs

N/A

Additional context

No response

@pelwell
Copy link
Contributor Author

pelwell commented Sep 17, 2024

The current list of suspect commits is:

2806f39528464 Revert "mfd: Partial revert of Add rp1 driver"
d0ea54e1c941a mfd: Partial revert of Add rp1 driver
216df57950849 DTS: bcm2712: enable SD slot CQE by default on Pi 5
3c319a466a1c7 dtoverlays: Document display_[width|height] on hd44780-lcd overlay
e94e761305fa2 dtoverlays: Add overlay for HD44780 via I2C PCF8574 backpack
a4bf61fad9fe1 fixup! pinctrl: bcm2712 pinctrl/pinconf driver
16d0ee22d2c0b hwmon: (adt7410) Add DT compatible strings
05e3687c6c973 overlays: i2c-rtc: Correct bq32000 property name
e9294823cf020 spi: dw: Clamp the minimum clock speed
199e611183de0 spi: dw: Fix non-DMA transmit-only transfers
70636ad110715 ARM: dts: bcm2712: Fix invalid polling-delay-passive setting
485d11cfa7df2 drm/vc4: Disable the 2pixel/clock odd timings workaround for interlaced
062434ab3be76 dts: rp1: restrict i2s burst lengths to 4
b6b4260fa546d sound/soc: dwc-i2s: choose FIFO thresholds based on DMA burst constraints
5112fd8cce4f1 DT: bindings: add a dma-maxburst property to snps,designware-i2s
f3cb675102a2a tty/serial: pl011: restrict RX burst FIFO threshold
1c4c90982462e Revert "spi: dw-dma: Get the last DMA scoop out of the FIFO"
ce56098eb4dc2 drivers: dw-axi-dmac: make more sensible choices about memory accesses
4c1a665b465fa dts: rp1: hobble DMA AXI burst lengths
3af7822df36e3 spi: dw: don't immediately kill DMA transfers if an error occurs
cd9084ceb606a spi: dw: Save bandwidth with the TMOD_RO feature
6014649de765a spi: dw: Save bandwidth with the TMOD_TO feature
31b9871b8895d staging: bcm2835-codec: Add support for H264 level 5.0 and 5.1

I'll try and create a PR from the 6.6.44 build head (2806f39) but with those commits reverted.

@pelwell
Copy link
Contributor Author

pelwell commented Sep 17, 2024

#6366 is the PR that will create the trial builds. After each update to it, wait about 45 minutes for the builds to complete then run sudo rpi-update pulls/6366.

@pelwell
Copy link
Contributor Author

pelwell commented Sep 17, 2024

Do you want to reconsider any of the above patches, @P33M?

@P33M
Copy link
Contributor

P33M commented Sep 17, 2024

f3cb675102a2a tty/serial: pl011: restrict RX burst FIFO threshold may be causing side-effects. This isn't critical to UART operation with the restricted DMAC burst sizes - the RX timeout interrupt will gather any remaining bytes.

@P33M
Copy link
Contributor

P33M commented Sep 17, 2024

This might be the same bug - long TX bursts appear to drop data on Pi 5 - https://forums.raspberrypi.com/viewtopic.php?t=376532

@pelwell
Copy link
Contributor Author

pelwell commented Sep 17, 2024

With f3cb675 I see data loss at the end of transmission:

00009300: 72 69 61 6c 3a 20 6e 6f : 20 70 6c 61 74 66 6f 72
00009308: 20 44 4d 41 20 70 6c 61 : 6d 20 64 61 74 61 0a
00009310: 74 66 6f 72 6d 20 64 61 :
00009318: 74 61 0a                :

(where 931a is the last byte, and everything before 9300 matches)
With it reverted, I've not seen any data loss yet.

I've updated #6366 to be top-of-tree rpi-6.6.y but with f3cb675 reverted. As before, wait about 45 minutes then run sudo rpi-update pulls/6366.

pelwell added a commit to pelwell/linux that referenced this issue Sep 17, 2024
This reverts commit f3cb675.

Data loss has been observed on the Pi's PL011 UARTs since f3cb675 was
merged. The loss appears to be on reception, not transmission.

Revert the commit as a workaroud and potential fix.

Link: raspberrypi#6365
Link: raspberrypi#6144 (comment)
Link: https://forums.raspberrypi.com/viewtopic.php?t=376532

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@lgeitner
Copy link

ran sudo rpi-update pulls/6366

received the error "Invalid artifact specified. Response: 404."
please see below

pi@cumulusmxkitchen:~ $ sudo rpi-update pulls/6366
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
*** Relaunching after update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
FW_REV:
BOOTLOADER_REV:d05f05c94fd7a1916942e56d7f486c142ae5661e
WANT_32BIT:0 WANT_64BIT:1 WANT_PI4:1 WANT_PI5:1
*** Downloading specific artifact revision (this will take a few minutes)
curl -L https://builds.raspberrypi.com/github/linux/8aa0ad843d49a58d738177fd892ec547015dd231/bcmrpi | zcat | tar xf - -C //root/.rpi-firmware --strip-components=2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0

gzip: stdin: unexpected end of file
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0
Invalid artifact specified. Response: 404.
pi@cumulusmxkitchen:~ $

@pelwell
Copy link
Contributor Author

pelwell commented Sep 17, 2024

I thought this might happen. I updated the PR to include a merge-ready commit message, and you came online and tried to update in the interval while it was being rebuilt. It should be good now.

@lgeitner
Copy link

ran sudo rpi-update pulls/6366 then sudo reboot

the meteopi is not working!

the command uname -a displays the following:

pi@cumulusmxkitchen:~ $ uname -a
Linux cumulusmxkitchen 6.6.51-v8-16k+ #1 SMP PREEMPT Tue Sep 17 16:24:28 UTC 2024 aarch64 GNU/Linux

@pelwell
Copy link
Contributor Author

pelwell commented Sep 17, 2024

Did you reboot after the install? Yes - I can see that you did.

There's another build with more reversions available via sudo rpi-update pulls/6369.

@lgeitner
Copy link

I ran sudo rpi-update pulls/6369 then sudo reboot

The meteopi is now working!

I would like to allow the meteopi to run overnight and check for any errors from the meteopi.
I will let you know if there are any errors or problems sometime tomorrow.

Thank You!

output from the command uname- a

pi@cumulusmxkitchen:~ $ uname -a
Linux cumulusmxkitchen 6.6.51-v8-16k+ #1 SMP PREEMPT Tue Sep 17 19:44:50 UTC 2024 aarch64 GNU/Linux
pi@cumulusmxkitchen:~ $

@lgeitner
Copy link

I just noticed when I ran the command dmesg there is the following error in red

[ 11.585942] pl011-axi 1f00030000.serial: unable to pause DMA transfer

pelwell added a commit to pelwell/linux that referenced this issue Sep 18, 2024
Some recent DMA changes have led to data loss in UART0 on Pi 5. It also
seems that even prior to these changes there was a problem with aborted
transfers.

As this is the only RP1 UART configured for DMA, it is better to remove
the DMA usage until it is shown to be reliable.

Link: raspberrypi#6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit that referenced this issue Sep 18, 2024
Some recent DMA changes have led to data loss in UART0 on Pi 5. It also
seems that even prior to these changes there was a problem with aborted
transfers.

As this is the only RP1 UART configured for DMA, it is better to remove
the DMA usage until it is shown to be reliable.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell
Copy link
Contributor Author

pelwell commented Sep 18, 2024

sudo rpi-update pulls/6371 will get you the release candidate patch. It simply disables DMA for UART0 until it can be shown to be reliable.

@lgeitner
Copy link

I let the meteopi run overnight, there were no errors! Its working as expected!

Thank you again for your help!

I will try sudo rpi-update pulls/6371 sometime in the next couple hours and will let you know if I have any issues with it.

Thanks,
Lance

@lgeitner
Copy link

I ran the command sudo rpi-update pulls/6371 then sudo reboot.

The meteopi is working fine and the error "pl011-axi 1f00030000.serial: unable to pause DMA transfer" no longer appears in dmesg.

the output from uname -a is as follows:

pi@cumulusmxkitchen:~ $ uname -a
Linux cumulusmxkitchen 6.6.51-v8-16k+ #1 SMP PREEMPT Wed Sep 18 16:24:48 UTC 2024 aarch64 GNU/Linux
pi@cumulusmxkitchen:~ $

Thank you again for your help!

@pelwell
Copy link
Contributor Author

pelwell commented Sep 18, 2024

Thank you for reporting it - shipping that kernel in an image would have been embarrassing.

pelwell added a commit to pelwell/linux that referenced this issue Sep 19, 2024
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: raspberrypi#6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit that referenced this issue Sep 23, 2024
Some recent DMA changes have led to data loss in UART0 on Pi 5. It also
seems that even prior to these changes there was a problem with aborted
transfers.

As this is the only RP1 UART configured for DMA, it is better to remove
the DMA usage until it is shown to be reliable.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit that referenced this issue Sep 23, 2024
Some recent DMA changes have led to data loss in UART0 on Pi 5. It also
seems that even prior to these changes there was a problem with aborted
transfers.

As this is the only RP1 UART configured for DMA, it is better to remove
the DMA usage until it is shown to be reliable.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell pelwell closed this as completed Sep 25, 2024
popcornmix pushed a commit that referenced this issue Oct 2, 2024
Some recent DMA changes have led to data loss in UART0 on Pi 5. It also
seems that even prior to these changes there was a problem with aborted
transfers.

As this is the only RP1 UART configured for DMA, it is better to remove
the DMA usage until it is shown to be reliable.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Oct 2, 2024
Some recent DMA changes have led to data loss in UART0 on Pi 5. It also
seems that even prior to these changes there was a problem with aborted
transfers.

As this is the only RP1 UART configured for DMA, it is better to remove
the DMA usage until it is shown to be reliable.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Oct 10, 2024
Some recent DMA changes have led to data loss in UART0 on Pi 5. It also
seems that even prior to these changes there was a problem with aborted
transfers.

As this is the only RP1 UART configured for DMA, it is better to remove
the DMA usage until it is shown to be reliable.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@lgeitner
Copy link

lgeitner commented Apr 23, 2025

Thank You for the above information I was able to upgrade the Kernel to Version 6.6.75 using the command:

sudo rpi-update 146f82c
sudo reboot

I was looking at the commits from https://github.com/raspberrypi/firmware/commits, instead of the commits from https://github.com/raspberrypi/rpi-firmware/commits/master

Over the next couple of days, I will upgrade the Kernel one version at a time. I will post the results here.

Thank You,
Lance

popcornmix pushed a commit that referenced this issue Apr 24, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 24, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 24, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 28, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 28, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@lgeitner
Copy link

Results of Testing Kernel one version at a time.

Kernel 6.6.75 MeteoPI has no errors!
Kernel 6.6.76 MeteoPI has no errors!
Kernel 6.6.77 MeteoPI has no errors!
Kernel 6.6.78 MeteoPI has no errors!
Kernel 6.12.15 MeteoPI has no errors!
Kernel 6.12.16 MeteoPI has no errors!
Kernel 6.12.17 MeteoPI has no errors!
Kernel 6.12.18 MeteoPI has no errors!
Kernel 6.12.19 MeteoPI has no errors!
Kernel 6.12.20 MeteoPI has errors!

I found the solution to prevent any errors from occurring with the MeteoPI was to remove the following line from /boot/firmware/config.txt

dtparam=uart0_nodma

then sudo reboot

I no longer have any errors with the MeteoPI on the 6.12.20 Kernel!

Thank You,
Lance

@lurch
Copy link

lurch commented Apr 28, 2025

was to remove the following line from /boot/firmware/config.txt

dtparam=uart0_nodma

i.e. You reverted config.txt to it's "out of the box" setting?

I no longer have any errors with the MeteoPI on the 6.12.20 Kernel!

Yay, pleased to hear that!

@lgeitner
Copy link

lgeitner commented May 6, 2025

I Updated my Raspberry PI 5 using the following commands:

sudo apt update
sudo apt full-upgrade
sudo reboot

The MeteoPI started producing errors again!

uname -a showed I was upgraded to 6.12.25 Kernel Version.

the command cat /sys/kernel/debug/dmaengine/summary showed no dma for serial:tx and serial:rx

dma0 (1000010000.dma): number of channels: 5

dma1 (1000010600.dma): number of channels: 5
dma1chan0 | 107d004000.spi:tx
dma1chan1 | 107d004000.spi:rx
dma1chan2 | 107c701400.hdmi:audio-rx
dma1chan3 | 107c706400.hdmi:audio-rx

dma2 (1f00188000.dma): number of channels: 8

I ran the following command to switch to the 6.12.21 Kernel Version

sudo rpi-update b07b133
sudo reboot

uname -a shows

Linux cumulusmxkitchen 6.12.21-v8-16k+ #1868 SMP PREEMPT Mon Mar 31 17:10:57 BST 2025 aarch64 GNU/Linux

the command cat /sys/kernel/debug/dmaengine/summary shows no dma for serial:tx and serial:rx

dma0 (1000010000.dma): number of channels: 5

dma1 (1000010600.dma): number of channels: 5
dma1chan0 | 107d004000.spi:tx
dma1chan1 | 107d004000.spi:rx
dma1chan2 | 107c701400.hdmi:audio-rx
dma1chan3 | 107c706400.hdmi:audio-rx

dma2 (1f00188000.dma): number of channels: 8

Below is the output for the Kernel Version 6.12.20 that works!

cat /sys/kernel/debug/dmaengine/summary

dma0 (1000010000.dma): number of channels: 5

dma1 (1000010600.dma): number of channels: 5
dma1chan0 | 107d004000.spi:tx
dma1chan1 | 107d004000.spi:rx
dma1chan2 | 107c701400.hdmi:audio-rx
dma1chan3 | 107c706400.hdmi:audio-rx

dma2 (1f00188000.dma): number of channels: 8
dma2chan0 | 1f00030000.serial:tx
dma2chan1 | 1f00030000.serial:rx

dmesg | grep "serial"

[ 0.000000] Kernel command line: reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave numa=fake=8 system_heap.max_order=0 smsc95xx.macaddr=D8:3A:DD:BC:F2:62 vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000 root=PARTUUID=6f803e6a-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
[ 0.037885] 107d001000.serial: ttyAMA10 at MMIO 0x107d001000 (irq = 16, base_baud = 0) is a PL011 rev3
[ 0.451972] 107d50c000.serial: ttyS0 at MMIO 0x107d50c000 (irq = 33, base_baud = 6000000) is a Broadcom BCM7271 UART
[ 0.452011] serial serial0: tty port ttyS0 registered
[ 0.749595] pl011-axi 1f00030000.serial: cts_event_workaround enabled
[ 0.749667] 1f00030000.serial: ttyAMA0 at MMIO 0x1f00030000 (irq = 131, base_baud = 0) is a PL011 AXI
[ 1.594463] systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty.
[ 2.204655] hci_uart_bcm serial0-0: supply vbat not found, using dummy regulator
[ 2.204716] hci_uart_bcm serial0-0: supply vddio not found, using dummy regulator
[ 7.865762] pl011-axi 1f00030000.serial: DMA channel TX dma2chan0
[ 7.865776] pl011-axi 1f00030000.serial: DMA channel RX dma2chan1

How do I re-enable DMA on the Kernel for Kernel Version 6.12.21 or later?

pelwell added a commit to pelwell/linux that referenced this issue May 6, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: raspberrypi#6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit to pelwell/linux that referenced this issue May 6, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: raspberrypi#6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell
Copy link
Contributor Author

pelwell commented May 6, 2025

There's a new PR giving the Pi 5 family a uart0_dma parameter: #6838
In about 40 minutes you will be able to install a trial build using sudo rpi-update pulls/6838, after which you should find that putting dtparam=uart0_dma in config.txt re-enables DMA.

popcornmix pushed a commit that referenced this issue May 6, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 6, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@lgeitner
Copy link

lgeitner commented May 6, 2025

added dtparam=uart0_dma to /boot/firmware/config.txt

then ran sudo rpi-update pulls/6838 then sudo reboot

uname -a displays the following:

Linux cumulusmxkitchen 6.12.25-v8-16k+ #1 SMP PREEMPT Tue May 6 13:42:48 UTC 2025 aarch64 GNU/Linux

cat /sys/kernel/debug/dmaengine/summary displays the following:

dma0 (1000010000.dma): number of channels: 5

dma1 (1000010600.dma): number of channels: 5
dma1chan0 | 107d004000.spi:tx
dma1chan1 | 107d004000.spi:rx
dma1chan2 | 107c701400.hdmi:audio-rx
dma1chan3 | 107c706400.hdmi:audio-rx

dma2 (1f00188000.dma): number of channels: 8
dma2chan0 | 1f00030000.serial:tx
dma2chan1 | 1f00030000.serial:rx
pi@cumulusmxkitchen:~ $

There are no errors anymore with the MeteoPI !

Thank You,
Lance

@pelwell
Copy link
Contributor Author

pelwell commented May 6, 2025

I'll get that merged, and it will become a standard feature.

pelwell added a commit that referenced this issue May 6, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit that referenced this issue May 7, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit that referenced this issue May 7, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@ausfas
Copy link

ausfas commented May 8, 2025

I'm not sure if this issue will resolve the DMA problem that I've been facing.
networkupstools/nut#2805

Image

@pelwell
Copy link
Contributor Author

pelwell commented May 8, 2025

There's a good chance that updating to the current kernel (6.12.25 or later) will get it working again.

popcornmix pushed a commit that referenced this issue May 14, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 14, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 14, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 14, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 20, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 20, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 20, 2025
In order to avoid losing residue bytes when a receive is terminated
early, set the destination width to single bytes.

Link: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 20, 2025
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: #6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants