From a8adf0d6bf37cbbe4168ed157c090a20b4ea6298 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 18 Oct 2004 08:59:19 -0700 Subject: [PATCH] [PATCH] sh: SCBRR calculation fixes for early printk() The early printk() code was using a fixed PCLK value that was only sane in the SH7750 case. This updates the SCBRR value calculation to use CONFIG_SH_PCLK_FREQ instead and thus works on other subtypes as well (tested on SH4-202). Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/sh/kernel/early_printk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 8c2769c0d9ff6..1378db375e175 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c @@ -3,6 +3,7 @@ * * Copyright (C) 1999, 2000 Niibe Yutaka * Copyright (C) 2002 M. R. Brown + * Copyright (C) 2004 Paul Mundt * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive @@ -109,7 +110,8 @@ void scif_sercon_init(int baud) ctrl_outw(0, SCIF_REG); /* Set baud rate */ - ctrl_outb((50000000 / (32 * baud)) - 1, SCIF_REG + 4); + ctrl_outb((CONFIG_SH_PCLK_FREQ + 16 * baud) / + (32 * baud) - 1, SCIF_REG + 4); ctrl_outw(12, SCIF_REG + 24); ctrl_outw(8, SCIF_REG + 24); -- 2.53.0