summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/imx7ulp.dtsi
diff options
context:
space:
mode:
authorHaibo Chen <haibo.chen@nxp.com>2018-02-11 19:07:22 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:31:05 +0800
commit028331eed07ab36f23daa46a3fcc662d135d3c7d (patch)
treeed372e94d8da9e2b851b2d850bd59f9fe58eec34 /arch/arm/boot/dts/imx7ulp.dtsi
parentb27f48d071b7f667445623dfcfcda83a6b054736 (diff)
MLK-17586-4 ARM: dts: improve usdhc root clock rate
Confirm with IC, HS400 MAX clock Freq for Instance 0 is 198Mhz and for Instance 1 is 192MHz, so set the usdhc parent clock at 396MHz, due to current APLL is config to 529.2MHz, use the formula APLL_PFD clock = APLL * 18 / i, the nearest clock is 381.024MHz when the i is 25, so the usdhc root clock is 190.512MHz. But eMMC HS400 can't pass stress test at 190.512MHz, will meet CRC error sometimes, only when down to 176.4MHz can pass the stress test. This patch make the usdhc0 and usdhc1 root clock both source from IMX7ULP_CLK_APLL_PFD1, and set this APLL_PFD1 clcok rate at 352.8MHz, and set the USDHC0 root clock at 352.8MHz, and set the USDHC1 root clock at 176.4MHz. Also remove the clk_prepare_enable() and clk_disable_unprepare() for APLL_PFD2, bacause U-Boot already gate off APLL_PFD1, not need to do this again. Acked-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Diffstat (limited to 'arch/arm/boot/dts/imx7ulp.dtsi')
-rw-r--r--arch/arm/boot/dts/imx7ulp.dtsi12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/boot/dts/imx7ulp.dtsi b/arch/arm/boot/dts/imx7ulp.dtsi
index d8d6389f8911..677b63a1e021 100644
--- a/arch/arm/boot/dts/imx7ulp.dtsi
+++ b/arch/arm/boot/dts/imx7ulp.dtsi
@@ -341,6 +341,9 @@
<&clks IMX7ULP_CLK_USDHC0>;
clock-names ="ipg", "ahb", "per";
bus-width = <4>;
+ assigned-clocks = <&clks IMX7ULP_CLK_APLL_PFD1>, <&clks IMX7ULP_CLK_USDHC0>;
+ assigned-clock-parents = <0>, <&clks IMX7ULP_CLK_APLL_PFD1>;
+ assigned-clock-rates = <0>, <352800000>;
fsl,tuning-start-tap = <20>;
fsl,tuning-step= <2>;
status = "disabled";
@@ -355,6 +358,9 @@
<&clks IMX7ULP_CLK_USDHC1>;
clock-names ="ipg", "ahb", "per";
bus-width = <4>;
+ assigned-clocks = <&clks IMX7ULP_CLK_APLL_PFD1>, <&clks IMX7ULP_CLK_USDHC1>;
+ assigned-clock-parents = <0>, <&clks IMX7ULP_CLK_APLL_PFD1>;
+ assigned-clock-rates = <0>, <176400000>;
fsl,tuning-start-tap = <20>;
fsl,tuning-step= <2>;
status = "disabled";
@@ -393,10 +399,8 @@
clock-names = "rosc", "sosc", "sirc",
"firc", "upll", "mpll";
#clock-cells = <1>;
- assigned-clocks = <&clks IMX7ULP_CLK_LPTPM5>,
- <&clks IMX7ULP_CLK_USDHC1>;
- assigned-clock-parents = <&clks IMX7ULP_CLK_SOSC_BUS_CLK>,
- <&clks IMX7ULP_CLK_NIC1_DIV>;
+ assigned-clocks = <&clks IMX7ULP_CLK_LPTPM5>;
+ assigned-clock-parents = <&clks IMX7ULP_CLK_SOSC_BUS_CLK>;
};
pcc2: pcc2@403F0000 {