Skip to content

Dynamic loading of UART overlays does not create /dev/ttyAMA #7019

@webmeister

Description

@webmeister

Describe the bug

If I set dtoverlay=uart3 in /boot/config.txt on a Raspberry Pi 4 and reboot, /dev/ttyAMA3 exists. If I don't set dtoverlay=uart3 in /boot/config.txt and instead run dtoverlay uart3, no /dev/ttyAMA3 appears.

This is different from how other overlays work. For example, running dtoverlay spi0-1cs causes /dev/spidev0.0 to appear immediately, similar to how it exists after a reboot when instead setting dtoverlay=spi0-1cs in /boot/config.txt.

A similar issue has been mentioned in https://raspberrypi.stackexchange.com/questions/143151/pi4-enable-uart4-without-using-boot-config-txt, but I was unable to find a solution.

Steps to reproduce the behaviour

  1. Ensure there are no dtoverlay=uart* entries in /boot/config.txt
  2. Run dtoverlay uart3
  3. Check whether a corresponding /dev/ttyAMA3 exists

Device (s)

Raspberry Pi 4 Mod. B

System

Arch Linux ARM

$ vcgencmd version
May 14 2025 12:23:36
Copyright (c) 2012 Broadcom
version 17084b403fb60475b8ee2641c26049a7d54bf153 (clean) (release) (start)
$ uname -a
Linux rpi 6.12.43-1-rpi #1 SMP PREEMPT Tue Aug 26 13:22:07 MDT 2025 aarch64 GNU/Linux

Logs

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions