
On Tue, Jul 17, 2018 at 12:45:51PM +0000, Alexey Brodkin wrote:
Hi Felix,
-----Original Message----- From: Felix Brack [mailto:fb@ltec.ch] Sent: Tuesday, July 17, 2018 3:13 PM To: Alexander Graf agraf@suse.de; Lokesh Vutla lokeshvutla@ti.com; u-boot@lists.denx.de Cc: Wolfgang Denk wd@denx.de; Tom Rini trini@konsulko.com; Marek Vasut marek.vasut@gmail.com; Patrice Chotard patrice.chotard@st.com; Michal Simek michal.simek@xilinx.com; Simon Glass sjg@chromium.org; Alexey Brodkin Alexey.Brodkin@synopsys.com; Bin Meng bmeng.cn@gmail.com; Ley Foon Tan ley.foon.tan@intel.com; Patrick Delaunay patrick.delaunay@st.com; Mario Six mario.six@gdsys.cc; Stefan Roese sr@denx.de; Bernhard Messerklinger bernhard.messerklinger@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.