linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x UART
@ 2017-01-04 20:30 David Lechner
  2017-01-04 20:30 ` [PATCH v2 1/4] doc: DT: Add ti,da830-uart to serial/8250 bindings David Lechner
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: David Lechner @ 2017-01-04 20:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Sekhar Nori, Santosh Shilimkar
  Cc: David Lechner, Franklin S Cooper Jr, Rob Herring, Mark Rutland,
	Kevin Hilman, Axel Haslam, Alexandre Bailon, Bartosz Golaszewski,
	Jiri Slaby, linux-serial, devicetree, linux-kernel,
	linux-arm-kernel

This series adds a new UART port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x
UART. This SoCs have a non-standard register for UART power management that
needs special handling in the UART driver.

v2 changes:
* Added references to C66x SoC in various places, which I assume is an OK
  shorthand for TI Keystone processors.
* New patch for Keystone device tree. This is untested as I don't have any
  Keystone boards.


David Lechner (4):
  doc: DT: Add ti,da830-uart to serial/8250 bindings
  serial: 8250: Add new port type for TI
    DA8xx/OMAPL13x/AM17xx/AM18xx/C66x
  ARM: da850: Add ti,da830-uart compatible for serial ports
  ARM: dts: keystone: Add "ti,da830-uart" compatible string

 Documentation/devicetree/bindings/serial/8250.txt |  1 +
 arch/arm/boot/dts/da850.dtsi                      |  9 ++++++---
 arch/arm/boot/dts/keystone-k2g.dtsi               |  2 +-
 arch/arm/boot/dts/keystone-k2l.dtsi               |  4 ++--
 arch/arm/boot/dts/keystone.dtsi                   |  4 ++--
 drivers/tty/serial/8250/8250_of.c                 |  1 +
 drivers/tty/serial/8250/8250_port.c               | 22 ++++++++++++++++++++++
 include/uapi/linux/serial_core.h                  |  3 ++-
 include/uapi/linux/serial_reg.h                   |  8 ++++++++
 9 files changed, 45 insertions(+), 9 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2 1/4] doc: DT: Add ti,da830-uart to serial/8250 bindings
  2017-01-04 20:30 [PATCH v2 0/4] TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x UART David Lechner
@ 2017-01-04 20:30 ` David Lechner
  2017-01-04 20:30 ` [PATCH v2 2/4] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x David Lechner
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: David Lechner @ 2017-01-04 20:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Sekhar Nori, Santosh Shilimkar
  Cc: David Lechner, Franklin S Cooper Jr, Rob Herring, Mark Rutland,
	Kevin Hilman, Axel Haslam, Alexandre Bailon, Bartosz Golaszewski,
	Jiri Slaby, linux-serial, devicetree, linux-kernel,
	linux-arm-kernel

This adds the ti,da830-uart compatible string to serial 8250 UART bindings.

Signed-off-by: David Lechner <david@lechnology.com>
Acked-by: Rob Herring <robh@kernel.org>
---

v2 changes:
* picked up Acked-by:

 Documentation/devicetree/bindings/serial/8250.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/serial/8250.txt b/Documentation/devicetree/bindings/serial/8250.txt
index f86bb06..10276a4 100644
--- a/Documentation/devicetree/bindings/serial/8250.txt
+++ b/Documentation/devicetree/bindings/serial/8250.txt
@@ -19,6 +19,7 @@ Required properties:
 	- "altr,16550-FIFO128"
 	- "fsl,16550-FIFO64"
 	- "fsl,ns16550"
+	- "ti,da830-uart"
 	- "serial" if the port type is unknown.
 - reg : offset and length of the register set for the device.
 - interrupts : should contain uart interrupt.
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 2/4] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x
  2017-01-04 20:30 [PATCH v2 0/4] TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x UART David Lechner
  2017-01-04 20:30 ` [PATCH v2 1/4] doc: DT: Add ti,da830-uart to serial/8250 bindings David Lechner
