lkml.org 
[lkml]   [2021]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 048/663] arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz
    Date
    From: Andre Przywara <andre.przywara@arm.com>

    [ Upstream commit 948c657cc45e8ce48cb533d4e2106145fa765759 ]

    In contrast to the H6 (and later) manuals, the A64 datasheet does not
    specify any limitations in the maximum possible frequency for eMMC
    controllers.
    However experimentation has found that a 150 MHz limit similar to other
    SoCs and also the MMC0 and MMC1 controllers on the A64 seems to exist
    for the MMC2 controller.

    Limit the frequency for the MMC2 controller to 150 MHz in the SoC .dtsi.
    The Pinebook seems to be the an odd exception, since it apparently seems
    to work with 200 MHz as well, so overwrite this in its board .dts file.

    Tested on a Pine64-LTS: 200 MHz HS-200 fails, 150 MHz HS-200 works.

    Fixes: 22be992faea7 ("arm64: allwinner: a64: Increase the MMC max frequency")
    Signed-off-by: Andre Przywara <andre.przywara@arm.com>
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210113152630.28810-7-andre.przywara@arm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 1 +
    arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 2 +-
    2 files changed, 2 insertions(+), 1 deletion(-)

    diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
    index d07cf05549c32..7ae16541d14f5 100644
    --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
    +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
    @@ -167,6 +167,7 @@
    pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
    vmmc-supply = <&reg_dcdc1>;
    vqmmc-supply = <&reg_eldo1>;
    + max-frequency = <200000000>;
    bus-width = <8>;
    non-removable;
    cap-mmc-hw-reset;
    diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
    index 15f6408e73a27..7a41015a9ce59 100644
    --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
    +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
    @@ -514,7 +514,7 @@
    resets = <&ccu RST_BUS_MMC2>;
    reset-names = "ahb";
    interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
    - max-frequency = <200000000>;
    + max-frequency = <150000000>;
    status = "disabled";
    #address-cells = <1>;
    #size-cells = <0>;
    --
    2.27.0


    \
     
     \ /
      Last update: 2021-03-02 03:10    [W:2.136 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site