rk32 sound rt3224 : playback support
authorqjb <qjb@rock-chips.com>
Fri, 21 Mar 2014 13:52:33 +0000 (21:52 +0800)
committerqjb <qjb@rock-chips.com>
Fri, 21 Mar 2014 13:52:33 +0000 (21:52 +0800)
arch/arm/boot/dts/rk3288-tb.dts
arch/arm/configs/rockchip_defconfig
sound/soc/codecs/rt3261.h
sound/soc/rockchip/rk30_i2s.c

index ce73edb78c8315dccaab6e7ce26097034871dcd2..37d08b5fde86be6a8cdb488bf8cdd1d5749992b7 100755 (executable)
                                //bitclock-master;
                                //frame-master;
                        };
+                       dai1 {
+                               audio-codec = <&rt3261>;
+                               i2s-controller = <&i2s>;
+                               format = "i2s";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
                };
        };
 
        rt3261: rt3261@1c {
                compatible = "rt3261";
                reg = <0x1c>;
-               codec-en-gpio = <0>;//sdk default high level
+       //      codec-en-gpio = <0>;//sdk default high level
                spk-num= <2>;
                modem-input-mode = <1>;
                lout-to-modem_mode = <1>;
index ead5dc04d49d6b95479a802793e12d866da08855..684dee66fec13adda53a142d1d294e2eef1ffb88 100755 (executable)
@@ -370,6 +370,7 @@ CONFIG_SND_USB_AUDIO=y
 CONFIG_SND_SOC=y
 CONFIG_SND_RK_SOC=y
 CONFIG_SND_RK_SOC_HDMI_I2S=y
+CONFIG_SND_RK_SOC_RT3224=y
 CONFIG_HID_BATTERY_STRENGTH=y
 CONFIG_HIDRAW=y
 CONFIG_UHID=y
index a462a7f56a3f3099cc8c6681ec6febcbc23e1911..589199cee1b0de229ac4300d889b43e638b66add 100755 (executable)
@@ -2151,7 +2151,7 @@ struct rt3261_priv {
        bool dsp_play_pass;
        bool dsp_rec_pass;
 
-       unsigned int codec_en_gpio;
+       int codec_en_gpio;
 
        unsigned int modem_is_open;
        unsigned int spk_num;
index cdf195949afa6e4bde8990874bb0080d90b03c5f..08d7df0e78f47270aa3d61f90810f8c875d2d0cc 100755 (executable)
@@ -540,6 +540,7 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
                ret = PTR_ERR(i2s->i2s_clk);
                goto err;
        }
+       clk_set_rate(i2s->i2s_clk, 12288000);   
        clk_set_rate(i2s->i2s_clk, 11289600);
        clk_prepare_enable(i2s->i2s_clk);
 
@@ -547,6 +548,7 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
        if(IS_ERR(i2s->i2s_mclk) ) {
                printk("This platfrom have not i2s_mclk,no need to set i2s_mclk.\n");
        }else{
+               clk_set_rate(i2s->i2s_mclk, 12288000);
                clk_set_rate(i2s->i2s_mclk, 11289600);
                clk_prepare_enable(i2s->i2s_mclk);
        }