arm64: dts: mediatek: mt8192: Add mfg_ref_sel clock to MFG0 domain
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Wed, 1 Mar 2023 09:55:12 +0000 (10:55 +0100)
committerMatthias Brugger <matthias.bgg@gmail.com>
Thu, 30 Mar 2023 07:47:08 +0000 (09:47 +0200)
The mfg_ref_sel 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-9-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
arch/arm64/boot/dts/mediatek/mt8192.dtsi

index 34631ad..a29cdff 100644 (file)
 
                                power-domain@MT8192_POWER_DOMAIN_MFG0 {
                                        reg = <MT8192_POWER_DOMAIN_MFG0>;
-                                       clocks = <&topckgen CLK_TOP_MFG_PLL_SEL>;
-                                       clock-names = "mfg";
+                                       clocks = <&topckgen CLK_TOP_MFG_PLL_SEL>,
+                                                <&topckgen CLK_TOP_MFG_REF_SEL>;
+                                       clock-names = "mfg", "alt";
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        #power-domain-cells = <1>;