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. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html