Message ID | 1567068062-174383-1-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: dts: rockchip: limit clock rate of eMMC for rk3328 boards | expand |
On 29/08/2019 09:41, Shawn Lin wrote: > max-frequency is missing for rk3328-evb and rk3328-rock64, so the > eMMC will run into 200MHz bus clock in HS200 mode. The IO can only > support up to 150MHz for rk3228 Soc, so now rk3328 boards are not > always boot properly. Hmm, if 150MHz is a fundamental limitation of the SoC, maybe we should just add it to the .dtsi? Board-level files could still override it with a lower value if need be, but it would obviate the worry of missing it when adding new boards. Robin. > Fixes: 955bebde057e ("arm64: dts: rockchip: add rk3328-rock64 board") > Fixes: 0c1f8546753f ("arm64: dts: rockchip: add RK3328 eavluation board devicetree") > Cc: Liang Chen <cl@rock-chips.com> > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- > > arch/arm64/boot/dts/rockchip/rk3328-evb.dts | 1 + > arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts > index 49c4b96..a5d8b0c 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts > @@ -73,6 +73,7 @@ > &emmc { > bus-width = <8>; > cap-mmc-highspeed; > + max-frequency = <150000000>; > non-removable; > pinctrl-names = "default"; > pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; > diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts > index 62936b4..e99e22e 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts > @@ -132,6 +132,7 @@ > &emmc { > bus-width = <8>; > cap-mmc-highspeed; > + max-frequency = <150000000>; > mmc-hs200-1_8v; > non-removable; > pinctrl-names = "default"; >
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts index 49c4b96..a5d8b0c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts @@ -73,6 +73,7 @@ &emmc { bus-width = <8>; cap-mmc-highspeed; + max-frequency = <150000000>; non-removable; pinctrl-names = "default"; pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts index 62936b4..e99e22e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts @@ -132,6 +132,7 @@ &emmc { bus-width = <8>; cap-mmc-highspeed; + max-frequency = <150000000>; mmc-hs200-1_8v; non-removable; pinctrl-names = "default";
max-frequency is missing for rk3328-evb and rk3328-rock64, so the eMMC will run into 200MHz bus clock in HS200 mode. The IO can only support up to 150MHz for rk3228 Soc, so now rk3328 boards are not always boot properly. Fixes: 955bebde057e ("arm64: dts: rockchip: add rk3328-rock64 board") Fixes: 0c1f8546753f ("arm64: dts: rockchip: add RK3328 eavluation board devicetree") Cc: Liang Chen <cl@rock-chips.com> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- arch/arm64/boot/dts/rockchip/rk3328-evb.dts | 1 + arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 1 + 2 files changed, 2 insertions(+)