[U-Boot] [PATCH] serial: ns16550: Add register shift variable

Wolfgang Denk wd at denx.de
Sat Jul 14 10:47:21 UTC 2018


Dear Felix,

In message <1531492980-16543-1-git-send-email-fb at ltec.ch> you wrote:
>
> The motivation for writing this patch originates in the
> effort of synchronizing U-Boot DT to Linux DT for am33xx SOCs.
> The current am33xx.dtsi file from U-Boot defines the <reg-shift>
> property for all UART nodes. The actual (4.18+) am33xx.dtsi
> file from Linux does not define <reg-shift> anymore. To prevent
> (probably difficult) changes in many .dts and .dtsi files once
> the synchronization is done, one can use this new variable. For
> the pdu001 board, for example, SYS_NS16550_REG_SHIFT is set
> to 2; no need to clutter U-Boot and board specific dts files
> with <reg-shift> properties.

Does this mean that U-Boot will not be able to use the same DTB as
Linux?

> +config SYS_NS16550_REG_SHIFT
> +	int "Number of bytes to shift register offsets"
> +	default 0
> +	depends on SYS_NS16550
> +	help
> +	  Use this to specify the amount of bytes between discrete
> +	  device registers. If, for example, the device registers are
> +	  located at 0x00, 0x04, 0x08, 0x0C and so forth than set
> +	  this to 2. The default value is 0.

This description is inconsistent or misleading.  How do you define
"space between registers"?  The unused gaps?  In the example, the
registers are spaced at 4 bytes intervals, so a value of 2 would
only make sense of we have 16 bit registters and you count the gap
bytes.

But this is a very strange and uncommon way to describe such a
situation, especially when you write that you "shift register
offsets".  Here I think about something like a LSL operation, so
shifing by 2 bits would result in a 2^2 = 4 byte spacing.

This needs to be rewritten.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
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
Program maintenance is an entropy-increasing process,  and  even  its
most skilfull execution only delays the subsidence of the system into
unfixable obsolescence.       - Fred Brooks, "The Mythical Man Month"


More information about the U-Boot mailing list