[PATCH 1/2] arm64: dts: mediatek: mt8192: Make sure MSDCPLL's rate is 400MHz
TingHan Shen (沈廷翰)
TingHan.Shen at mediatek.com
Thu Jun 15 02:51:20 PDT 2023
Hi AngeloGioacchino,
On Mon, 2023-05-22 at 11:30 +0200, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> Some bootloaders will set MSDCPLL's rate lower than 400MHz: what I have
> seen is this clock being set at around 384MHz.
> This is a performance concern (and possibly a stability one, for picky
> eMMC/SD cards) as the MSDC controller's internal divier will choose a
> frequency that is lower than expected, in the end causing a difference
> in the expected mmc/sd device's timings.
>
> Make sure that the MSDCPLL frequency is always set to 400MHz to both
> improve performance and reliability of the sd/mmc storage.
>
> Fixes: 5d2b897bc6f5 ("arm64: dts: mediatek: Add mt8192 clock controllers")
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> ---
> arch/arm64/boot/dts/mediatek/mt8192.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> index 5c30caf74026..6fc14004f6fd 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> @@ -677,6 +677,8 @@ apmixedsys: syscon at 1000c000 {
> compatible = "mediatek,mt8192-apmixedsys", "syscon";
> reg = <0 0x1000c000 0 0x1000>;
> #clock-cells = <1>;
> + assigned-clocks = <&apmixedsys CLK_APMIXED_MSDCPLL>;
> + assigned-clock-rates = <400000000>;
> };
>
> systimer: timer at 10017000 {
> --
> 2.40.1
>
Comment from mtk emmc owner,
"As we all know, the clock has some jitter, when we set MSDCPLL to 400M,
but the actual measurement is not exactly 200M.
For eMMC, the spec stipulates that clock cannot exceed 200M.
If MSDCPLL is set to 400M, the actual measurement may exceed the spec.
So we set MSDCPLL to 384M in the bootloader stage to avoid exceeding the spec."
--
Best regards,
TingHan
More information about the linux-arm-kernel
mailing list