--- bcm2837-rpi-3-b-plus.orig.dts +++ bcm2837-rpi-3-b-plus.rpi-amp.dts @@ -368,6 +368,12 @@ brcm,pins = < 0x04 0x05 0x07 0x08 0x09 0x0a 0x0b >; brcm,function = < 0x04 >; }; + + i2s_alt0: i2s_alt0 { + brcm,pins = <18 19 20 21>; + brcm,function = < 0x04 >; + }; + }; serial@7e201000 { @@ -401,13 +407,16 @@ bus-width = < 0x04 >; }; - i2s@7e203000 { + i2s0: i2s@7e203000 { + #sound-dai-cells= <0>; compatible = "brcm,bcm2835-i2s"; reg = < 0x7e203000 0x24 >; clocks = < 0x04 0x1f >; dmas = < 0x0c 0x02 0x0c 0x03 >; dma-names = "tx\0rx"; - status = "disabled"; + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&i2s_alt0>; }; spi@7e204000 { @@ -582,6 +591,13 @@ pinctrl-names = "default"; pinctrl-0 = < 0x16 >; clock-frequency = < 0x186a0 >; + + tas5825m: tas5825m@4c { + compatible = "ti,tas5825m"; + reg = < 0x4c >; + pdn-gpios = < 0x18 0x1b 0x01 >; + #sound-dai-cells = < 0x00 >; + }; }; i2c@7e805000 { @@ -823,4 +839,20 @@ reset-gpios = < 0x0b 0x01 0x01 >; phandle = < 0x15 >; }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "tas5825m"; + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&dailink0_master>; + simple-audio-card,frame-master = <&dailink0_master>; + + dailink0_master: simple-audio-card,cpu { + sound-dai = <&i2s0>; + }; + + simple-audio-card,codec { + sound-dai = <&tas5825m>; + }; + }; };