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.

Signed-off-by: Lubomir Rintel <[email protected]>
---
 arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts | 65 ++++++++++++++++++-------
 1 file changed, 47 insertions(+), 18 deletions(-)

diff --git a/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts 
b/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
index 392f546f7915b..5f1da58550987 100644
--- a/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
+++ b/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
@@ -57,24 +57,6 @@ tablet_mode {
                        linux,code = <SW_TABLET_MODE>;
                        wakeup-source;
                };
-
-               microphone_insert {
-                       label = "Microphone Plug";
-                       gpios = <&gpio 96 GPIO_ACTIVE_HIGH>;
-                       linux,input-type = <EV_SW>;
-                       linux,code = <SW_MICROPHONE_INSERT>;
-                       debounce-interval = <100>;
-                       wakeup-source;
-               };
-
-               headphone_insert {
-                       label = "Headphone Plug";
-                       gpios = <&gpio 97 GPIO_ACTIVE_HIGH>;
-                       linux,input-type = <EV_SW>;
-                       linux,code = <SW_HEADPHONE_INSERT>;
-                       debounce-interval = <100>;
-                       wakeup-source;
-               };
        };
 
        i2c {
@@ -123,6 +105,18 @@ wlan_pwrseq: pwrseq0 {
                reset-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>;
        };
 
+       sound-card {
+               compatible = "audio-graph-card";
+               label = "OLPC XO";
+               dais = <&sspa0_dai>;
+               routing = "Headphones", "HPOL",
+                         "Headphones", "HPOR",
+                         "MIC2", "Mic Jack";
+               widgets = "Headphone", "Headphones", "Microphone", "Mic Jack";
+               hp-det-gpio = <&gpio 97 GPIO_ACTIVE_HIGH>;
+               mic-det-gpio = <&gpio 96 GPIO_ACTIVE_HIGH>;
+       };
+
        soc {
                axi@d4200000 {
                        ap-sp@d4290000 {
@@ -197,6 +191,14 @@ audio-codec@1a {
                compatible = "realtek,alc5631";
                reg = <0x1a>;
                status = "okay";
+
+               port {
+                       rt5631_0: endpoint {
+                               mclk-fs = <256>;
+                               clocks = <&audio_clk 0>;
+                               remote-endpoint = <&sspa0_0>;
+                       };
+               };
        };
 };
 
@@ -243,3 +245,30 @@ camera0_0: endpoint {
                };
        };
 };
+
+&asram {
+       status = "okay";
+};
+
+&adma0 {
+       status = "okay";
+};
+
+&audio_clk {
+       status = "okay";
+};
+
+&sspa0 {
+       status = "okay";
+       dmas = <&adma0 0>, <&adma0 1>;
+       dma-names = "tx", "rx";
+
+       sspa0_dai: port {
+               sspa0_0: endpoint {
+                       remote-endpoint = <&rt5631_0>;
+                       frame-master;
+                       bitclock-master;
+                       dai-format = "i2s";
+               };
+       };
+};
-- 
2.26.2

Reply via email to