arm64: dts: mediatek: mt8195: Add mfg_core_tmp clock to MFG1 domain
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Wed, 1 Mar 2023 09:55:18 +0000 (10:55 +0100)
committerMatthias Brugger <matthias.bgg@gmail.com>
Thu, 30 Mar 2023 07:47:08 +0000 (09:47 +0200)
Similarly to what can be seen in MT8192, on MT8195 the mfg_core_tmp
clock is a mux used to switch between different "safe" (and slower)
clock sources for the GPU: this is used during MFGPLL reconfiguration
and eventually during idling at very low frequencies.

This clock getting turned off means that the GPU will occasionally be
unclocked, producing obvious consequences such as system crash or
unpredictable behavior: assigning it to the top level MFG power domain
will make sure that this stays on at all times during any operation on
the MFG domain (only GPU-related transactions).

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230301095523.428461-15-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
arch/arm64/boot/dts/mediatek/mt8195.dtsi

index 8fc5275707914c9c8eab3e3796ddf1458d6a6a7c..6767bac3f69e1a1034f46756a45a32def9008fca 100644 (file)
 
                                        power-domain@MT8195_POWER_DOMAIN_MFG1 {
                                                reg = <MT8195_POWER_DOMAIN_MFG1>;
-                                               clocks = <&apmixedsys CLK_APMIXED_MFGPLL>;
-                                               clock-names = "mfg";
+                                               clocks = <&apmixedsys CLK_APMIXED_MFGPLL>,
+                                                        <&topckgen CLK_TOP_MFG_CORE_TMP>;
+                                               clock-names = "mfg", "alt";
                                                mediatek,infracfg = <&infracfg_ao>;
                                                #address-cells = <1>;
                                                #size-cells = <0>;