Re: [RFC 3/5] dt-bindings: power: Add binding for MediaTek MT7988 topmisc power controller

From: Frank Wunderlich
Date: Tue Apr 15 2025 - 10:03:21 EST


Am 15. April 2025 11:59:06 MESZ schrieb AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>:
>Il 15/04/25 11:52, Frank Wunderlich ha scritto:
>> Hi Angelo,
>>
>> Am 14. April 2025 12:25:23 MESZ schrieb AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>:
>>> Il 13/04/25 10:58, Frank Wunderlich ha scritto:
>>>> From: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx>
>>>>
>>>> Topmisc is a systemcontroller used for xs-phy and ethernet on mt7988.
>>>> Add binding for it.
>>>
>>> That's the wrong binding... check mfd/syscon.yaml :-)
>>>
>>> P.S.: Is there any reset controller in topmisc? Any clock?
>>> If yes, syscon.yaml is also wrong, and you need a driver for that.
>>> Remember: If it turns out *later* that this has clk/resets and the
>>> bindings are already set for just a syscon, it's gonna be way harder!
>>>
>>> Cheers,
>>> Angelo
>>
>> Ok based on the power-domain-cells property i guessed powercontroller is the right place.
>
>power-domain-cells, but without any power domain assignment, so that was wrong :)))
>
>>
>> But based on your suggestion i tried moving compatible to syscon binding and made dtbs_check here.
>>
>> I can confirm dropping the unexpected properties reported by syscon binding (power-domain-cells,clock-cells,adress-cells and size-cells) are not needed for function (xsphy and ethernet).
>>
>> For verifying that there are really no clocks/resets in topmisc (have not found it in public available register documents) i asked mtk (waiting for answer).
>>
>> Also got it working without the syscon compatible by changing ethernet driver too (after this change xsphy was also working).
>
>Perfect, a bit of a cleanup and you're done, then!
>
>Cheers!
>
>>
>> Eth:
>> https://github.com/frank-w/BPI-Router-Linux/commit/d866e648717800b6f6395ad36c38f9effcf0498d
>> Xsphy:
>> <https://github.com/frank-w/BPI-Router-Linux/commit/0121a94df99700487704ca056b210b13db07e90c>
>>
>> regards Frank
>
>
>

Got response from MTK and basicly topmisc contains a powercontroller (for cpu and internal 2g5) but currently not needed because ATF already switch this on. The second part is the pcs/phy muxing and 3rd some unneeded switches (where i have no detailed information). But no clocks or resets as these are handled in the connected platform driver (xsphy/ethernet).

So my original binding imho made more sense.

The syscon binding seems to need syscon fallback and shows error about unexpected "compatible" property. The binding itself does not contain any properties but references syscon-common where iiuc compatible property must have at least 2 items and requires the "syscon" fallback.

Mtk suggests splitting topmisc into the 2 blocks by only using the mux part as syscon with splitting the reg. If powerdomain really is needed then a second topmisc node could be added and bound to a new driver.

But this would need a bit more of testing.
regards Frank