|
- diff --git a/arch/arm/boot/dts/rk312x.dtsi b/arch/arm/boot/dts/rk312x.dtsi
- index fb0a437..2f62fc9 100755
- --- a/arch/arm/boot/dts/rk312x.dtsi
- +++ b/arch/arm/boot/dts/rk312x.dtsi
- dmas = <&pdma 0>, <&pdma 1>;
- //#dma-cells = <2>;
- dma-names = "tx", "rx";
- - //pinctrl-names = "default", "sleep";
- + pinctrl-names = "default", "sleep";
- //pinctrl-0 = <&i2s0_mclk &i2s0_sclk &i2s0_lrckrx &i2s0_lrcktx &i2s0_sdi
- &i2s0_sdo>;
- //pinctrl-1 = <&i2s0_gpio>;
- - status = "disabled";
- + pinctrl-0 = <&i2s0_mclk_mux0 &i2s0_sclk_mux0 &i2s0_lrckrx_mux0
- &i2s0_lrcktx_mux0 &i2s0_sdi_mux0 &i2s0_sdo_mux0>;
- + pinctrl-1 = <&i2s0_gpio_mux0>;
- + status = "okay";
- };
- i2s1: i2s@10200000 {
- @@ -496,6 +498,7 @@
- dmas = <&pdma 14>, <&pdma 15>;
- //#dma-cells = <2>;
- dma-names = "tx", "rx";
- + status = "disabled";
- };
- spdif: spdif@10204000 {
- diff --git a/sound/soc/rockchip/rk30_i2s.c b/sound/soc/rockchip/rk30_i2s.c
- old mode 100644
- new mode 100755
- index df121bb..d6d39c4
- --- a/sound/soc/rockchip/rk30_i2s.c
- +++ b/sound/soc/rockchip/rk30_i2s.c
- @@ -60,6 +60,7 @@ struct rk30_i2s_info {
- struct clk *i2s_clk;// i2s clk ,is bclk lrck
- struct clk *i2s_mclk;//i2s mclk,rk32xx can different i2s clk.
- struct clk *i2s_hclk;
- +struct clk *clk_i2s_2ch_out;
- struct snd_dmaengine_dai_dma_data capture_dma_data;
- struct snd_dmaengine_dai_dma_data playback_dma_data;
- @ -582,6 +583,13 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
- #endif
- clk_prepare_enable(i2s->i2s_mclk);
- }
- +
- +
- +i2s->clk_i2s_2ch_out = clk_get(&pdev->dev, "clk_i2s_2ch_out");
- +if (IS_ERR(i2s->clk_i2s_2ch_out)) {
- + dev_err(&pdev->dev, "Can't retrieve clk_i2s_2ch_out\n");
- + ret = PTR_ERR(i2s->clk_i2s_2ch_out);
- + goto err;
- +}
- +clk_prepare_enable(i2s->clk_i2s_2ch_out);
- mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!mem) {
- diff --git a/sound/soc/rockchip/rk30_i2s.c b/sound/soc/rockchip/rk30_i2s.c
- index 3c8b5d2..6bed949 100755
- --- a/sound/soc/rockchip/rk30_i2s.c
- +++ b/sound/soc/rockchip/rk30_i2s.c
- @ -563,6 +563,10 @ static int rockchip_i2s_probe(struct platform_device *pdev)
- }
- }
- + /*GRF_SOC_CON1 sdi select GPIO0B6*/
- + val = readl_relaxed(RK_GRF_VIRT + 0x0144);
- + val = val | 0x00200020;
- + writel_relaxed(val, RK_GRF_VIRT + 0x0144);
- if(pdev->id >= MAX_I2S) {
- dev_err(&pdev->dev, "id %d out of range\n", pdev->id);
- ret = -ENOMEM;
复制代码
稍微参考一下,排版不是很好 |
|