diff options
Diffstat (limited to 'drivers/video/tegra')
-rw-r--r-- | drivers/video/tegra/dc/dc.h | 9 | ||||
-rw-r--r-- | drivers/video/tegra/dc/dsi.c | 18 |
2 files changed, 11 insertions, 16 deletions
diff --git a/drivers/video/tegra/dc/dc.h b/drivers/video/tegra/dc/dc.h index 8b47064ec..691dcaa7d 100644 --- a/drivers/video/tegra/dc/dc.h +++ b/drivers/video/tegra/dc/dc.h | |||
@@ -331,11 +331,12 @@ enum { | |||
331 | DSI/DSIB pads' DPD for DSI_INSTANCE_1 can be enabled, respectively, | 331 | DSI/DSIB pads' DPD for DSI_INSTANCE_1 can be enabled, respectively, |
332 | * but in SW, sometimes pins from one pad can be used by | 332 | * but in SW, sometimes pins from one pad can be used by |
333 | * more than one module, so it may be dependent on board design. | 333 | * more than one module, so it may be dependent on board design. |
334 | * 0:A | ||
335 | * 1:B | ||
336 | * 2:C | ||
337 | * 3:D | ||
334 | */ | 338 | */ |
335 | #define DSI_DPD_EN (1 << 0) | 339 | #define DSI_DPD_EN(i) (1 << i) |
336 | #define DSIB_DPD_EN (1 << 1) | ||
337 | #define DSIC_DPD_EN (1 << 2) | ||
338 | #define DSID_DPD_EN (1 << 3) | ||
339 | 340 | ||
340 | struct tegra_dsi_board_info { | 341 | struct tegra_dsi_board_info { |
341 | u32 platform_boardid; | 342 | u32 platform_boardid; |
diff --git a/drivers/video/tegra/dc/dsi.c b/drivers/video/tegra/dc/dsi.c index d29048265..2ce6f841b 100644 --- a/drivers/video/tegra/dc/dsi.c +++ b/drivers/video/tegra/dc/dsi.c | |||
@@ -4498,18 +4498,12 @@ static int _tegra_dc_dsi_init(struct tegra_dc *dc) | |||
4498 | */ | 4498 | */ |
4499 | if (!dsi->info.ganged_type && !dsi->info.dsi_csi_loopback && | 4499 | if (!dsi->info.ganged_type && !dsi->info.dsi_csi_loopback && |
4500 | (dsi->info.controller_vs >= DSI_VS_1)) { | 4500 | (dsi->info.controller_vs >= DSI_VS_1)) { |
4501 | if ((dsi->info.dpd_dsi_pads & DSI_DPD_EN) && | 4501 | int i; |
4502 | dsi->dsi_io_padctrl[0]) | 4502 | for (i = 0; i < MAX_DSI_INSTANCE; i++) { |
4503 | padctrl_power_disable(dsi->dsi_io_padctrl[0]); | 4503 | if ((dsi->info.dpd_dsi_pads & DSI_DPD_EN(i)) && |
4504 | if ((dsi->info.dpd_dsi_pads & DSIB_DPD_EN) && | 4504 | dsi->dsi_io_padctrl[i]) |
4505 | dsi->dsi_io_padctrl[1]) | 4505 | padctrl_power_disable(dsi->dsi_io_padctrl[i]); |
4506 | padctrl_power_disable(dsi->dsi_io_padctrl[1]); | 4506 | } |
4507 | if ((dsi->info.dpd_dsi_pads & DSIC_DPD_EN) && | ||
4508 | dsi->dsi_io_padctrl[2]) | ||
4509 | padctrl_power_disable(dsi->dsi_io_padctrl[2]); | ||
4510 | if ((dsi->info.dpd_dsi_pads & DSID_DPD_EN) && | ||
4511 | dsi->dsi_io_padctrl[3]) | ||
4512 | padctrl_power_disable(dsi->dsi_io_padctrl[3]); | ||
4513 | } | 4507 | } |
4514 | 4508 | ||
4515 | /* | 4509 | /* |