On 09/14/2016 02:32 PM, Arnd Bergmann wrote:
On Wednesday, September 14, 2016 10:50:44 PM CEST zhichang.yuan wrote:
And there are probably multiple child devices under LPC, the global arm64_extio_ops only can cover one PIO range. It is fortunate only ipmi driver can not support I/O
operation registering, serial driver has serial_in/serial_out to
be registered. So, only the PIO range for ipmi device is stored
in arm64_extio_ops and the indirect-IO
works well for ipmi device.
You should not do that in the serial driver, please just use the
normal 8250 driver that works fine once you handle the entire
port range.
Just for the record, Arnd has the right idea. There is only one type of
UART permitted by SBSA (PL011). We carved out an exception for a design
that was already in flight and allowed it to be 16550. That other design
was then corrected in future generations to be PL011 as we required it
to be. Then there's the Hip06. I've given feedback elsewhere about the
need for there to be (at most) two types of UART in the wild. This "LPC"
stuff needs cleaning up (feedback given elsewhere already on that), but
we won't be adding a third serial driver into the mix in order to make
it work. There will be standard ARM servers. There will not be the
kinda-sorta-standard. Thanks.
Jon.
.