[PATCH v3] clk: bcm2835: Round UART input clock up
Ivan T. Ivanov
iivanov at suse.de
Wed Aug 24 00:44:43 PDT 2022
On 08-23 16:08, Stephen Boyd wrote:
> Date: Tue, 23 Aug 2022 16:08:40 -0700
> From: Stephen Boyd <sboyd at kernel.org>
> To: Albert Ou <aou at eecs.berkeley.edu>, Broadcom internal kernel review list
> <bcm-kernel-feedback-list at broadcom.com>, Florian Fainelli
> <f.fainelli at gmail.com>, "Ivan T. Ivanov" <iivanov at suse.de>, Michael
> Turquette <mturquette at baylibre.com>, Nicolas Saenz Julienne
> <nsaenz at kernel.org>, Palmer Dabbelt <palmer at dabbelt.com>, Paul Walmsley
> <paul.walmsley at sifive.com>, Ray Jui <rjui at broadcom.com>, Scott Branden
> <sbranden at broadcom.com>, Stefan Wahren <stefan.wahren at i2se.com>
> Cc: "Ivan T. Ivanov" <iivanov at suse.de>, Phil Elwell <phil at raspberrypi.org>,
> kernel test robot <lkp at intel.com>, linux-clk at vger.kernel.org,
> linux-rpi-kernel at lists.infradead.org,
> linux-arm-kernel at lists.infradead.org, linux-kernel at vger.kernel.org,
> linux-riscv at lists.infradead.org
> Subject: Re: [PATCH v3] clk: bcm2835: Round UART input clock up
> Message-Id: <20220823230842.AB8BAC433C1 at smtp.kernel.org>
>
> Quoting Ivan T. Ivanov (2022-05-27 03:29:00)
> > It was reported that RPi3[1] and RPi Zero 2W boards have issues with
> > the Bluetooth. It turns out that when switching from initial to
> > operation speed host and device no longer can talk each other because
> > host uses incorrect UART baud rate.
> >
> > The UART driver used in this case is amba-pl011. Original fix, see
> > below Github link[2], was inside pl011 module, but somehow it didn't
> > look as the right place to fix. Beside that this original rounding
> > function is not exactly perfect for all possible clock values. So I
> > deiced to move the hack to the platform which actually need it.
> >
> > The UART clock is initialised to be as close to the requested
> > frequency as possible without exceeding it. Now that there is a
> > clock manager that returns the actual frequencies, an expected
> > 48MHz clock is reported as 47999625. If the requested baud rate
> > == requested clock/16, there is no headroom and the slight
> > reduction in actual clock rate results in failure.
> >
> > If increasing a clock by less than 0.1% changes it from ..999..
> > to ..000.., round it up.
> >
> > [1] https://bugzilla.suse.com/show_bug.cgi?id=1188238
> > [2] https://github.com/raspberrypi/linux/commit/ab3f1b39537f6d3825b8873006fbe2fc5ff057b7
> >
> > Cc: Phil Elwell <phil at raspberrypi.org>
> > Signed-off-by: Ivan T. Ivanov <iivanov at suse.de>
> > ---
>
> This is waiting for someone like Stefan to review. It's customary to
> include previous reviewers on new versions of patches.
Thanks for fixing me mistake.
Regards,
Ivan
More information about the linux-riscv
mailing list