public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: AngeloGioacchino Del Regno  <angelogioacchino.delregno@collabora.com>
To: Chen-Yu Tsai <wenst@chromium.org>,
	Matthias Brugger <matthias.bgg@gmail.com>
Cc: "Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
	"Nícolas F . R . A . Prado" <nfraprado@collabora.com>
Subject: Re: [PATCH 1/4] arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description
Date: Thu, 1 Dec 2022 10:31:41 +0100	[thread overview]
Message-ID: <5250d7d3-ff46-e08d-926c-4efd92390d88@collabora.com> (raw)
In-Reply-To: <20221201084229.3464449-2-wenst@chromium.org>

Il 01/12/22 09:42, Chen-Yu Tsai ha scritto:
> The systimer block derives its 13 MHz clock by dividing the main 26 MHz
> oscillator clock by 2 internally, not through the TOPCKGEN clock
> controller.
> 
> On the MT8183 this divider is set either by power-on-reset or by the
> bootloader. The bootloader may then make the divider unconfigurable to,
> but can be read out by, the operating system.
> 
> Making the systimer block take the 26 MHz clock directly requires
> changing the implementations. As an ABI compatible fix, change the
> input clock of the systimer block a fixed factor divide-by-2 clock
> that takes the 26 MHz oscillator as its input.
> 
> Fixes: 5bc8e2875ffb ("arm64: dts: mt8183: add systimer0 device node")
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>

I generally not just like - but *love* - this change, I had that in my mind
for a couple of months now and forgot about it because reasons.

There's just one thing that, since we're doing this now, we can clarify (and
that's important to avoid questions like "why isn't this board-specific"):
the 26MHz clock "clk26m" oscillator that we're using for the system timers
is a SoC-provided clock, and its name is "SYSCLK" as in "System bus clock".

I know that your target is to describe how we get from 26M to 13M, but at
this point it may be worth it to use the right names to help preventing
confusion about that clock not being an external crystal on the board but
something internal to the SoC.

So, I propose:
1. Change `clk26m: oscillator` to `clk26m: sysclk` or `clk26m: sysclk-26m`;
2. Add the divider as `clk13m: sysclk-div2`.

What do you think?

Cheers,
Angelo

> ---
>   arch/arm64/boot/dts/mediatek/mt8183.dtsi | 12 ++++++++++--
>   1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index 19ff1babc359..0cbbaebe1213 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -585,6 +585,15 @@ psci {
>   		method = "smc";
>   	};
>   
> +	clk13m: fixed-factor-clock-13m {
> +		compatible = "fixed-factor-clock";
> +		#clock-cells = <0>;
> +		clocks = <&clk26m>;
> +		clock-div = <2>;
> +		clock-mult = <1>;
> +		clock-output-names = "clk13m";
> +	};
> +
>   	clk26m: oscillator {
>   		compatible = "fixed-clock";
>   		#clock-cells = <0>;
> @@ -968,8 +977,7 @@ systimer: timer@10017000 {
>   				     "mediatek,mt6765-timer";
>   			reg = <0 0x10017000 0 0x1000>;
>   			interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
> -			clocks = <&topckgen CLK_TOP_CLK13M>;
> -			clock-names = "clk13m";
> +			clocks = <&clk13m>;
>   		};
>   
>   		iommu: iommu@10205000 {



  reply	other threads:[~2022-12-01  9:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-01  8:42 [PATCH 0/4] arm64: dts: mediatek: Fix systimer clock description Chen-Yu Tsai
2022-12-01  8:42 ` [PATCH 1/4] arm64: dts: mediatek: mt8183: Fix systimer 13 MHz " Chen-Yu Tsai
2022-12-01  9:31   ` AngeloGioacchino Del Regno [this message]
2022-12-01 10:33     ` Chen-Yu Tsai
2022-12-13 11:24       ` AngeloGioacchino Del Regno
2022-12-01  8:42 ` [PATCH 2/4] arm64: dts: mediatek: mt8192: " Chen-Yu Tsai
2022-12-13 11:25   ` AngeloGioacchino Del Regno
2022-12-01  8:42 ` [PATCH 3/4] arm64: dts: mediatek: mt8195: " Chen-Yu Tsai
2022-12-13 11:25   ` AngeloGioacchino Del Regno
2022-12-01  8:42 ` [PATCH 4/4] arm64: dts: mediatek: mt8186: " Chen-Yu Tsai
2022-12-13 11:25   ` AngeloGioacchino Del Regno
2022-12-16 11:29 ` [PATCH 0/4] arm64: dts: mediatek: Fix systimer " Matthias Brugger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5250d7d3-ff46-e08d-926c-4efd92390d88@collabora.com \
    --to=angelogioacchino.delregno@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=nfraprado@collabora.com \
    --cc=robh+dt@kernel.org \
    --cc=wenst@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox