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

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Mon Aug 4 07:25:30 PDT 2025


Il 04/08/25 16:21, Krzysztof Kozlowski ha scritto:
> On 04/08/2025 16:15, AngeloGioacchino Del Regno wrote:
>> Il 04/08/25 15:58, Krzysztof Kozlowski ha scritto:
>>> On 04/08/2025 15:27, AngeloGioacchino Del Regno wrote:
>>>>
>>>> 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.
>>>>
>>>>> 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.
>>
>>> 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.

>>
>> 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.



More information about the linux-arm-kernel mailing list