Merge "lcd: enable clkree gate" into amlogic-4.9-dev

This commit is contained in:
Jianxin Pan
2017-07-31 05:22:19 -07:00
committed by Gerrit Code Review
3 changed files with 45 additions and 2 deletions

View File

@@ -24,10 +24,14 @@
key_valid = <0>;
clocks = <&clkc CLKID_MIPI_DSI_HOST
&clkc CLKID_MIPI_DSI_PHY
&clkc CLKID_DSI_MEAS_COMP>;
&clkc CLKID_DSI_MEAS_COMP
&clkc CLKID_MIPI_ENABLE_GATE
&clkc CLKID_MIPI_BANDGAP_GATE>;
clock-names = "dsi_host",
"dsi_phy",
"dsi_meas";
"dsi_meas",
"mipi_enable_gate",
"mipi_bandgap_gate";
pinctrl_version = <1>; /* for uboot */
/* power type:

View File

@@ -936,6 +936,29 @@ void lcd_clk_gate_switch(int status)
switch (lcd_drv->chip_type) {
case LCD_CHIP_AXG:
if (status) {
if (IS_ERR(lcd_drv->mipi_enable_gate))
LCDERR("%s: mipi_enable_gate\n", __func__);
else
clk_prepare_enable(lcd_drv->mipi_enable_gate);
if (IS_ERR(lcd_drv->mipi_bandgap_gate))
LCDERR("%s: mipi_bandgap_gate\n", __func__);
else
clk_prepare_enable(lcd_drv->mipi_bandgap_gate);
} else {
if (IS_ERR(lcd_drv->mipi_enable_gate))
LCDERR("%s: mipi_enable_gate\n", __func__);
else
clk_disable_unprepare(
lcd_drv->mipi_enable_gate);
if (IS_ERR(lcd_drv->mipi_bandgap_gate))
LCDERR("%s: mipi_bandgap_gate\n", __func__);
else
clk_disable_unprepare(
lcd_drv->mipi_bandgap_gate);
}
break;
default:
if (status) {
@@ -986,6 +1009,20 @@ void lcd_clktree_probe(void)
LCDERR("%s: clk dsi_meas\n", __func__);
else
clk_prepare_enable(lcd_drv->dsi_meas);
lcd_drv->mipi_enable_gate = devm_clk_get(
lcd_drv->dev, "mipi_enable_gate");
if (IS_ERR(lcd_drv->mipi_enable_gate))
LCDERR("%s: clk mipi_enable_gate\n", __func__);
else
clk_prepare_enable(lcd_drv->mipi_enable_gate);
lcd_drv->mipi_bandgap_gate = devm_clk_get(
lcd_drv->dev, "mipi_bandgap_gate");
if (IS_ERR(lcd_drv->mipi_bandgap_gate))
LCDERR("%s: clk mipi_bandgap_gate\n", __func__);
else
clk_prepare_enable(lcd_drv->mipi_bandgap_gate);
break;
default:
lcd_drv->vencl_top = devm_clk_get(lcd_drv->dev, "vencl_top");

View File

@@ -361,6 +361,8 @@ struct aml_lcd_drv_s {
struct clk *dsi_host;
struct clk *dsi_phy;
struct clk *dsi_meas;
struct clk *mipi_enable_gate;
struct clk *mipi_bandgap_gate;
struct device *dev;
struct lcd_config_s *lcd_config;