Message ID | 1483561814-21953-5-git-send-email-david@lechnology.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Santosh, On Thursday 05 January 2017 03:30 AM, Santosh Shilimkar wrote: > On 1/4/2017 12:30 PM, David Lechner wrote: >> The TI Keystone SoCs have extra UART registers beyond the standard 8250 >> registers, so we need a new compatible string to indicate this. Also, at >> least one of these registers uses the full 32 bits, so we need to specify >> reg-io-width in addition to reg-shift. >> >> "ns16550a" is left in the compatible specification since it does work as >> long as the bootloader configures the SoC UART power management >> registers. >> > NAK!! > We can't break the booting boards with existing boot loaders. Sorry, but it not clear to me how this breaks booting with older bootloaders? If older DTB is ROM'ed, it will continue to work because of match with ns16550a. I just verified boot on K2E with these patches applied and using 2016.05 based U-Boot from a TI release. http://pastebin.ubuntu.com/23744719/ > I suggest you to first get the driver updated to take care of > the UART PM register and then enable the support for it. Isn't that what patch 2/4 is doing? Thanks, Sekhar
On 1/5/2017 1:04 AM, Sekhar Nori wrote: > Hi Santosh, > > On Thursday 05 January 2017 03:30 AM, Santosh Shilimkar wrote: >> On 1/4/2017 12:30 PM, David Lechner wrote: >>> The TI Keystone SoCs have extra UART registers beyond the standard 8250 >>> registers, so we need a new compatible string to indicate this. Also, at >>> least one of these registers uses the full 32 bits, so we need to specify >>> reg-io-width in addition to reg-shift. >>> >>> "ns16550a" is left in the compatible specification since it does work as >>> long as the bootloader configures the SoC UART power management >>> registers. >>> >> NAK!! >> We can't break the booting boards with existing boot loaders. > > Sorry, but it not clear to me how this breaks booting with older > bootloaders? If older DTB is ROM'ed, it will continue to work because of > match with ns16550a. > > I just verified boot on K2E with these patches applied and using 2016.05 > based U-Boot from a TI release. > > http://pastebin.ubuntu.com/23744719/ > Thanks for test. As long as it doesn't break the boot, am fine with it. >> I suggest you to first get the driver updated to take care of >> the UART PM register and then enable the support for it. > > Isn't that what patch 2/4 is doing? > I see that now. Thanks for clarifying. Serial patch needs to go via Greg's tree. I will pick up the DTS bits. Regards, Santosh
diff --git a/arch/arm/boot/dts/keystone-k2g.dtsi b/arch/arm/boot/dts/keystone-k2g.dtsi index 63c7cf0c..7d7b9a8 100644 --- a/arch/arm/boot/dts/keystone-k2g.dtsi +++ b/arch/arm/boot/dts/keystone-k2g.dtsi @@ -90,7 +90,7 @@ }; uart0: serial@02530c00 { - compatible = "ns16550a"; + compatible = "ti,da830-uart", "ns16550a"; current-speed = <115200>; reg-shift = <2>; reg-io-width = <4>; diff --git a/arch/arm/boot/dts/keystone-k2l.dtsi b/arch/arm/boot/dts/keystone-k2l.dtsi index 0c5e74e..e91633f 100644 --- a/arch/arm/boot/dts/keystone-k2l.dtsi +++ b/arch/arm/boot/dts/keystone-k2l.dtsi @@ -35,7 +35,7 @@ /include/ "keystone-k2l-clocks.dtsi" uart2: serial@02348400 { - compatible = "ns16550a"; + compatible = "ti,da830-uart", "ns16550a"; current-speed = <115200>; reg-shift = <2>; reg-io-width = <4>; @@ -45,7 +45,7 @@ }; uart3: serial@02348800 { - compatible = "ns16550a"; + compatible = "ti,da830-uart", "ns16550a"; current-speed = <115200>; reg-shift = <2>; reg-io-width = <4>; diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi index 02708ba..9152610 100644 --- a/arch/arm/boot/dts/keystone.dtsi +++ b/arch/arm/boot/dts/keystone.dtsi @@ -98,7 +98,7 @@ /include/ "keystone-clocks.dtsi" uart0: serial@02530c00 { - compatible = "ns16550a"; + compatible = "ti,da830-uart", "ns16550a"; current-speed = <115200>; reg-shift = <2>; reg-io-width = <4>; @@ -108,7 +108,7 @@ }; uart1: serial@02531000 { - compatible = "ns16550a"; + compatible = "ti,da830-uart", "ns16550a"; current-speed = <115200>; reg-shift = <2>; reg-io-width = <4>;
The TI Keystone SoCs have extra UART registers beyond the standard 8250 registers, so we need a new compatible string to indicate this. Also, at least one of these registers uses the full 32 bits, so we need to specify reg-io-width in addition to reg-shift. "ns16550a" is left in the compatible specification since it does work as long as the bootloader configures the SoC UART power management registers. Signed-off-by: David Lechner <david@lechnology.com> --- v2 changes: * This is a new patch in v2 arch/arm/boot/dts/keystone-k2g.dtsi | 2 +- arch/arm/boot/dts/keystone-k2l.dtsi | 4 ++-- arch/arm/boot/dts/keystone.dtsi | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-)