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

Felix Brack fb at ltec.ch
Sun Jul 15 14:02:02 UTC 2018


Hi Alexey,

On 15.07.2018 10:43, Alexey Brodkin wrote:
> Hi Tom, Felix, all
> 
>> -----Original Message-----
>> From: Tom Rini [mailto:trini at konsulko.com]
>> Sent: Saturday, July 14, 2018 6:50 PM
>> To: Wolfgang Denk <wd at denx.de>
>> Cc: Felix Brack <fb at ltec.ch>; u-boot at lists.denx.de; Stefan Roese <sr at denx.de>; Alexey Brodkin <Alexey.Brodkin at synopsys.com>;
>> Alexander Graf <agraf at suse.de>; Michal Simek <michal.simek at xilinx.com>
>> Subject: Re: [U-Boot] [PATCH] serial: ns16550: Add register shift variable
>>
>> On Sat, Jul 14, 2018 at 12:47:21PM +0200, Wolfgang Denk wrote:
>>> 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?
>>
>> To be clear, it's the other way around.  We can't use the Linux dtb/dts
>> files as they've dropped (and in other cases, aren't adding) these
>> properties as it's handled differently.
> 
> Any chance to get a reference to the commit in Linux kernel that introduces that change?
> 
In fact I believe that the <reg-shift> property never existed in the
am33xx.dtsi file from Linux. U-Boot commit 85cf0e6299 shows that the
property has been added to U-Boot's am33xx.dtsi file. The commit log
clearly states why this happened:

"With the commit 'c7b9686d5d48 ("ns16550: unify serial_omap")' all
TI platforms are broken with DM/DT boot as ns16550 driver expects
reg-shift from DT which is not populated for TI platforms.
Earlier it worked as it was hard coded to 2 in serial-omap
driver. So adding the reg-shift to serial nodes for dra7, am4372
and am33xx dtsi files. Tested this patch on am437x-sk-evm,
am437x-gp-evm, am335x-boneblack, dra74x-evm and dra72x-evm."

> I still see a bunch of:
> ----------------------------->8----------------------
> reg-shift = <2>;
> reg-io-width = <4>;
> ----------------------------->8----------------------
> in .dts files for ARC boards even in linux-next git tree.
> 
> -Alexey
> 

regards Felix


More information about the U-Boot mailing list