rk3368 lcdc: add power domain control for lcdc

Signed-off-by: hjc <hjc@rock-chips.com>
This commit is contained in:
hjc
2015-03-19 16:47:22 +08:00
parent bf3c956402
commit def6cbfb21
2 changed files with 6 additions and 6 deletions

View File

@@ -805,8 +805,8 @@
*pinctrl-1 = <&lcdc_gpio>;
*/
status = "disabled";
clocks = <&clk_gates16 5>, <&dclk_vop0>, <&clk_gates16 6>, <&clk_npll>;
clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "sclk_pll";
clocks = <&clk_gates16 5>, <&dclk_vop0>, <&clk_gates16 6>, <&clk_npll>, <&pd_vop>;
clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "sclk_pll", "pd_lcdc";
};
adc: adc@ff100000 {

View File

@@ -152,7 +152,7 @@ static int rk3368_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);
@@ -175,7 +175,7 @@ static int rk3368_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;
@@ -416,9 +416,9 @@ static int rk3368_lcdc_pre_init(struct rk_lcdc_driver *dev_drv)
lcdc_dev->hclk = devm_clk_get(lcdc_dev->dev, "hclk_lcdc");
lcdc_dev->aclk = devm_clk_get(lcdc_dev->dev, "aclk_lcdc");
lcdc_dev->dclk = devm_clk_get(lcdc_dev->dev, "dclk_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)) ||
if (IS_ERR(lcdc_dev->pd) || (IS_ERR(lcdc_dev->aclk)) ||
(IS_ERR(lcdc_dev->dclk)) || (IS_ERR(lcdc_dev->hclk))) {
dev_err(lcdc_dev->dev, "failed to get lcdc%d clk source\n",
lcdc_dev->id);