Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: mmp2-olpc-xo-1-75: Enable audio support

This enables the audio SRAM, DMA engine, I2S interface, and codec, hooks
them together and adds a audio-graph-card instance.

It also removes the jack gpios from the gpio-keys instance, because the
audio jack driver registers an input device.

Link: https://lore.kernel.org/r/20200718205019.184927-10-lkundrak@v3.sk
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

authored by

Lubomir Rintel and committed by
Arnd Bergmann
d1e6f7c9 3f232631

+47 -18
+47 -18
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
··· 57 57 linux,code = <SW_TABLET_MODE>; 58 58 wakeup-source; 59 59 }; 60 - 61 - microphone_insert { 62 - label = "Microphone Plug"; 63 - gpios = <&gpio 96 GPIO_ACTIVE_HIGH>; 64 - linux,input-type = <EV_SW>; 65 - linux,code = <SW_MICROPHONE_INSERT>; 66 - debounce-interval = <100>; 67 - wakeup-source; 68 - }; 69 - 70 - headphone_insert { 71 - label = "Headphone Plug"; 72 - gpios = <&gpio 97 GPIO_ACTIVE_HIGH>; 73 - linux,input-type = <EV_SW>; 74 - linux,code = <SW_HEADPHONE_INSERT>; 75 - debounce-interval = <100>; 76 - wakeup-source; 77 - }; 78 60 }; 79 61 80 62 i2c { ··· 103 121 compatible = "mmc-pwrseq-sd8787"; 104 122 powerdown-gpios = <&gpio 57 GPIO_ACTIVE_HIGH>; 105 123 reset-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>; 124 + }; 125 + 126 + sound-card { 127 + compatible = "audio-graph-card"; 128 + label = "OLPC XO"; 129 + dais = <&sspa0_dai>; 130 + routing = "Headphones", "HPOL", 131 + "Headphones", "HPOR", 132 + "MIC2", "Mic Jack"; 133 + widgets = "Headphone", "Headphones", "Microphone", "Mic Jack"; 134 + hp-det-gpio = <&gpio 97 GPIO_ACTIVE_HIGH>; 135 + mic-det-gpio = <&gpio 96 GPIO_ACTIVE_HIGH>; 106 136 }; 107 137 108 138 soc { ··· 191 197 compatible = "realtek,alc5631"; 192 198 reg = <0x1a>; 193 199 status = "okay"; 200 + 201 + port { 202 + rt5631_0: endpoint { 203 + mclk-fs = <256>; 204 + clocks = <&audio_clk 0>; 205 + remote-endpoint = <&sspa0_0>; 206 + }; 207 + }; 194 208 }; 195 209 }; 196 210 ··· 242 240 port { 243 241 camera0_0: endpoint { 244 242 remote-endpoint = <&ov7670_0>; 243 + }; 244 + }; 245 + }; 246 + 247 + &asram { 248 + status = "okay"; 249 + }; 250 + 251 + &adma0 { 252 + status = "okay"; 253 + }; 254 + 255 + &audio_clk { 256 + status = "okay"; 257 + }; 258 + 259 + &sspa0 { 260 + status = "okay"; 261 + dmas = <&adma0 0>, <&adma0 1>; 262 + dma-names = "tx", "rx"; 263 + 264 + sspa0_dai: port { 265 + sspa0_0: endpoint { 266 + remote-endpoint = <&rt5631_0>; 267 + frame-master; 268 + bitclock-master; 269 + dai-format = "i2s"; 245 270 }; 246 271 }; 247 272 };