[U-Boot] [PATCH] include/ns16550.h: Unify structure declaration for registers

Shinya Kuribayashi skuribay at ruby.dti.ne.jp
Mon Apr 27 16:26:50 CEST 2009


Detlev Zundel wrote:
> To be honest, I did not expect such problems, as I saw no hints from
> comments on why this code was needed.  Thinking afresh, it now makes at
> least some sense why the code was.  It nevertheless was inconsistent, as
> the word access was only done in an asymmetric way regarding the
> REG_SIZES parameter.

I used to define locally "long + -16" variants.

>> How do I supposed to configure UART in my board config file?
> 
> I'm not sure at all.  I believe you tested with 4 and -4 and it doesn't
> work, right?

Right.

> Now we have the problem that we have byte registers (after all, there
> are only 8 bits significant even for your platform) which need to be
> accessed as 32-bit entities (or 16 bit for other platforms maybe).

This is why Linux 8250 driver supports not only UPIO_MEM but also
UPIO_MEM32.

> I don't see any way out here than to probably re-introduce different
> data-types again - which I certainly do not like too much as the
> registers stay 8 bit wide.

If there's no good alternatives, I think reverting is a good idea
because there must be other platforms affected by this change.

> Does anyone else have a good idea here?

Hm, how about introducing serial_{in,out} concepts from Linux?

  Shinya



More information about the U-Boot mailing list