@ 2017-01-04 20:30 ` David Lechner
  2017-01-05  8:21   ` Sekhar Nori
  2017-01-04 20:30 ` [PATCH v2 3/4] ARM: da850: Add ti,da830-uart compatible for serial ports David Lechner
  2017-01-04 20:30 ` [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string David Lechner
  3 siblings, 1 reply; 9+ messages in thread
From: David Lechner @ 2017-01-04 20:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Sekhar Nori, Santosh Shilimkar
  Cc: David Lechner, Franklin S Cooper Jr, Rob Herring, Mark Rutland,
	Kevin Hilman, Axel Haslam, Alexandre Bailon, Bartosz Golaszewski,
	Jiri Slaby, linux-serial, devicetree, linux-kernel,
	linux-arm-kernel

This adds a new UART port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x.
These SoCs have standard 8250 registers plus some extra non-standard
registers.

The UART will not function unless the non-standard Power and Emulation
Management Register (PWREMU_MGMT) is configured correctly. This is
currently handled in arch/arm/mach-davinci/serial.c for non-device-tree
boards. Making this part of the UART driver will allow UART to work on
device-tree boards as well and the mach code can eventually be removed.

Signed-off-by: David Lechner <david@lechnology.com>
---

v2 changes:
* Added C66x to list of SoCs


 drivers/tty/serial/8250/8250_of.c   |  1 +
 drivers/tty/serial/8250/8250_port.c | 22 ++++++++++++++++++++++
 include/uapi/linux/serial_core.h    |  3 ++-
 include/uapi/linux/serial_reg.h     |  8 ++++++++
 4 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
index d25ab1c..5281252 100644
--- a/drivers/tty/serial/8250/8250_of.c
+++ b/drivers/tty/serial/8250/8250_of.c
@@ -332,6 +332,7 @@ static const struct of_device_id of_platform_serial_table[] = {
 		.data = (void *)PORT_ALTR_16550_F128, },
 	{ .compatible = "mrvl,mmp-uart",
 		.data = (void *)PORT_XSCALE, },
+	{ .compatible = "ti,da830-uart", .data = (void *)PORT_DA830, },
 	{ /* end of list */ },
 };
 MODULE_DEVICE_TABLE(of, of_platform_serial_table);
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
index fe4399b..61dd806 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -273,6 +273,15 @@ static const struct serial8250_config uart_config[] = {
 		.rxtrig_bytes	= {1, 4, 8, 14},
 		.flags		= UART_CAP_FIFO,
 	},
+	[PORT_DA830] = {
+		.name		= "TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x",
+		.fifo_size	= 16,
+		.tx_loadsz	= 16,
+		.fcr		= UART_FCR_DMA_SELECT | UART_FCR_ENABLE_FIFO |
+				  UART_FCR_R_TRIG_10,
+		.rxtrig_bytes	= {1, 4, 8, 14},
+		.flags		= UART_CAP_FIFO | UART_CAP_AFE,
+	},
 };
 
 /* Uart divisor latch read */
@@ -2118,6 +2127,19 @@ int serial8250_do_startup(struct uart_port *port)
 		serial_port_out(port, UART_LCR, 0);
 	}
 
+	if (port->type == PORT_DA830) {
+		/* Reset the port */
+		serial_port_out(port, UART_IER, 0);
+		serial_port_out(port, UART_DA830_PWREMU_MGMT, 0);
+		mdelay(10);
+
+		/* Enable Tx, Rx and free run mode */
+		serial_port_out(port, UART_DA830_PWREMU_MGMT,
+				UART_DA830_PWREMU_MGMT_UTRST |
+				UART_DA830_PWREMU_MGMT_URRST |
+				UART_DA830_PWREMU_MGMT_FREE);
+	}
+
 #ifdef CONFIG_SERIAL_8250_RSA
 	/*
 	 * If this is an RSA port, see if we can kick it up to the
diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
index 99dbed8..1265918 100644
--- a/include/uapi/linux/serial_core.h
+++ b/include/uapi/linux/serial_core.h
@@ -56,7 +56,8 @@
 #define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
 #define PORT_RT2880	29	/* Ralink RT2880 internal UART */
 #define PORT_16550A_FSL64 30	/* Freescale 16550 UART with 64 FIFOs */
