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

Alexander Graf agraf at suse.de
Tue Jul 17 13:34:56 UTC 2018


On 07/17/2018 08:51 AM, Felix Brack wrote:
> Hello Alexey,
>
> On 16.07.2018 17:04, Alexey Brodkin wrote:
>> Hi Felix,
>>
>>> -----Original Message-----
>>> From: Felix Brack [mailto:fb at ltec.ch]
>>> Sent: Sunday, July 15, 2018 5:02 PM
>>> To: Alexey Brodkin <Alexey.Brodkin at synopsys.com>; Tom Rini <trini at konsulko.com>
>>> Cc: u-boot at lists.denx.de; Stefan Roese <sr at denx.de>; Alexander Graf <agraf at suse.de>; Michal Simek <michal.simek at xilinx.com>;
>>> Wolfgang Denk <wd at denx.de>
>>> Subject: Re: [U-Boot] [PATCH] serial: ns16550: Add register shift variable
>>>
>>> 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."
>> Ok so this has nothing to do with changes in Linux kernel I guess.
>> Why don't we go the other way around and not just submit
>> a change to .dts files in Linux kernel that are missing required properties?
>>
> I think there is nothing wrong with the kernel's .dtsi files, hence
> nothing to be fixed in Linux.
> Please read the RFC I posted May 24. It (hopefully) explains the need of
> this patch. In short: syncing U-Boot DT files for AM33xx SoC with Linux
> DT files will break things. This patch would fix the problem of the
> "missing <reg-shift>" property.

It's not missing, we're just simply misimplementing the semantics of the 
"compatible" property.

Really, with a DT described system you should not need any per-device 
Kconfig options. Any of those are a very good indicator you're doing 
something wrong :).


Alex



More information about the U-Boot mailing list