Commit 3e696a0f authored by Dawid Niedzwiecki's avatar Dawid Niedzwiecki Committed by Anas Nashif
Browse files

drivers: serial: ns16550: fix uart initialization



Do not set DLAB bit in Line Control Register when the access to
the baud rate divisor registers is not needed.

Signed-off-by: default avatarDawid Niedzwiecki <dn@semihalf.com>
parent 0a9e930f
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -339,7 +339,6 @@ static int uart_ns16550_configure(const struct device *dev,
{
	struct uart_ns16550_dev_data * const dev_data = DEV_DATA(dev);
	const struct uart_ns16550_device_config * const dev_cfg = DEV_CFG(dev);
	uint8_t lcr_cache;
	uint8_t mdc = 0U;

	/* temp for return value if error occurs in this locked region */
@@ -466,10 +465,7 @@ static int uart_ns16550_configure(const struct device *dev,
		);

	/* clear the port */
	lcr_cache = INBYTE(LCR(dev));
	OUTBYTE(LCR(dev), LCR_DLAB | lcr_cache);
	INBYTE(RDR(dev));
	OUTBYTE(LCR(dev), lcr_cache);

	/* disable interrupts  */
	OUTBYTE(IER(dev), 0x00);