ARM: dts: s5pv210: Assign clocks to MMC devices on Aries boards
authorJonathan Bakker <xc-racer2@live.ca>
Fri, 1 May 2020 23:50:16 +0000 (16:50 -0700)
committerKrzysztof Kozlowski <krzk@kernel.org>
Mon, 4 May 2020 15:13:04 +0000 (17:13 +0200)
The SHDCI controller on Aries devices is a little bit peculiar about
the clocks and with a slightly off clock can run into errors such as:

    mmc2: ADMA error: 0x02000000
    mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
    mmc2: sdhci: Sys addr: 0x347e4cc4 | Version: 0x00002401
    mmc2: sdhci: Blk size: 0x00007004 | Blk cnt: 0x0000fffc
    mmc2: sdhci: Argument: 0x00000000 | Trn mode: 0x00000013
    mmc2: sdhci: Present: 0x01fa0000 | Host ctl: 0x00000012
    mmc2: sdhci: Power: 0x00000000 | Blk gap: 0x00000000
    mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x0000010f
    mmc2: sdhci: Timeout: 0x0000000a | Int stat: 0x00000003
    mmc2: sdhci: Int enab: 0x03ff004b | Sig enab: 0x03ff004b
    mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001
    mmc2: sdhci: Caps: 0x05e80080 | Caps_1: 0x00000000
    mmc2: sdhci: Cmd: 0x0000163a | Max curr: 0x00000000
    mmc2: sdhci: Resp[0]: 0x00000920 | Resp[1]: 0x00000000
    mmc2: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
    mmc2: sdhci: Host ctl2: 0x00000000
    mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x349a3208
    mmc2: sdhci: ============================================
    mmc2: sdhci: 349a3200: DMA 0x347e4cc0, LEN 0x0004, Attr=0x23

Specifically assign the MMC sclks to be parented from MPLL with specific
rates that match the vendor kernel.

Signed-off-by: Jonathan Bakker <xc-racer2@live.ca>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/boot/dts/s5pv210-aries.dtsi
arch/arm/boot/dts/s5pv210-galaxys.dts

index 9f4694d..0bd6540 100644 (file)
        non-removable;
        status = "okay";
 
+       assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
+       assigned-clock-rates = <0>, <50000000>;
+       assigned-clock-parents = <&clocks MOUT_MPLL>;
+
        wlan@1 {
                reg = <1>;
                compatible = "brcm,bcm4329-fmac";
        pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
        pinctrl-names = "default";
        status = "okay";
+
+       assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
+       assigned-clock-rates = <0>, <50000000>;
+       assigned-clock-parents = <&clocks MOUT_MPLL>;
 };
 
 &uart0 {
index a99fdda..5d10dd6 100644 (file)
        pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
        pinctrl-names = "default";
        status = "okay";
+
+       assigned-clocks = <&clocks MOUT_MMC0>, <&clocks SCLK_MMC0>;
+       assigned-clock-rates = <0>, <52000000>;
+       assigned-clock-parents = <&clocks MOUT_MPLL>;
 };