kernel-fxtec-pro1x/drivers/clk/renesas
Phil Edworthy 1e5ac60289 clk: renesas: r9a06g032: Fix UART34567 clock rate
[ Upstream commit ee02950d53eee0d4c7f1c08a35272b77d24b9459 ]

The clock for UARTs 0 through 2 is UART012, the clock for UARTs 3 through
7 is UART34567.
For UART012, we stop the clock driver from changing the clock rate. This
is because the Synopsys UART driver simply sets the reference clock to 16x
the baud rate, but doesn't check if the actual rate is within the required
tolerance. The RZ/N1 clock divider can't provide this (we have to rely on
the UART's internal divider to set the correct clock rate), so you end up
with a clock rate that is way off what you wanted.

In addition, since the clock is shared between multiple UARTs, you don't
want the driver trying to change the clock rate as it may affect the other
UARTs (which may not have been configured yet, so you don't know what baud
rate they will use). Normally, the clock rate is set early on before Linux
to some very high rate that supports all of the clock rates you want.

This change stops the UART34567 clock rate from changing for the same
reasons.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Fixes: 4c3d88526e ("clk: renesas: Renesas R9A06G032 clock driver")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-11-27 16:13:01 +01:00
..
clk-div6.c clk: renesas: div6: Always use readl()/writel() 2018-03-21 17:34:29 +01:00
clk-div6.h We have two changes to the core framework this time around. The first being a 2017-11-17 20:04:24 -08:00
clk-emev2.c
clk-mstp.c clk: renesas: mstp: Always use readl()/writel() 2018-03-21 17:34:49 +01:00
clk-r8a73a4.c clk: renesas: r8a73a4: Always use readl()/writel() 2018-03-21 17:34:51 +01:00
clk-r8a7740.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
clk-r8a7778.c clk: renesas: r8a7778: Remove obsolete r8a7778_clocks_init() 2016-11-02 20:44:14 +01:00
clk-r8a7779.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
clk-rcar-gen2.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
clk-rz.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
clk-sh73a0.c clk: renesas: Updates for v4.17 (take two) 2018-03-23 09:40:52 -07:00
Kconfig clk: renesas: Renesas R9A06G032 clock driver 2018-06-25 11:17:13 +02:00
Makefile clk: renesas: Renesas R9A06G032 clock driver 2018-06-25 11:17:13 +02:00
r8a7743-cpg-mssr.c clk: renesas: r8a7743: Fix LB clock divider 2018-04-16 13:39:43 +02:00
r8a7745-cpg-mssr.c clk: renesas: r8a7745: Fix LB clock divider 2018-04-16 13:39:45 +02:00
r8a7790-cpg-mssr.c clk: renesas: r8a7790: Add rwdt clock 2018-02-20 13:35:16 +01:00
r8a7791-cpg-mssr.c clk: renesas: r8a7791/r8a7793: Fix LB clock divider 2018-04-16 13:39:47 +02:00
r8a7792-cpg-mssr.c clk: renesas: r8a7792: Fix LB clock divider 2018-04-16 13:39:49 +02:00
r8a7794-cpg-mssr.c clk: renesas: r8a7794: Fix LB clock divider 2018-04-16 13:39:51 +02:00
r8a7795-cpg-mssr.c clk: renesas: r8a7795: Add CCREE clock 2018-06-19 10:19:51 +02:00
r8a7796-cpg-mssr.c clk: renesas: r8a7796: Add Z2 clock 2018-02-12 15:10:18 +01:00
r8a77470-cpg-mssr.c clk: renesas: cpg-mssr: Add r8a77470 support 2018-04-16 13:39:40 +02:00
r8a77965-cpg-mssr.c clk: renesas: r8a77965: Add MSIOF controller clocks 2018-04-16 13:39:36 +02:00
r8a77970-cpg-mssr.c clk: renesas: r8a77970: Add LVDS clock 2017-12-08 13:52:45 +01:00
r8a77980-cpg-mssr.c clk: renesas: r8a77980: Correct parent clock of PCIEC0 2018-04-16 13:40:28 +02:00
r8a77990-cpg-mssr.c clk: renesas: cpg-mssr: Add support for R-Car E3 2018-05-09 18:43:57 +02:00
r8a77995-cpg-mssr.c clk: renesas: r8a77995: Correct parent clock of INTC-AP 2017-10-16 09:38:39 +02:00
r9a06g032-clocks.c clk: renesas: r9a06g032: Fix UART34567 clock rate 2018-11-27 16:13:01 +01:00
rcar-gen2-cpg.c clk: renesas: rcar-gen2: Centralize quirks handling 2018-04-16 13:42:18 +02:00
rcar-gen2-cpg.h clk: renesas: cpg-mssr: Add support to restore core clocks during resume 2017-10-20 11:15:33 +02:00
rcar-gen3-cpg.c clk: renesas: rcar-gen3: Always use readl()/writel() 2018-03-21 17:35:00 +01:00
rcar-gen3-cpg.h clk: renesas: rcar-gen3: Add Z2 clock divider support 2018-02-12 15:10:18 +01:00
rcar-usb2-clock-sel.c clk: renesas: rcar-usb2-clock-sel: Add R-Car USB 2.0 clock selector PHY 2017-08-17 09:22:23 +02:00
renesas-cpg-mssr.c This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
renesas-cpg-mssr.h clk: renesas: cpg-mssr: Add support for R-Car E3 2018-05-09 18:43:57 +02:00