| From 7321f1697af7ddd2b530cd411605dab6e0e5193d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 14 Jul 2020 08:47:59 +0200 |
| Subject: ARM: dts: exynos: Disable frequency scaling for FSYS bus on Odroid |
| XU3 family |
| |
| From: Marek Szyprowski <m.szyprowski@samsung.com> |
| |
| [ Upstream commit 9ff416cf45a08f28167b75045222c762a0347930 ] |
| |
| Commit 1019fe2c7280 ("ARM: dts: exynos: Adjust bus related OPPs to the |
| values correct for Exynos5422 Odroids") changed the parameters of the |
| OPPs for the FSYS bus. Besides the frequency adjustments, it also removed |
| the 'shared-opp' property from the OPP table used for FSYS_APB and FSYS |
| busses. |
| |
| This revealed that in fact the FSYS bus frequency scaling never worked. |
| When one OPP table is marked as 'opp-shared', only the first bus which |
| selects the OPP sets the rate of its clock. Then OPP core assumes that |
| the other busses have been changed to that OPP and no change to their |
| clock rates are needed. Thus when FSYS_APB bus, which was registered |
| first, set the rate for its clock, the OPP core did not change the FSYS |
| bus clock later. |
| |
| The mentioned commit removed that behavior, what introduced a regression |
| on some Odroid XU3 boards. Frequency scaling of the FSYS bus causes |
| instability of the USB host operation, what can be observed as network |
| hangs. To restore old behavior, simply disable frequency scaling for the |
| FSYS bus. |
| |
| Reported-by: Willy Wolff <willy.mh.wolff.ml@gmail.com> |
| Fixes: 1019fe2c7280 ("ARM: dts: exynos: Adjust bus related OPPs to the values correct for Exynos5422 Odroids") |
| Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> |
| Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 6 ------ |
| 1 file changed, 6 deletions(-) |
| |
| diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi |
| index ab27ff8bc3dca..afe090578e8fa 100644 |
| --- a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi |
| +++ b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi |
| @@ -411,12 +411,6 @@ &bus_fsys_apb { |
| status = "okay"; |
| }; |
| |
| -&bus_fsys { |
| - operating-points-v2 = <&bus_fsys2_opp_table>; |
| - devfreq = <&bus_wcore>; |
| - status = "okay"; |
| -}; |
| - |
| &bus_fsys2 { |
| operating-points-v2 = <&bus_fsys2_opp_table>; |
| devfreq = <&bus_wcore>; |
| -- |
| 2.25.1 |
| |