HDMI: modify dts file and add hdmi pclk
authorzwl <zwl@rock-chips.com>
Tue, 18 Mar 2014 02:24:34 +0000 (10:24 +0800)
committerzwl <zwl@rock-chips.com>
Tue, 18 Mar 2014 02:24:56 +0000 (10:24 +0800)
arch/arm/boot/dts/rk3288-fpga.dts
arch/arm/boot/dts/rk3288-tb.dts
arch/arm/boot/dts/rk3288.dtsi
drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi.c
drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi_hw.h

index 576bda47acccf47f02f0ffa6475cd21e53bd64bb..f2a92d9df17af7aaf3f23204df244885876d9e1c 100755 (executable)
 &lcdc1 {
        status = "disable";
 };
+
+&hdmi {
+       status = "okay";
+       rockchips,hdmi_audio_source = <0>;
+};
index d437aae2ef6755370756c0ba5e3319a4e314a746..81c20da96f0501055301e58a7ad090e5eb5526b3 100755 (executable)
        status = "okay";
 };
 
+&hdmi {
+       status = "okay";
+       rockchips,hdmi_audio_source = <0>;
+};
 
 &adc {
        status = "okay";
index 72844fd99b9e25c49e61b27cafc067e84c818638..4e6ef1648de7aa1fbb78a1387aacb4d7081887cd 100755 (executable)
                 compatible = "rockchip,rk3288-hdmi";
                 reg = <0xff980000 0x20000>;
                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
-                rockchip,hdmi_lcdc_source = <1>;
                 pinctrl-names = "default", "gpio";
                 pinctrl-0 = <&i2c5_sda &i2c5_scl>;
                 pinctrl-1 = <&i2c5_gpio>;
+                clocks = <&clk_gates16 9>;
+                clock-names = "pclk_hdmi";
                 status = "disabled";
         };
 
index fef837d6546b04baabbfb9cb95dfb3e43c6a0b3d..4c9e688be42fe34afb0e66d81b23b2a35105b4c4 100644 (file)
@@ -214,14 +214,14 @@ static int rk3288_hdmi_probe(struct platform_device *pdev)
        rk3288_hdmi_parse_dt(hdmi_dev);
        //TODO Daisen wait to add cec iomux
 
-       /*enable hclk*/
-       hdmi_dev->hclk = devm_clk_get(hdmi_dev->dev,"hclk_hdmi");       //TODO Daisen wait to modify
-       if(IS_ERR(hdmi_dev->hclk)) {
-               dev_err(hdmi_dev->dev, "Unable to get hdmi hclk\n");
+       /*enable pclk*/
+       hdmi_dev->pclk = devm_clk_get(hdmi_dev->dev, "pclk_hdmi");
+       if(IS_ERR(hdmi_dev->pclk)) {
+               dev_err(hdmi_dev->dev, "Unable to get hdmi pclk\n");
                ret = -ENXIO;
                goto err0;
        }
-       clk_prepare_enable(hdmi_dev->hclk);
+       clk_prepare_enable(hdmi_dev->pclk);
 
        /*request and remap iomem*/
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -291,7 +291,7 @@ err2:
        //iounmap((void*)hdmi_dev->regbase);
 err1:
        //release_mem_region(res->start,hdmi_dev->regsize_phy);
-       clk_disable_unprepare(hdmi_dev->hclk);
+       clk_disable_unprepare(hdmi_dev->pclk);
 err0:
        dev_info(hdmi_dev->dev, "rk3288 hdmi probe error.\n");
        kfree(hdmi_dev);
@@ -322,7 +322,7 @@ static int rk3288_hdmi_remove(struct platform_device *pdev)
 
                //iounmap((void*)hdmi_drv->regbase);
                //release_mem_region(hdmi_drv->regbase_phy, hdmi_drv->regsize_phy);
-               clk_disable_unprepare(hdmi_dev->hclk);
+               clk_disable_unprepare(hdmi_dev->pclk);
                fb_destroy_modelist(&hdmi_drv->edid.modelist);
                if(hdmi_drv->edid.audio)
                        kfree(hdmi_drv->edid.audio);
index b727f54712af38265ee816150213ee658f92a6a2..05b5f2f139636274c63b3e948698f81c7a017705 100644 (file)
@@ -1376,7 +1376,7 @@ struct rk3288_hdmi_device {
        int                     phy_i2cm_int;
        struct mutex            int_mutex;
        struct device           *dev;
-       struct clk              *hclk;                          //HDMI AHP clk
+       struct clk              *pclk;                          //HDMI AHP clk
        struct hdmi             driver;
         struct dentry           *debugfs_dir;
 };