From: zwl Date: Mon, 18 Aug 2014 13:23:55 +0000 (+0800) Subject: rockchip:rk312x-lcdc: add support enable or disable vio power domain X-Git-Tag: firefly_0821_release~4866 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f3425af5b5ede03b4cf9f02abda224e28ff7d090;p=firefly-linux-kernel-4.4.55.git rockchip:rk312x-lcdc: add support enable or disable vio power domain --- diff --git a/arch/arm/boot/dts/rk312x.dtsi b/arch/arm/boot/dts/rk312x.dtsi index 8483401d8b43..43372be7b68e 100755 --- a/arch/arm/boot/dts/rk312x.dtsi +++ b/arch/arm/boot/dts/rk312x.dtsi @@ -702,8 +702,8 @@ rockchip,prop = ; reg = <0x1010e000 0x2000>; interrupts = ; - clocks = <&clk_gates6 0>, <&dclk_lcdc0>, <&clk_gates6 1>, <&sclk_lcdc0>; - clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "sclk_lcdc"; + clocks = <&clk_gates6 0>, <&dclk_lcdc0>, <&clk_gates6 1>, <&sclk_lcdc0>, <&pd_vio>; + clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "sclk_lcdc", "pd_lcdc"; rockchip,iommu-enabled = <1>; status = "disabled"; }; diff --git a/drivers/video/rockchip/lcdc/rk312x_lcdc.c b/drivers/video/rockchip/lcdc/rk312x_lcdc.c index 20e45b33874c..d7554ecac7fb 100755 --- a/drivers/video/rockchip/lcdc/rk312x_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk312x_lcdc.c @@ -103,7 +103,7 @@ static int rk312x_lcdc_clk_enable(struct lcdc_device *lcdc_dev) clk_prepare_enable(lcdc_dev->hclk); clk_prepare_enable(lcdc_dev->dclk); clk_prepare_enable(lcdc_dev->aclk); -// clk_prepare_enable(lcdc_dev->pd); + clk_prepare_enable(lcdc_dev->pd); spin_lock(&lcdc_dev->reg_lock); lcdc_dev->clk_on = 1; spin_unlock(&lcdc_dev->reg_lock); @@ -126,7 +126,7 @@ static int rk312x_lcdc_clk_disable(struct lcdc_device *lcdc_dev) clk_disable_unprepare(lcdc_dev->dclk); clk_disable_unprepare(lcdc_dev->hclk); clk_disable_unprepare(lcdc_dev->aclk); -// clk_disable_unprepare(lcdc_dev->pd); + clk_disable_unprepare(lcdc_dev->pd); } return 0; @@ -526,7 +526,7 @@ static int rk312x_lcdc_pre_init(struct rk_lcdc_driver *dev_drv) lcdc_dev->aclk = devm_clk_get(lcdc_dev->dev, "aclk_lcdc"); lcdc_dev->dclk = devm_clk_get(lcdc_dev->dev, "dclk_lcdc"); lcdc_dev->sclk = devm_clk_get(lcdc_dev->dev, "sclk_lcdc"); -// lcdc_dev->pd = devm_clk_get(lcdc_dev->dev, "pd_lcdc"); + lcdc_dev->pd = devm_clk_get(lcdc_dev->dev, "pd_lcdc"); if ( /*IS_ERR(lcdc_dev->pd) || */ (IS_ERR(lcdc_dev->aclk)) || (IS_ERR(lcdc_dev->dclk)) || (IS_ERR(lcdc_dev->hclk))) {