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:[email protected]]
Sent: Sunday, July 15, 2018 5:02 PM
To: Alexey Brodkin <[email protected]>; Tom Rini <[email protected]>
Cc: [email protected]; Stefan Roese <[email protected]>; Alexander Graf 
<[email protected]>; Michal Simek <[email protected]>;
Wolfgang Denk <[email protected]>
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:[email protected]]
Sent: Saturday, July 14, 2018 6:50 PM
To: Wolfgang Denk <[email protected]>
Cc: Felix Brack <[email protected]>; [email protected]; Stefan Roese <[email protected]>; 
Alexey Brodkin <[email protected]>;
Alexander Graf <[email protected]>; Michal Simek <[email protected]>
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 <[email protected]> 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

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to