-#define PORT_MAX_8250	30	/* max port ID */
+#define PORT_DA830	31	/* TI DA8xx/OMAP13x/AM17xx/AM18xx/C66x */
+#define PORT_MAX_8250	31	/* max port ID */
 
 /*
  * ARM specific type numbers.  These are not currently guaranteed
diff --git a/include/uapi/linux/serial_reg.h b/include/uapi/linux/serial_reg.h
index b4c0484..84606d8 100644
--- a/include/uapi/linux/serial_reg.h
+++ b/include/uapi/linux/serial_reg.h
@@ -327,6 +327,14 @@
 #define SERIAL_RSA_BAUD_BASE (921600)
 #define SERIAL_RSA_BAUD_BASE_LO (SERIAL_RSA_BAUD_BASE / 8)
 
+/* Extra registers for TI DA8xx/OMAP13x/AM17xx/AM18xx/C66x */
+#define UART_DA830_PWREMU_MGMT	12
+
+/* PWREMU_MGMT register bits */
+#define UART_DA830_PWREMU_MGMT_FREE	(1 << 0)  /* Free-running mode */
+#define UART_DA830_PWREMU_MGMT_URRST	(1 << 13) /* Receiver reset/enable */
+#define UART_DA830_PWREMU_MGMT_UTRST	(1 << 14) /* Transmitter reset/enable */
+
 /*
  * Extra serial register definitions for the internal UARTs
  * in TI OMAP processors.
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 3/4] ARM: da850: Add ti,da830-uart compatible for serial ports
  2017-01-04 20:30 [PATCH v2 0/4] TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x UART David Lechner
  2017-01-04 20:30 ` [PATCH v2 1/4] doc: DT: Add ti,da830-uart to serial/8250 bindings David Lechner
  2017-01-04 20:30 ` [PATCH v2 2/4] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x David Lechner
@ 2017-01-04 20:30 ` David Lechner
  2017-01-04 20:30 ` [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string David Lechner
  3 siblings, 0 replies; 9+ messages in thread
From: David Lechner @ 2017-01-04 20:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Sekhar Nori, Santosh Shilimkar
  Cc: David Lechner, Franklin S Cooper Jr, Rob Herring, Mark Rutland,
	Kevin Hilman, Axel Haslam, Alexandre Bailon, Bartosz Golaszewski,
	Jiri Slaby, linux-serial, devicetree, linux-kernel,
	linux-arm-kernel

TI DA8xx/OMAPL13x/AM17xx/AM18xx 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:
* None


 arch/arm/boot/dts/da850.dtsi | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index 104155d..f6cd212 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -266,22 +266,25 @@
 			interrupt-names = "edm3_tcerrint";
 		};
 		serial0: serial@42000 {
-			compatible = "ns16550a";
+			compatible = "ti,da830-uart", "ns16550a";
 			reg = <0x42000 0x100>;
+			reg-io-width = <4>;
 			reg-shift = <2>;
 			interrupts = <25>;
 			status = "disabled";
 		};
 		serial1: serial@10c000 {
-			compatible = "ns16550a";
+			compatible = "ti,da830-uart", "ns16550a";
 			reg = <0x10c000 0x100>;
+			reg-io-width = <4>;
 			reg-shift = <2>;
 			interrupts = <53>;
 			status = "disabled";
 		};
 		serial2: serial@10d000 {
-			compatible = "ns16550a";
+			compatible = "ti,da830-uart", "ns16550a";
 			reg = <0x10d000 0x100>;
+			reg-io-width = <4>;
 			reg-shift = <2>;
 			interrupts = <61>;
 			status = "disabled";
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string
  2017-01-04 20:30 [PATCH v2 0/4] TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x UART David Lechner
                   ` (2 preceding siblings ...)
  2017-01-04 20:30 ` [PATCH v2 3/4] ARM: da850: Add ti,da830-uart compatible for serial ports David Lechner
@ 2017-01-04 20:30 ` David Lechner
  2017-01-04 22:00   ` Santosh Shilimkar
  3 siblings, 1 reply; 9+ messages in thread
From: David Lechner @ 2017-01-04 20:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Sekhar Nori, Santosh Shilimkar
  Cc: David Lechner, Franklin S Cooper Jr, Rob Herring, Mark Rutland,
	Kevin Hilman, Axel Haslam, Alexandre Bailon, Bartosz Golaszewski,
	Jiri Slaby, linux-serial, devicetree, linux-kernel,
	linux-arm-kernel

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(-)

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>;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string
  2017-01-04 20:30 ` [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string David Lechner
@ 2017-01-04 22:00   ` Santosh Shilimkar
  2017-01-05  9:04     ` Sekhar Nori
  0 siblings, 1 reply; 9+ messages in thread
From: Santosh Shilimkar @ 2017-01-04 22:00 UTC (permalink / raw)
  To: David Lechner, Greg Kroah-Hartman, Sekhar Nori, Santosh Shilimkar
  Cc: Franklin S Cooper Jr, Rob Herring, Mark Rutland, Kevin Hilman,
	Axel Haslam, Alexandre Bailon, Bartosz Golaszewski, Jiri Slaby,
	linux-serial, devicetree, linux-kernel, linux-arm-kernel

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.
I suggest you to first get the driver updated to take care of
the UART PM register and then enable the support for it.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/4] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x
  2017-01-04 20:30 ` [PATCH v2 2/4] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x David Lechner
@ 2017-01-05  8:21   ` Sekhar Nori
  0 siblings, 0 replies; 9+ messages in thread
From: Sekhar Nori @ 2017-01-05  8:21 UTC (permalink / raw)
  To: David Lechner, Greg Kroah-Hartman, Santosh Shilimkar
  Cc: Franklin S Cooper Jr, Rob Herring, Mark Rutland, Kevin Hilman,
	Axel Haslam, Alexandre Bailon, Bartosz Golaszewski, Jiri Slaby,
	linux-serial, devicetree, linux-kernel, linux-arm-kernel

On Thursday 05 January 2017 02:00 AM, David Lechner wrote:
> This adds a new UART port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x.

The Keystone2 processors do include the C66x DSP. But the SoCs being
targeted with this patch are the ARM + DSP variants. Using 66AK2x is
more appropriate.

http://www.ti.com/lsds/ti/processors/dsp/c6000_dsp-arm/66ak2x/overview.page

Also, DA8xx includes DA830 which is pin-compatible with AM17x. So you
can shorten the list of supported processors to DA8xx/66AK2x.

> These SoCs have standard 8250 registers plus some extra non-standard
> registers.
> 
> The UART will not function unless the non-standard Power and Emulation
> Management Register (PWREMU_MGMT) is configured correctly. This is
> currently handled in arch/arm/mach-davinci/serial.c for non-device-tree
> boards. Making this part of the UART driver will allow UART to work on
> device-tree boards as well and the mach code can eventually be removed.
> 
> Signed-off-by: David Lechner <david@lechnology.com>

Looks good to me, apart from the minor change above.

Acked-by: Sekhar Nori <nsekhar@ti.com>

Thanks,
Sekhar

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string
  2017-01-04 22:00   ` Santosh Shilimkar
@ 2017-01-05  9:04     ` Sekhar Nori
  2017-01-05 17:10       ` Santosh Shilimkar
  0 siblings, 1 reply; 9+ messages in thread
From: Sekhar Nori @ 2017-01-05  9:04 UTC (permalink / raw)
  To: Santosh Shilimkar, David Lechner, Greg Kroah-Hartman, Santosh Shilimkar
  Cc: Franklin S Cooper Jr, Rob Herring, Mark Rutland, Kevin Hilman,
	Axel Haslam, Alexandre Bailon, Bartosz Golaszewski, Jiri Slaby,
	linux-serial, devicetree, linux-kernel, linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string
  2017-01-05  9:04     ` Sekhar Nori
@ 2017-01-05 17:10       ` Santosh Shilimkar
  0 siblings, 0 replies; 9+ messages in thread
From: Santosh Shilimkar @ 2017-01-05 17:10 UTC (permalink / raw)
  To: Sekhar Nori, David Lechner, Greg Kroah-Hartman, Santosh Shilimkar
  Cc: Franklin S Cooper Jr, Rob Herring, Mark Rutland, Kevin Hilman,
	Axel Haslam, Alexandre Bailon, Bartosz Golaszewski, Jiri Slaby,
	linux-serial, devicetree, linux-kernel, linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-01-05 17:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-04 20:30 [PATCH v2 0/4] TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x UART David Lechner
2017-01-04 20:30 ` [PATCH v2 1/4] doc: DT: Add ti,da830-uart to serial/8250 bindings David Lechner
2017-01-04 20:30 ` [PATCH v2 2/4] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/C66x David Lechner
2017-01-05  8:21   ` Sekhar Nori
2017-01-04 20:30 ` [PATCH v2 3/4] ARM: da850: Add ti,da830-uart compatible for serial ports David Lechner
2017-01-04 20:30 ` [PATCH v2 4/4] ARM: dts: keystone: Add "ti,da830-uart" compatible string David Lechner
2017-01-04 22:00   ` Santosh Shilimkar
2017-01-05  9:04     ` Sekhar Nori
2017-01-05 17:10       ` Santosh Shilimkar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).