Page MenuHomeFreeBSD

uart: Add UART_ACPI_SPCR_CLASS
ClosedPublic

Authored by andrew on Aug 12 2025, 4:08 PM.
Tags
None
Referenced Files
F148005799: D51878.diff
Sun, Mar 15, 3:48 AM
Unknown Object (File)
Wed, Mar 11, 2:57 AM
Unknown Object (File)
Sun, Mar 8, 7:28 PM
Unknown Object (File)
Sun, Mar 8, 12:22 PM
Unknown Object (File)
Thu, Mar 5, 2:03 PM
Unknown Object (File)
Thu, Feb 26, 6:19 AM
Unknown Object (File)
Jan 22 2026, 6:39 PM
Unknown Object (File)
Dec 18 2025, 9:18 PM
Subscribers

Details

Summary

We don't care about most of acpi_uart_compat_data in the spcr code.
Split out the mapping from the SPCR interface type to uart class into
a new struct. This allows new SPCR interface types to be added that
don't have an entry in the DSDT, e.g. some PCI uarts may not.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

andrew created this revision.
jrtc27 added inline comments.
sys/dev/uart/uart_cpu_acpi.h
40

May make sense to flip these to recognise that cd_port_subtype is the key in this struct?

If it builds, it ships!

sys/dev/uart/uart_cpu_acpi.h
40

cd_port_subtype may be the key within the struct, but the iteration below iterates only over non-NULL cd_class.

This revision is now accepted and ready to land.Aug 12 2025, 6:55 PM
sys/dev/uart/uart_cpu_acpi.h
40

I put it that way around so the padding is at the end rather than the middle of the struct.

This revision was automatically updated to reflect the committed changes.