[U-Boot] [PATCH] serial: ns16550: fix different reg size access

Wolfgang Denk wd at denx.de
Fri Apr 1 07:35:18 CEST 2011


Dear Lei Wen,

In message <AANLkTi=BbS7wzcbsH26Hb0y_GVXzHtEQspoVZkKn1PMU at mail.gmail.com> you wrote:
> 
> > Can you please explain on what board, and with which tool chain, you
> > see any problems?
>
> I test on Marvell pxa955 (MG1) board, with android 4.4.0 toolchain.
> The pxa955's ns16550 register's IER has nine bits. The 8th bit is HSE, which
> means the high speed mode. It seems something wrong there, if access the ier
> by byte, the 8th bit would be 1 at the beginning, and would be cleared
> by the following
> set value in the ns16550 driver, which cause problem on that board,
> for the baudrate
> would be dysfunction.

This makes no sense to me. I have never seen any 9 bit registers in
any processor I ever encountered in real life.

Registers are typically 8, 16, 32 or 64 bit.

If your register holds 9 data bits, then it is most probably a 16 or
32 bit wide register.

Also, in this case the serial controller is probably not NS16550
compatible, because AFAICT the NS16550 uses only 8 bit wide
registers.


Further, it is not clear to me why there is a Mervell specific version
of the NS16550 driver (board/Marvell/common/ns16550.*).

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Time is an illusion perpetrated by the manufacturers of space.


More information about the U-Boot mailing list