86 lines
2.5 KiB
Diff
86 lines
2.5 KiB
Diff
From 1938b585ed19bb01969b4e923664db88c5ee8798 Mon Sep 17 00:00:00 2001
|
|
From: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
|
|
Date: Sat, 16 Oct 2021 12:53:53 +0200
|
|
Subject: [PATCH 083/478] arm64: dts: rockchip: Add analog audio on Quartz64
|
|
|
|
On the Quartz64 Model A, the I2S1 TDM controller is connected
|
|
to the rk817 codec in I2S mode. Enabling it and adding the
|
|
necessary simple-sound-card and codec nodes allows for analog
|
|
audio output on the PINE64 Quartz64 Model A SBC.
|
|
|
|
Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
|
|
Link: https://lore.kernel.org/r/20211016105354.116513-5-frattaroli.nicolas@gmail.com
|
|
[some property sorting]
|
|
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
---
|
|
.../boot/dts/rockchip/rk3566-quartz64-a.dts | 35 +++++++++++++++++--
|
|
1 file changed, 32 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
|
|
index b862d10b04f3..4d4b2a301b1a 100644
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
|
|
@@ -58,6 +58,21 @@ led-diy {
|
|
};
|
|
};
|
|
|
|
+ rk817-sound {
|
|
+ compatible = "simple-audio-card";
|
|
+ simple-audio-card,format = "i2s";
|
|
+ simple-audio-card,name = "Analog RK817";
|
|
+ simple-audio-card,mclk-fs = <256>;
|
|
+
|
|
+ simple-audio-card,cpu {
|
|
+ sound-dai = <&i2s1_8ch>;
|
|
+ };
|
|
+
|
|
+ simple-audio-card,codec {
|
|
+ sound-dai = <&rk817>;
|
|
+ };
|
|
+ };
|
|
+
|
|
spdif_dit: spdif-dit {
|
|
compatible = "linux,spdif-dit";
|
|
#sound-dai-cells = <0>;
|
|
@@ -215,13 +230,17 @@ rk817: pmic@20 {
|
|
reg = <0x20>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
|
+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
|
|
+ clock-names = "mclk";
|
|
+ clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
clock-output-names = "rk808-clkout1", "rk808-clkout2";
|
|
-
|
|
+ #clock-cells = <1>;
|
|
pinctrl-names = "default";
|
|
- pinctrl-0 = <&pmic_int_l>;
|
|
+ pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
|
|
rockchip,system-power-controller;
|
|
+ #sound-dai-cells = <0>;
|
|
wakeup-source;
|
|
- #clock-cells = <1>;
|
|
|
|
vcc1-supply = <&vcc_sys>;
|
|
vcc2-supply = <&vcc_sys>;
|
|
@@ -410,6 +429,16 @@ regulator-state-mem {
|
|
};
|
|
};
|
|
|
|
+&i2s1_8ch {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&i2s1m0_sclktx
|
|
+ &i2s1m0_lrcktx
|
|
+ &i2s1m0_sdi0
|
|
+ &i2s1m0_sdo0>;
|
|
+ rockchip,trcm-sync-tx-only;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
&mdio1 {
|
|
rgmii_phy1: ethernet-phy@0 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
--
|
|
2.35.3
|
|
|