Thread (46 messages) 46 messages, 4 authors, 2025-08-04

Re: [PATCH v3 09/27] dt-bindings: clock: mediatek: Describe MT8196 clock controllers

From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Date: 2025-08-04 14:25:34
Also in: linux-arm-kernel, linux-clk, linux-devicetree, linux-mediatek, lkml

Il 04/08/25 16:21, Krzysztof Kozlowski ha scritto:
On 04/08/2025 16:15, AngeloGioacchino Del Regno wrote:
quoted
Il 04/08/25 15:58, Krzysztof Kozlowski ha scritto:
quoted
On 04/08/2025 15:27, AngeloGioacchino Del Regno wrote:
quoted
We discussed about aggregating votes, yes, in software - this instead is a
*broken* hardware that does the aggregation internally and does not require
nor want external drivers to do the aggregation.
quoted
Maybe it is just the name, so avoid all the confusing "votes" if this is
not voting system. If this is a voting system, then don't use custom
phandles.
Being it fundamentally *broken*, this being a voting system is what the hardware
initially wanted to be - but effectively, since it requires YOU to:
    - Make sure that power supplies are turned on, if not, turn them on by "touching"
      HW registers (so, without any assistance from the voter MCU), if any;
    - Turn on parent clocks manually, if any, before using the "voter mcu" to try
      to ungate that clock; and
      - Enable the "FENC" manually, after the mcu says that the clock was ungated.

I understand that "YOU" as Linux driver, when you want to do something
(e.g. toggle) a clock?
"you" == Linux driver, yes.
quoted
If so this looks a lot like power domain, although with some differences.
A power domain ungates power to something.
Does more, it is not a simple supply.
Yes, does more, but still manages power, and not clocks.
quoted
These are clocks, giving a (x) (M)Hz signal to something.
Your earlier message about "YOU" said:

"   - Make sure that power supplies are turned on, if not, turn them on
by "touching"
      HW registers (so, without any assistance from the voter MCU), if any;"

so not a simple clocks stuff.
That's a characteristic of MediaTek's clock controllers: each hardware macroblock
needs to be powered in order to be able to enable clocks.

This is nothing new in MT8196/MT6991, it's how MediaTek SoCs have always been split
by hardware, and it's like that since ages.

Some other SoCs have the clock controllers always powered on - MediaTek doesn't.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help