From 58919d94dc9d5f6833ee051601d17943832b5fc0 Mon Sep 17 00:00:00 2001 From: Arkadi Shishlov Date: Sun, 22 Jan 2023 04:08:42 +0200 Subject: [PATCH] riscv: dts: allwinner: d1: Enable I2S on MangoPi MQ-Pro --- .../allwinner/sun20i-d1-mangopi-mq-pro.dts | 28 +++++++++++++++++++ arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi | 18 ++++++++++++ 2 files changed, 46 insertions(+) diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-mangopi-mq-pro.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-mangopi-mq-pro.dts index a7149baf18672f..216d113d138014 100644 --- a/arch/riscv/boot/dts/allwinner/sun20i-d1-mangopi-mq-pro.dts +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-mangopi-mq-pro.dts @@ -45,6 +45,12 @@ }; }; + pcm5102a: pcm5102a-codec { + compatible = "ti,pcm5102a"; + status = "okay"; + #sound-dai-cells = <0>; + }; + reg_avdd2v8: avdd2v8 { compatible = "regulator-fixed"; regulator-name = "avdd2v8"; @@ -69,6 +75,22 @@ vin-supply = <®_vcc>; }; + soc { + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "i2s"; + simple-audio-card,format = "i2s"; + simple-audio-card,mclk-fs = <256>; + status = "okay"; + simple-audio-card,cpu { + sound-dai = <&i2s2>; + }; + simple-audio-card,codec { + sound-dai = <&pcm5102a>; + }; + }; + }; + wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&pio 6 17 GPIO_ACTIVE_LOW>; /* PG17 */ @@ -101,6 +123,12 @@ status = "okay"; }; +&i2s2 { + pinctrl-0 = <&i2s2_pb567_pins>, <&i2s2_pb3_din_pin>, <&i2s2_pb4_dout_pin>; + pinctrl-names = "default"; + status = "okay"; +}; + &mmc0 { bus-width = <4>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi b/arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi index 35e1085a07c26a..080453ad5cde9f 100644 --- a/arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi @@ -158,6 +158,24 @@ function = "i2c2"; }; + /omit-if-no-ref/ + i2s2_pb567_pins: i2s2-pb567-pins { + pins = "PB5", "PB6", "PB7"; + function = "i2s2"; + }; + + /omit-if-no-ref/ + i2s2_pb3_din_pin: i2s2-pb3-din-pin { + pins = "PB3"; + function = "i2s2_din"; + }; + + /omit-if-no-ref/ + i2s2_pb4_dout_pin: i2s2-pb4-dout-pin { + pins = "PB4"; + function = "i2s2_dout"; + }; + /omit-if-no-ref/ lcd_rgb666_pins: lcd-rgb666-pins { pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5",