Page MenuHomeFreeBSD

stand/efi: Add more pl011-like uarts
ClosedPublic

Authored by andrew on Mon, Jan 20, 5:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Jan 22, 6:03 PM
Unknown Object (File)
Tue, Jan 21, 11:41 PM
Unknown Object (File)
Tue, Jan 21, 10:21 PM
Subscribers

Details

Summary

The Arm SBSA uarts are handled by the pl011 driver. Add them to the
list of pl011 uarts.

Sponsored by: Arm Ltd

Diff Detail

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

Event Timeline

This revision is now accepted and ready to land.Mon, Jan 20, 5:37 PM

Are these in the wild? And do the hacks I made in pl011 need to be examined for 0x9?

And do you have a pointer to SBSA?

The SBSA uart is defined in the Arm Base System Architecture [1] as a cut down pl011 r1p5. None of the removed features are supported in FreeBSD so we can just assume it's a pl011.

[1] https://developer.arm.com/documentation/den0094/latest

In D48526#1107249, @imp wrote:

Are these in the wild? And do the hacks I made in pl011 need to be examined for 0x9?

Based on a grep in edk2 it's used in Ampere Altra, and some simulators from Arm. As it shares a driver with pl011 the hacks will apply to it.

In D48526#1107249, @imp wrote:

Are these in the wild? And do the hacks I made in pl011 need to be examined for 0x9?

Based on a grep in edk2 it's used in Ampere Altra, and some simulators from Arm. As it shares a driver with pl011 the hacks will apply to it.

Weird, my Ampere boards don't have this, and I thought one of them was the Altra... I'll have to re-run my tests next time I can update that machine. I'm happy to have them. (of course I'd meant 0xd or 0xe, not 0x9, not sure why I typed that earleri).

Reading through the reference you provided. (thanks for that btw) I also think the pl011 driver will work for both and the 'generic' part of this really means it's a subset of the full pl011 UART that corresponds closely, at least from my quick look, to the bits we normally use in FreeBSD's pl011 driver. My concern was that it would define different word sizes, strides, etc, but it does none of those things. So we're good to just add it to the table here.

This revision was automatically updated to reflect the committed changes.