From: Krzysztof Kozlowski <krzk@kernel.org>
To: Bui Duc Phuc <phucduc.bui@gmail.com>
Cc: kuninori.morimoto.gx@renesas.com, broonie@kernel.org,
conor+dt@kernel.org, devicetree@vger.kernel.org,
geert+renesas@glider.be, krzk+dt@kernel.org, lgirdwood@gmail.com,
linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-sound@vger.kernel.org, magnus.damm@gmail.com,
perex@perex.cz, robh@kernel.org, tiwai@suse.com,
Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [PATCH v3 01/10] ASoC: dt-bindings: renesas,fsi: add support multiple clocks
Date: Fri, 15 May 2026 13:15:18 +0200 [thread overview]
Message-ID: <4fc78848-5eb2-48fa-8cdb-99b210844fc4@kernel.org> (raw)
In-Reply-To: <CAABR9nG2YFq2kNsXbCe-7XUNJT94rUMBz6hruC97aE6JFSP9CA@mail.gmail.com>
On 15/05/2026 12:20, Bui Duc Phuc wrote:
> Hi Krzysztof,
>
> On Fri, May 15, 2026 at 1:46 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>> The FSI on r8a7740 requires the SPU bus/bridge clock to be enabled before
>>> accessing its registers. Without this clock, any register access leads to
>>
>> But why are you adding all these clocks to sh73a0 as well?
>>
>
> The FSI IP and its clock management seem to be architecturally identical between
> these two SoCs. For instance, both sh73a0 and r8a7740 use the exact same
> register address 0xe6150084 for the SPU DIV6 clock control. Therefore,
> it's highly
> likely they share the same bus dependency for register access.
This must be also mentioned in the commit msg.
>
> If there are further doubts regarding the sh73a0 internal bus topology, perhaps
> @Geert Uytterhoeven could kindly double-check if this SPU bridge clock
> dependency also applies to sh73a0 as it does for r8a7740?
>
>
>
>>> - CPG DIV6 clocks (icka/b) as functional clock parents.
>>
>> You do not need to add parents of clocks.
>>
>
> I see your point. I will update the description to list icka/b simply as
> 'functional clocks' instead of 'parents', as their hierarchy is already
> handled by the clock provider.
>
>
>
>>> - FSI internal dividers (diva/b) for audio clock generation.
>>
>> Internal dividers do not have representation. They are internal.
>
> I see your point. What I intended to describe was the internal divider
> configuration for Port A/B within the FSIDIV block, not separate clock
> representations in CCF.
> I will rephrase this as:
> DIVA/DIVB divider settings used for audio clock generation.
>
> In v1, I brought up this FSIDIV topic with Morimoto and Geert.
>
>>> By the way, I’d like to discuss the fsidiv clock handling.
>>> In the legacy implementation, it was handled here:
>>> https://elixir.bootlin.com/linux/v7.0-rc7/source/drivers/sh/clk/cpg.c.
>>> Currently, this has not been ported to the Common Clock Framework (CCF) for
>>> R8A7740, and it resides in a different register range from the core CPG.
>>> For v2, would you prefer that I implement a small clock provider for
>>> fsidiv within
>>> the FSI driver, or should it be added under drivers/clk/renesas/?
>
>> I think it should be under drivers/clk/renesas, but Geert ?
>
> However, I haven't heard back from Geert yet.
>
>> This cannot be flexible.
>>
>>> + - fck # Main FSI module clock
>>> + - spu # optional SPU bus/bridge clock
>>> + - icka # optional CPG DIV6 functional clocks for FSI port A
>>> + - ickb # optional CPG DIV6 functional clocks for FSI port B
>>> + - diva # optional Internal FSI dividers for port A used for audio clock generation
>>> + - divb # optional Internal FSI dividers for port B used for audio clock generation
>>> + - xcka # optional External clock inputs for FSI port A provided by the board
>>> + - xckb # optional External clock inputs for FSI port B provided by the board
>
> There is also an ongoing discussion about how strict/flexible
> the DT clock constraints should be for FSI in this thread:
> https://lore.kernel.org/all/CAABR9nEhOTz1-0NmCMTbz=-+782Pto0yovSQhBXrXqhLwMg80Q@mail.gmail.com/
>
> Geert and Rob have already shared some opinions there,
> so it may be useful to continue the discussion in that thread as well.
I missed that before sending my reply.
Best regards,
Krzysztof
next prev parent reply other threads:[~2026-05-15 11:15 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-10 8:42 [PATCH v3 00/10] ASoC: renesas: fsi: Fix system hang by adding SPU clock phucduc.bui
2026-05-10 8:42 ` [PATCH v3 01/10] ASoC: dt-bindings: renesas,fsi: add support multiple clocks phucduc.bui
2026-05-11 7:30 ` Geert Uytterhoeven
2026-05-11 10:25 ` Bui Duc Phuc
2026-05-11 20:45 ` sashiko-bot
2026-05-12 6:42 ` Bui Duc Phuc
2026-05-14 15:17 ` Rob Herring
2026-05-15 7:21 ` Geert Uytterhoeven
2026-05-15 6:46 ` Krzysztof Kozlowski
2026-05-15 10:20 ` Bui Duc Phuc
2026-05-15 10:41 ` Bui Duc Phuc
2026-05-15 11:15 ` Krzysztof Kozlowski [this message]
2026-05-10 8:42 ` [PATCH v3 02/10] arm: dts: renesas: r8a7740: Add clocks for FSI phucduc.bui
2026-05-11 22:03 ` sashiko-bot
2026-05-15 6:58 ` Bui Duc Phuc
2026-05-10 8:42 ` [PATCH v3 03/10] ASoC: renesas: fsi: Fix trigger stop ordering phucduc.bui
2026-05-11 22:44 ` sashiko-bot
2026-05-10 8:42 ` [PATCH v3 04/10] ASoC: renesas: fsi: Fix register access from in-flight IRQ after shutdown phucduc.bui
2026-05-11 1:52 ` Kuninori Morimoto
2026-05-11 23:22 ` sashiko-bot
2026-05-10 8:42 ` [PATCH v3 05/10] ASoC: renesas: fsi: Move fsi_clk_init() phucduc.bui
2026-05-10 8:42 ` [PATCH v3 06/10] ASoC: renesas: fsi: Add shared SPU clock support phucduc.bui
2026-05-11 1:56 ` Kuninori Morimoto
2026-05-12 3:09 ` Bui Duc Phuc
2026-05-10 8:43 ` [PATCH v3 07/10] ASoC: renesas: fsi: refactor clock initialization phucduc.bui
2026-05-10 12:30 ` Mark Brown
2026-05-11 1:59 ` Kuninori Morimoto
2026-05-11 10:21 ` Bui Duc Phuc
2026-05-11 23:47 ` sashiko-bot
2026-05-10 8:43 ` [PATCH v3 08/10] ASoC: renesas: fsi: add fsi_clk_prepare/unprepare() phucduc.bui
2026-05-11 2:03 ` Kuninori Morimoto
2026-05-11 23:44 ` sashiko-bot
2026-05-10 8:43 ` [PATCH v3 09/10] ASoC: renesas: fsi: Use clock prepare handling in startup/shutdown phucduc.bui
2026-05-11 2:04 ` Kuninori Morimoto
2026-05-11 10:22 ` Bui Duc Phuc
2026-05-12 0:09 ` sashiko-bot
2026-05-10 8:43 ` [PATCH v3 10/10] ASoC: renesas: fsi: Add SPU clock control in hw_startup/shutdown phucduc.bui
2026-05-11 23:58 ` sashiko-bot
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=4fc78848-5eb2-48fa-8cdb-99b210844fc4@kernel.org \
--to=krzk@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=krzk+dt@kernel.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=perex@perex.cz \
--cc=phucduc.bui@gmail.com \
--cc=robh@kernel.org \
--cc=tiwai@suse.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.