Page MenuHomeFreeBSD

arm64: add a driver for the uart found on Apple Silicon machines
Needs ReviewPublic

Authored by kevans on Dec 17 2024, 2:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 2 2025, 5:59 PM
Unknown Object (File)
Jan 2 2025, 5:53 AM
Unknown Object (File)
Dec 19 2024, 7:09 PM
Subscribers

Details

Reviewers
andrew
br
imp
manu
Group Reviewers
arm64
Summary

This is a revival of the old exynos4210 driver, with some additional
bits to configure the apple "s5l" uart (which is actually slightly
different to operate).

This hasn't been tested on anything that would hit the non-s5l path, so
banish it off to the apple/ domain until someone cares to confirm that
none of the other hardware is broken -- it may be that nobody does, but
the complexity isn't too bad: mostly the driver1 construct added to the
uart_bas that we use to avoid having a whole bunch of shims for uart
driver methods and hardcoded references to the cfg structs.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 61216
Build 58100: arc lint + arc unit

Event Timeline

sys/arm64/apple/exynos_uart.c
29–30

Not needed

557–558

I wonder if we could merge this with compat_cfg_data, e.g. by putting them together like this:

struct exynos_uart_class {
 struct uart_class base;
 struct exynos_uart_cfg cfg;
};
sys/arm64/apple/exynos_uart.h
34

Not needed