[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210922160756.flcllzfixsn7xjxt@pali>
Date: Wed, 22 Sep 2021 18:07:56 +0200
From: Pali Rohár <pali@...nel.org>
To: Gregory CLEMENT <gregory.clement@...tlin.com>
Cc: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrew Lunn <andrew@...n.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>,
Vladimir Vid <vladimir.vid@...tura.hr>,
Marek Behún <kabel@...nel.org>,
linux-clk@...r.kernel.org, linux-serial@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [RESEND PATCH v5 5/6] arm64: dts: marvell: armada-37xx: add
device node for UART clock and use it
On Wednesday 22 September 2021 17:16:22 Gregory CLEMENT wrote:
> Hello Pali,
>
> > This change defines DT node for UART clock "marvell,armada-3700-uart-clock"
> > and use this UART clock as a base clock for all UART devices.
>
> Sorry to not have pointed this earlier but I found something a little
> unusual, see below:
>
> >
> > Signed-off-by: Pali Rohár <pali@...nel.org>
> > ---
> > arch/arm64/boot/dts/marvell/armada-3720-db.dts | 4 ++++
> > .../boot/dts/marvell/armada-3720-espressobin.dtsi | 4 ++++
> > .../boot/dts/marvell/armada-3720-turris-mox.dts | 4 ++++
> > arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts | 4 ++++
> > arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 15 +++++++++++++--
> > 5 files changed, 29 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/marvell/armada-3720-db.dts b/arch/arm64/boot/dts/marvell/armada-3720-db.dts
> > index 3e5789f37206..accf014a6a1e 100644
> > --- a/arch/arm64/boot/dts/marvell/armada-3720-db.dts
> > +++ b/arch/arm64/boot/dts/marvell/armada-3720-db.dts
> > @@ -191,6 +191,10 @@
> > };
> > };
> >
> > +&uartclk {
> > + status = "okay";
>
> I found unusual to have to enable the clock at device tree level.
> Usually the clock driver is always loaded and then the clock is really
> enabled or disabled through the clock framework.
>
> [...]
>
> > diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> > index 9acc5d2b5a00..5bc61c9615f5 100644
> > --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> > +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> > @@ -132,10 +132,21 @@
> > reg = <0x11500 0x40>;
> > };
> >
> > + uartclk: uartclk@...00 {
> > + compatible = "marvell,armada-3700-uart-clock";
> > + reg = <0x12010 0x4>, <0x12210 0x4>;
> > + clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
> > + <&tbg 3>, <&xtalclk>;
> > + clock-names = "TBG-A-P", "TBG-B-P", "TBG-A-S",
> > + "TBG-B-S", "xtal";
> > + #clock-cells = <1>;
>
> I think you could remove the following line and thanks to this there
> won't be any change in the dts of the board:
> > + status = "disabled";
After removing "status" from dtsi and then also from board bts files,
UART is still working fine.
So I will include this change into V6.
Is there anything else?
> > + };
> > +
>
> Gregory
>
>
> > uart0: serial@...00 {
> > compatible = "marvell,armada-3700-uart";
> > reg = <0x12000 0x18>;
> > - clocks = <&xtalclk>;
> > + clocks = <&uartclk 0>;
> > interrupts =
> > <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
> > <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
> > @@ -147,7 +158,7 @@
> > uart1: serial@...00 {
> > compatible = "marvell,armada-3700-uart-ext";
> > reg = <0x12200 0x30>;
> > - clocks = <&xtalclk>;
> > + clocks = <&uartclk 1>;
> > interrupts =
> > <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
> > <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
> > --
> > 2.20.1
> >
>
> --
> Gregory Clement, Bootlin
> Embedded Linux and Kernel engineering
> http://bootlin.com
Powered by blists - more mailing lists