Hallo Steve, On Tue, May 23, 2017 at 02:28:11PM +0000, Steve Twiss wrote: > On 23 May 2017 15:10, Uwe Kleine-König wrote: > > Subject: Re: [PATCH V1] serial: imx: revert setup DCEDTE early and ensure DCD and RI irqs to be off > > On Tue, May 23, 2017 at 01:17:26PM +0100, Steve Twiss wrote: > > > > > > Revert the commit e61c38d85b7392e ("serial: imx: setup DCEDTE early and > > > ensure DCD and RI irqs to be off") > > > > > > The patch submitted to setup DCEDTE early and ensure DCD and RI irqs to > > > be off, causes a serial console display problem the i.MX6Q SABRESD board. > > > The console becomes unreadable and unwritable. > > > > > > Tested-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> > > > Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> > > > > You're not the first to report this issue but you still have the chance > > to be the first to test a suggested patch for it. > > I've just applied your patch against a clean linux-next/v4.12-rc2 > I added your patch ... > > > http://marc.info/?l=linux-serial&m=149434029912947&w=2 > > (this one?) > > diff --git a/gp_sparse/linux-next/v4.12-rc2/drivers/tty/serial/imx.c b/gp_sparse/linux-next/v4.12-rc2/drivers/tty/serial/imx.c > index 33509b4..2182548 100644 > --- a/gp_sparse/linux-next/v4.12-rc2/drivers/tty/serial/imx.c > +++ b/gp_sparse/linux-next/v4.12-rc2/drivers/tty/serial/imx.c > @@ -2193,9 +2193,14 @@ static int serial_imx_probe(struct platform_device *pdev) > */ > writel(IMX21_UCR3_RXDMUXSEL | UCR3_ADNIMP | UCR3_DSR, > sport->port.membase + UCR3); > - > } else { > + unsigned long ucr3 = UCR3_DSR; > + > + if (!is_imx1_uart(sport)) > + ucr3 |= IMX21_UCR3_RXDMUXSEL | UCR3_ADNIMP; > + > writel(0, sport->port.membase + UFCR); > + writel(ucr3, sport->port.membase + UCR3); > } > > clk_disable_unprepare(sport->clk_ipg); > Yeah, that's the patch I meant. > I've added that to my working directory, but I am still seeing the corrupted > console output on the i.MX6 Q (quad) board. I don't have a failing board (I think). So here are a few questions about yours: - how does the dts snippet for your failing device look like? - This is not the device the console runs on, right? - Can you initialize the device in the bootloader and check if it is working there? - Does it make a difference in Linux if the bootloader used the device before? - Can you dump the register space of the uart with v4.12-rc2 and v4.12-rc2 + revert of e61c38d85b7392e? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html