104 lines
2.9 KiB
Diff
104 lines
2.9 KiB
Diff
|
This adds the i2s0 node and an hdmi-sound sound device to the
|
||
|
rk356x device tree. On the rk356[68], the i2s0 controller is
|
||
|
connected to HDMI audio.
|
||
|
|
||
|
Tested-by: Michael Riesch <michael.riesch@wolfvision.net>
|
||
|
Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
|
||
|
---
|
||
|
|
||
|
Changes in v2:
|
||
|
- reordered nodes to conform
|
||
|
- reordered properties to conform
|
||
|
- add Michael Riesch's Tested-by
|
||
|
|
||
|
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 33 ++++++++++++++++++++++++
|
||
|
1 file changed, 33 insertions(+)
|
||
|
|
||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
||
|
index 3c09cf6d4c37..aafb622dfa83 100644
|
||
|
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
||
|
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
||
|
@@ -174,6 +174,22 @@ scmi_clk: protocol@14 {
|
||
|
};
|
||
|
};
|
||
|
|
||
|
+ hdmi_sound: hdmi-sound {
|
||
|
+ compatible = "simple-audio-card";
|
||
|
+ simple-audio-card,name = "HDMI";
|
||
|
+ simple-audio-card,format = "i2s";
|
||
|
+ simple-audio-card,mclk-fs = <256>;
|
||
|
+ status = "disabled";
|
||
|
+
|
||
|
+ simple-audio-card,codec {
|
||
|
+ sound-dai = <&hdmi>;
|
||
|
+ };
|
||
|
+
|
||
|
+ simple-audio-card,cpu {
|
||
|
+ sound-dai = <&i2s0_8ch>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
pmu {
|
||
|
compatible = "arm,cortex-a55-pmu";
|
||
|
interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
@@ -789,6 +805,23 @@ spdif: spdif@fe460000 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
+ i2s0_8ch: i2s@fe400000 {
|
||
|
+ compatible = "rockchip,rk3568-i2s-tdm";
|
||
|
+ reg = <0x0 0xfe400000 0x0 0x1000>;
|
||
|
+ interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
+ assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>;
|
||
|
+ assigned-clock-rates = <1188000000>, <1188000000>;
|
||
|
+ clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
|
||
|
+ clock-names = "mclk_tx", "mclk_rx", "hclk";
|
||
|
+ dmas = <&dmac1 0>;
|
||
|
+ dma-names = "tx";
|
||
|
+ resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
|
||
|
+ reset-names = "tx-m", "rx-m";
|
||
|
+ rockchip,grf = <&grf>;
|
||
|
+ #sound-dai-cells = <0>;
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+
|
||
|
i2s1_8ch: i2s@fe410000 {
|
||
|
compatible = "rockchip,rk3568-i2s-tdm";
|
||
|
reg = <0x0 0xfe410000 0x0 0x1000>;
|
||
|
|
||
|
|
||
|
This enables the i2s0 controller and the hdmi-sound node on
|
||
|
the PINE64 Quartz64 Model A single-board computer.
|
||
|
|
||
|
Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
|
||
|
---
|
||
|
arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 8 ++++++++
|
||
|
1 file changed, 8 insertions(+)
|
||
|
|
||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
|
||
|
index a4453c82b03d..0598510dce58 100644
|
||
|
--- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
|
||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
|
||
|
@@ -215,6 +215,10 @@ &hdmi_in_vp0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
+&hdmi_sound {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
&gpu {
|
||
|
mali-supply = <&vdd_gpu>;
|
||
|
status = "okay";
|
||
|
@@ -444,6 +448,10 @@ regulator-state-mem {
|
||
|
};
|
||
|
};
|
||
|
|
||
|
+&i2s0_8ch {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
&i2s1_8ch {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&i2s1m0_sclktx
|