Hi,

> I tested on rk3399 (Pine64 RockPro64):
> 
> com0 at mainbus0: DesignWare APB UART, no fifo
> com1 at mainbus0: DesignWare APB UART, no fifo
> com1: console
> 
>  I could talk to the system over the serial console.
> 
> Anything else to test?

Thank you for testing. I think it is okay that serial console work
without any problems. I hope other SoCs that have dw-apb based UART
(marvell?) will work...


DW_APB UART code uses CPR (offset 0xf4) register to determine FIFO depth,
but not a few devices disables this register. At least Allwinner.

According to Rockchip's TRM,

    RK3168/3188
        the address of CPR is described, but no details of the register.
    RK3308/3328/3399
        CPR looks implemented, but the value is 0x00000000.

I think consulting CPR on Rockchip results "no fifo".

Even if the value of CPR is 0x00000000, current code treat as 1byte FIFO
and FIFO enabled. Transmitter code uses FIFO depth vaue (sc->sc_fifolen)
so the performance might be limited. Receiver code simply checks RXRDY flag,
FIFO depth have no influence.


I am planning to improve the message at com_attach_subr().
for example:

    com0 at mainbus0: DesignWare APB UART
    com1 at mainbus0: DesignWare APB UART, 64 byte fifo

simply remove "no fifo", and display fifo size if CPR has effective value.
If there is better idea, please tell me.

Regards,

-- 
SASANO Takayoshi (JG1UAA) <u...@mx5.nisiq.net>

Reply via email to