i2s dts : add clk name
authorqjb <qjb@rock-chips.com>
Wed, 26 Feb 2014 06:45:08 +0000 (14:45 +0800)
committerqjb <qjb@rock-chips.com>
Wed, 26 Feb 2014 06:45:08 +0000 (14:45 +0800)
arch/arm/boot/dts/rk3188.dtsi
sound/soc/rockchip/rk30_i2s.c

index b41084451c92448690e6cc0bb831ba6c6ca70914..87ef9ea8cce4fea83a982f590b4ee39cd4dfc314 100755 (executable)
                reg = <0x1011a000 0x2000>;
                i2s-id = <1>;
                clocks = <&clk_i2s>;
+               clock-names = "i2s_clk";
                interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
                dmas = <&pdma0 6>,
                        <&pdma0 7>;
index 9a761a3a5e080b768b5f2a117584694600b684c0..16b04412c7f563f2fc196d7d0a790c6fe1825777 100755 (executable)
@@ -56,7 +56,8 @@ static DEFINE_SPINLOCK(lock);
 struct rk30_i2s_info {
        void __iomem    *regs;
 
-       struct clk *i2s_clk;
+       struct clk *i2s_clk;// i2s clk ,is bclk lrck
+       struct clk *i2s_mclk;//i2s mclk,rk32xx can different i2s clk.
 
        struct snd_dmaengine_dai_dma_data capture_dma_data;
        struct snd_dmaengine_dai_dma_data playback_dma_data;
@@ -523,14 +524,22 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
                goto err;
        }
 
-       i2s->i2s_clk= clk_get(&pdev->dev, NULL);
+       i2s->i2s_clk= clk_get(&pdev->dev, "i2s_clk");
        if (IS_ERR(i2s->i2s_clk)) {
                dev_err(&pdev->dev, "Can't retrieve i2s clock\n");
                ret = PTR_ERR(i2s->i2s_clk);
                goto err;
        }
-       clk_prepare_enable(i2s->i2s_clk);
        clk_set_rate(i2s->i2s_clk, 11289600);
+       clk_prepare_enable(i2s->i2s_clk);
+
+       i2s->i2s_mclk= clk_get(&pdev->dev, "i2s_mclk");
+       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, 11289600);
+               clk_prepare_enable(i2s->i2s_mclk);
+       }
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!mem) {