From: zwl Date: Tue, 18 Mar 2014 02:24:34 +0000 (+0800) Subject: HDMI: modify dts file and add hdmi pclk X-Git-Tag: firefly_0821_release~6038 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=3b6c6e3bb9b30cc1f776c19d0ee95e7f3b001dd0;p=firefly-linux-kernel-4.4.55.git HDMI: modify dts file and add hdmi pclk --- diff --git a/arch/arm/boot/dts/rk3288-fpga.dts b/arch/arm/boot/dts/rk3288-fpga.dts index 576bda47accc..f2a92d9df17a 100755 --- a/arch/arm/boot/dts/rk3288-fpga.dts +++ b/arch/arm/boot/dts/rk3288-fpga.dts @@ -567,3 +567,8 @@ &lcdc1 { status = "disable"; }; + +&hdmi { + status = "okay"; + rockchips,hdmi_audio_source = <0>; +}; diff --git a/arch/arm/boot/dts/rk3288-tb.dts b/arch/arm/boot/dts/rk3288-tb.dts index d437aae2ef67..81c20da96f05 100755 --- a/arch/arm/boot/dts/rk3288-tb.dts +++ b/arch/arm/boot/dts/rk3288-tb.dts @@ -226,6 +226,10 @@ status = "okay"; }; +&hdmi { + status = "okay"; + rockchips,hdmi_audio_source = <0>; +}; &adc { status = "okay"; diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index 72844fd99b9e..4e6ef1648de7 100755 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -412,10 +412,11 @@ compatible = "rockchip,rk3288-hdmi"; reg = <0xff980000 0x20000>; interrupts = ; - 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"; }; diff --git a/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi.c b/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi.c index fef837d6546b..4c9e688be42f 100644 --- a/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi.c +++ b/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi.c @@ -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); diff --git a/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi_hw.h b/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi_hw.h index b727f54712af..05b5f2f13963 100644 --- a/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi_hw.h +++ b/drivers/video/rockchip/hdmi/chips/rk3288/rk3288_hdmi_hw.h @@ -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; };