
Hello Alexey,
On 16.07.2018 17:04, Alexey Brodkin wrote:
Hi Felix,
-----Original Message----- From: Felix Brack [mailto:fb@ltec.ch] Sent: Sunday, July 15, 2018 5:02 PM To: Alexey Brodkin Alexey.Brodkin@synopsys.com; Tom Rini trini@konsulko.com Cc: u-boot@lists.denx.de; Stefan Roese sr@denx.de; Alexander Graf agraf@suse.de; Michal Simek michal.simek@xilinx.com; Wolfgang Denk wd@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@konsulko.com] Sent: Saturday, July 14, 2018 6:50 PM To: Wolfgang Denk wd@denx.de Cc: Felix Brack fb@ltec.ch; u-boot@lists.denx.de; Stefan Roese sr@denx.de; Alexey Brodkin Alexey.Brodkin@synopsys.com; Alexander Graf agraf@suse.de; Michal Simek michal.simek@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@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.
regards Felix