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

From: AngeloGioacchino Del Regno
Date: Tue Apr 15 2025 - 10:13:28 EST


Il 15/04/25 16:03, Frank Wunderlich ha scritto:
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.


I agree with MediaTek's suggestion. Split it, that just makes more sense.

Besides, if the first part (the power controller in topmisc) is managed by ATF it's
a good idea to avoid touching anything in there from the kernel :-)


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