From fa78fdfbc74d6abfb8e16475b474e1f5eb472bb2 Mon Sep 17 00:00:00 2001 From: Ross Bencina Date: Wed, 20 Feb 2019 02:27:12 +1100 Subject: [PATCH] Fix issue with audio quality on NanoPi M4, see: https://forum.armbian.com/topic/9605-sound-problems-with-nanopi-m4/. Reinstate FriendlyElec rk3399-nanopi4-common.dtsi &i2s1 entry that assigns i2s1 master clock SCLK_I2S1_8CH to i2s_8ch_mclk output pin clock source SCLK_I2S_8CH. By default the i2s1 node is disabled, therefore this clock assignment is not applied unless (1) i2s1 is enabled by user DT changes, or (2) i2s1 is enabled in a specific nanopi board .dts -- at this time the only such board is NanoPi M4. On NanoPi M4 this change will send i2s1 mclk to the rt5651 codec, which is the desired clock routing (prior to this change, the codec was getting i2s0 mclk, which was the cause of the bad audio). On other nanopis if the user enables i2s1 in DT, this change will route i2s1 mclk to the mclk line on the 40 pin header (and, on NanoPC T4, also to the onboard codec, which is less desirable, but that's how the board is wired). --- .../friendly-arm-hangs-without.patch | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/patch/kernel/rk3399-default/friendly-arm-hangs-without.patch b/patch/kernel/rk3399-default/friendly-arm-hangs-without.patch index 953fb4f40..e67cd2bbf 100644 --- a/patch/kernel/rk3399-default/friendly-arm-hangs-without.patch +++ b/patch/kernel/rk3399-default/friendly-arm-hangs-without.patch @@ -1,9 +1,9 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4-common.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4-common.dtsi -index c2a6bedb..cdfcf0a5 100644 +index c2918c3f..dcf79320 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4-common.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4-common.dtsi -@@ -67,24 +67,6 @@ - model = "NanoPi 4 Series"; +@@ -74,24 +74,6 @@ + spi1 = &spi1; }; - fiq_debugger: fiq-debugger { @@ -27,7 +27,7 @@ index c2a6bedb..cdfcf0a5 100644 clkin_gmac: external-gmac-clock { compatible = "fixed-clock"; clock-frequency = <125000000>; -@@ -507,16 +489,12 @@ +@@ -526,16 +508,12 @@ //allocator = <0>; }; @@ -45,7 +45,7 @@ index c2a6bedb..cdfcf0a5 100644 force-hpd; /delete-property/ pinctrl-0; -@@ -537,29 +515,22 @@ +@@ -556,29 +534,22 @@ &route_edp { status = "okay"; @@ -77,20 +77,8 @@ index c2a6bedb..cdfcf0a5 100644 - logo,mode = "center"; }; - &cif_isp0 { -@@ -932,11 +903,6 @@ - #sound-dai-cells = <0>; - }; - --&i2s1 { -- assigned-clocks = <&cru SCLK_I2S_8CH>; -- assigned-clock-parents = <&cru SCLK_I2S1_8CH>; --}; -- - &i2s2 { - #sound-dai-cells = <0>; - status = "okay"; -@@ -946,10 +946,16 @@ + &i2c0 { +@@ -931,10 +902,16 @@ }; &pcie0 { @@ -108,7 +96,7 @@ index c2a6bedb..cdfcf0a5 100644 }; &pwm_bl { -@@ -1147,14 +1120,6 @@ +@@ -1118,14 +1095,6 @@ }; &pinctrl {