[devel-sbc] Патч, восстанавливающий работоспособность звуковой подсистемы для nanopc-t4

Serg Sh merblud at mail.ru
Sun Nov 10 22:03:31 MSK 2019


Вот патч, который включает звук на T4 в ядрах 5.х:

diff -u a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi    2019-10-17 23:47:33.000000000 +0300
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi    2019-10-27 22:34:55.988303874 +0300
@@ -105,6 +105,27 @@
         };
     };
 
+    rt5651-sound {
+        compatible = "simple-audio-card";
+        simple-audio-card,name = "realtek,rt5651-codec";
+        simple-audio-card,format = "i2s";
+        simple-audio-card,mclk-fs = <256>;
+        simple-audio-card,widgets =
+            "Microphone", "Mic Jack",
+            "Headphone", "Headphone Jack";
+        simple-audio-card,routing =
+            "Mic Jack", "MICBIAS1",
+            "IN1P", "Mic Jack",
+            "Headphone Jack", "HPOL",
+            "Headphone Jack", "HPOR";
+        simple-audio-card,cpu {
+            sound-dai = <&i2s0>;
+        };
+        simple-audio-card,codec {
+            sound-dai = <&rt5651>;
+        };
+    };
+
     sdio_pwrseq: sdio-pwrseq {
         compatible = "mmc-pwrseq-simple";
         clocks = <&rk808 1>;
@@ -184,6 +205,10 @@
     status = "okay";
 };
 
+&hdmi_sound {
+    status = "okay";
+};
+
 &i2c0 {
     clock-frequency = <400000>;
     i2c-scl-rising-time-ns = <160>;
@@ -432,6 +457,16 @@
     i2c-scl-rising-time-ns = <150>;
     i2c-scl-falling-time-ns = <30>;
     status = "okay";
+
+    rt5651: rt5651 �� 1a {
+        compatible = "rockchip,rt5651";
+        reg = <0x1a>;
+        clocks = <&cru SCLK_I2S_8CH_OUT>;
+        clock-names = "mclk";
+        hp-det-gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_LOW>;
+        spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
+        #sound-dai-cells = <0>;
+    };
 };
 
 &i2c2 {
@@ -459,6 +494,16 @@
     status = "okay";
 };
 
+&i2s0 {
+    rockchip,playback-channels = <8>;
+    rockchip,capture-channels = <8>;
+    status = "okay";
+};
+
+&i2s2 {
+    status = "okay";
+};
+
 &io_domains {
     bt656-supply = <&vcc_1v8>;
     audio-supply = <&vcca1v8_codec>;
@@ -724,3 +769,9 @@
 &vopl_mmu {
     status = "okay";
 };
+
+&spdif {
+    i2c-scl-rising-time-ns = <450>;
+    i2c-scl-falling-time-ns = <15>;
+    status = "okay";
+};


Вывод звука через hdmi работает. spdif проверить не чем. Чтобы заработал вывод звука через аналоговый выход, нужно еще собрать модуль для кодека rt5651. Вроде даже в исходниках ядра есть такой модуль. Не понял, как пока его собрать. Может быть еще какой-то модуль нужен, которого нет. 
На других платах Nano Pi M4, NanoPi Neo4 также должно работать. По этой части в них нет разницы.

С наилучшими пожеланиями!
Сергей Шарашкин.








----------- ��������� ����� -----------
�������� � ������� HTML ���� �������...
URL: <http://lists.altlinux.org/pipermail/devel-sbc/attachments/20191110/f44e6365/attachment.html>


More information about the devel-sbc mailing list