Our PowerPC based system is YOCTO Project which is built under Ubuntu 14.04 with Tool Chain GCC Version 4.9.2 over the Kernel 4.1. We use Software Development Kit of the NXP SDK Version "QorIQ Linux SDK v2.0". In our system there are 6 Serial 16550 UART ports configurable to RS232/RS422/RS485. The 6 UARTs are controlled via FPGA. The SoC is connected to the FPGA via IFC bus.
Refer to block diagram (attached)
The Linux Kernel generic 16550 Kernel Driver has implementation of 8 bit/32 bit base. The access to our FPGA is via 16-bit chip select. The UART Control FPGA registers have the low 8 bits for actual R/W and the high 8 bits are reserved. Also it appears like we have Endian (Big/Little) polarity problem between the SoC Linux Kernel and the FPGA. The DTB is properly set. So here the connection is broken.
We need a short time Linux Kernel expert level solution that will evaluate all of the 6 Serial ports properly working (including interrupts) via setserial/minicom app in user space.
Regarding the solution, we would prefer to leave the generic 16550 Linux Kernel Driver untouched, if possible (i.e. patching out of this driver).