From 313c342e9aff82ac6470a572c61b898b420e85fa Mon Sep 17 00:00:00 2001 From: Caesar Wang Date: Tue, 26 Mar 2019 16:02:29 +0800 Subject: [PATCH] arm64: dts: rockchip: add hdmi-sound for rk3399pro evb board This patch support the audio on hdmi display. Tested on rk3399pro evb v11 board with debian9, as below: ... [ 1.822827] asoc-simple-card hdmi-sound: i2s-hifi <-> ff8a0000.i2s mapping ok [ 1.873012] #0: rockchip,hdmi root@linaro-alip:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: rockchiphdmi [rockchip,hdmi], device 0: ff8a0000.i2s-i2s-hifi i2s-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: rockchiprk809co [rockchip,rk809-codec], device 0: ff890000.i2s-rk817-hifi rk817-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 root@linaro-alip:~# aplay -D plughw:0,0 /dev/urandom The sound is fine on display. Change-Id: I1a04d44922707e8dba150f2d6b814b19eaea1149 Signed-off-by: Caesar Wang --- .../dts/rockchip/rk3399pro-evb-v10-linux.dts | 16 ++++++++++++++++ .../boot/dts/rockchip/rk3399pro-evb-v10.dts | 16 ++++++++++++++++ .../dts/rockchip/rk3399pro-evb-v11-linux.dts | 16 ++++++++++++++++ .../boot/dts/rockchip/rk3399pro-evb-v11.dts | 16 ++++++++++++++++ 4 files changed, 64 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10-linux.dts b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10-linux.dts index ef8f1f9785e3..aad2a6c56572 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10-linux.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10-linux.dts @@ -113,6 +113,21 @@ interrupts = ; }; + hdmi_sound: hdmi-sound { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "rockchip,hdmi"; + + simple-audio-card,cpu { + sound-dai = <&i2s2>; + }; + simple-audio-card,codec { + sound-dai = <&hdmi>; + }; + }; + panel: panel { compatible = "simple-panel"; backlight = <&backlight>; @@ -321,6 +336,7 @@ &hdmi { status = "okay"; + #sound-dai-cells = <0>; rockchip,phy-table = <74250000 0x8009 0x0004 0x0272>, <165000000 0x802b 0x0004 0x0209>, diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10.dts b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10.dts index 4c7aabe9174e..3f1eec031ad9 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v10.dts @@ -102,6 +102,21 @@ #clock-cells = <0>; }; + hdmi_sound: hdmi-sound { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "rockchip,hdmi"; + + simple-audio-card,cpu { + sound-dai = <&i2s2>; + }; + simple-audio-card,codec { + sound-dai = <&hdmi>; + }; + }; + panel: panel { compatible = "simple-panel"; backlight = <&backlight>; @@ -327,6 +342,7 @@ &hdmi { status = "okay"; + #sound-dai-cells = <0>; rockchip,phy-table = <74250000 0x8009 0x0004 0x0272>, <165000000 0x802b 0x0004 0x0209>, diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts index deb9929f6092..350510c9ed0c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts @@ -113,6 +113,21 @@ interrupts = ; }; + hdmi_sound: hdmi-sound { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "rockchip,hdmi"; + + simple-audio-card,cpu { + sound-dai = <&i2s2>; + }; + simple-audio-card,codec { + sound-dai = <&hdmi>; + }; + }; + panel: panel { compatible = "simple-panel"; backlight = <&backlight>; @@ -326,6 +341,7 @@ &hdmi { status = "okay"; + #sound-dai-cells = <0>; rockchip,phy-table = <74250000 0x8009 0x0004 0x0272>, <165000000 0x802b 0x0004 0x0209>, diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11.dts b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11.dts index 5fba92ed8099..9d801aba83ac 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11.dts @@ -103,6 +103,21 @@ #clock-cells = <0>; }; + hdmi_sound: hdmi-sound { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "rockchip,hdmi"; + + simple-audio-card,cpu { + sound-dai = <&i2s2>; + }; + simple-audio-card,codec { + sound-dai = <&hdmi>; + }; + }; + panel: panel { compatible = "simple-panel"; backlight = <&backlight>; @@ -333,6 +348,7 @@ &hdmi { status = "okay"; + #sound-dai-cells = <0>; rockchip,phy-table = <74250000 0x8009 0x0004 0x0272>, <165000000 0x802b 0x0004 0x0209>,