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

Felix Brack fb at ltec.ch
Tue Jul 17 13:34:54 UTC 2018



On 17.07.2018 15:21, Tom Rini wrote:
> On Tue, Jul 17, 2018 at 12:45:51PM +0000, Alexey Brodkin wrote:
>> Hi Felix,
>>
>>> -----Original Message-----
>>> From: Felix Brack [mailto:fb at ltec.ch]
>>> Sent: Tuesday, July 17, 2018 3:13 PM
>>> To: Alexander Graf <agraf at suse.de>; Lokesh Vutla <lokeshvutla at ti.com>; u-boot at lists.denx.de
>>> Cc: Wolfgang Denk <wd at denx.de>; Tom Rini <trini at konsulko.com>; Marek Vasut <marek.vasut at gmail.com>; Patrice Chotard
>>> <patrice.chotard at st.com>; Michal Simek <michal.simek at xilinx.com>; Simon Glass <sjg at chromium.org>; Alexey Brodkin
>>> <Alexey.Brodkin at synopsys.com>; Bin Meng <bmeng.cn at gmail.com>; Ley Foon Tan <ley.foon.tan at intel.com>; Patrick Delaunay
>>> <patrick.delaunay at st.com>; Mario Six <mario.six at gdsys.cc>; Stefan Roese <sr at denx.de>; Bernhard Messerklinger
>>> <bernhard.messerklinger at br-automation.com>
>>> Subject: Re: [PATCH v2] serial: ns16550: Add register shift variable
>>
>> [snip]
>>  
>>> Adding a separate PORT in ns16550_serial_ids for a particular
>>> architecture, platform or SoC would be an option. However the patch I
>>> posted is much more generic as it offers to set the reg-shift property
>>> for no matter what architecture, platform or SoC. It can also easily be
>>> extended by adding more conditional defaults to the Kconfig file.
>>
>> I'd say we're dealing with just one corner-case here.
>> If I understand a concept of Device Tree it is supposed to describe your
>> hardware. Thus if reg shift exists in your HW it should be explicitly mentioned in
>> your .dts. If for some [historical] reason you have to deal with "incorrect" .dts then
>> I'd prefer to have mentioned quirk with a separate PORT in ns16550_serial_ids
>> instead of adding yet another Kconfig option.
> 
> So, this is part of the problem I suppose.  I don't know _why_ we can't
> just add the correct and valid reg-shift property to the dtsi file in
> Linux and be done with it.  Then the U-Boot driver would work because we
> parse that property.
> 
The only reason I can see why the <reg-shift> property "can't be added"
to the Linux .dtsi file is that there is nothing broken in Linux. Hence
we would actually ask Linux to add a property required by U-Boot.

This is exactly the reason for my RFC suggesting other solutions as the
U-Boot build system is able to use a SoC and even a board specific .dtsi
file.

regards Felix


More information about the U-Boot mailing list