[PATCH][RFC] 8250_dw: unregister dw8250_set_termios for rk3188 chip
Shuyu Wei
wsy at dogben.com
Fri Nov 24 09:06:06 PST 2017
On Fri, Nov 24, 2017 at 12:34:59AM +0100, Heiko Stuebner wrote:
> Hi,
>
> Am Donnerstag, 23. November 2017, 23:40:31 CET schrieb Shuyu Wei:
> > On Thu, Nov 23, 2017 at 04:11:12PM +0100, Heiko Stuebner wrote:
> > >
> > > you actually omitted the output part where sclk_uart2 is actually shown :-) .
> > >
> > > On my rk3188 radxarock with a kernel build this morning from
> > > the middle of this merge-window, the relevant part of the clock-tree
> > > looks like the following and my serial console works like a charm:
> > >
> > > xin24m 6 6 24000000 0 0
> > > [...]
> > > pll_gpll 1 1 594000000 0 0
> > > gpll 5 5 594000000 0 0
> > > [...]
> > > uart_src 1 1 594000000 0 0
> > > uart3_pre 0 0 594000000 0 0
> > > uart3_frac 0 0 29700000 0 0
> > > uart2_pre 1 1 594000000 0 0
> > > uart2_frac 1 1 1843200 0 0
> > > sclk_uart2 1 1 1843200 0 0
> > > [ ^^ the important clock]
> > >
> > > In your dump the sclk_uart2 clock is not muxed to the uart2_frac clock
> > > but to something else but that part is missing from you dump.
> > >
> > > So clk_round_rate is definitly correct in that it can reach this rate
> > > using the fractional divider and also can sucessfully set this in the
> > > clock framework.
> > >
> > > Can you show where sclk_uart2 is for you please, as I guess your dump
> > > is with the settermios patch disabled, right?
> > >
> > >
> > > Thanks
> > > Heiko
> >
> > You are right, here is the complete clk_summary from the latest
> > mainline, and my console is now filled with strange characters :-(
> >
> > clock enable_cnt prepare_cnt rate accuracy phase
> > ----------------------------------------------------------------------------------------
> > xin24m 11 11 24000000 0 0
> [...]
> > pll_gpll 1 1 891000000 0 0
> > gpll 3 3 891000000 0 0
> [...]
> > uart_src 1 1 891000000 0 0
> > uart3_pre 0 0 891000000 0 0
> > uart3_frac 0 0 44550000 0 0
> > uart2_pre 1 1 891000000 0 0
> > uart2_frac 1 1 1843200 0 0
> > sclk_uart2 1 1 1843200 0 0
>
> Just to make sure, I did boot-tests on a lot of different Rockchip socs
> (rk3036, rk3188, rk3288, rk3328, rk3399) with the serial console using
> 8250_dw and working normally on all of them with the most recent
> torvalds kernel (and everything I tested in the past)
>
> The only difference I see between our two clock dumps is the higher
> gpll clock on your board, but I cannot really imagine that this could be
> and issue.
>
> So I'm really puzzled by what you see on your board, but don't have
> any specific idea what to test right now.
>
>
> Heiko
Good news! I found the cause. It's the barebox bootloader that set the
pll_gpll to the weired 891000000. By manually setting the clock back to
594000000, it worked again! It's time to find the root cause in barebox
:-)
More information about the Linux-rockchip
mailing list