summaryrefslogtreecommitdiffstats
path: root/drivers/clk/renesas/r8a77970-cpg-mssr.c
diff options
context:
space:
mode:
authorPhil Edworthy <phil.edworthy@renesas.com>2018-08-31 12:26:36 +0100
committerGeert Uytterhoeven <geert+renesas@glider.be>2018-09-11 11:57:25 +0200
commitee02950d53eee0d4c7f1c08a35272b77d24b9459 (patch)
treeb588952ec8f0dfa681a07c747ba61af6f98eb664 /drivers/clk/renesas/r8a77970-cpg-mssr.c
parent381081ffc2948e1e1a7cbbafe3b91631530a1936 (diff)
downloadlinux-stable-ee02950d53eee0d4c7f1c08a35272b77d24b9459.tar.gz
linux-stable-ee02950d53eee0d4c7f1c08a35272b77d24b9459.tar.bz2
linux-stable-ee02950d53eee0d4c7f1c08a35272b77d24b9459.zip
clk: renesas: r9a06g032: Fix UART34567 clock rate
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: 4c3d88526eba2143 ("clk: renesas: Renesas R9A06G032 clock driver") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Diffstat (limited to 'drivers/clk/renesas/r8a77970-cpg-mssr.c')
0 files changed, 0 insertions, 0 deletions