drm/rockchip: lvds: Remove px30 phy code

Change-Id: Ie664883f25badd055b5e3020785793cfe97f4c76
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This commit is contained in:
Wyon Bi
2018-12-08 11:09:31 +08:00
parent 924d3ee192
commit b8275ad5b9
2 changed files with 18 additions and 37 deletions

View File

@@ -37,6 +37,15 @@
#include "rockchip_drm_vop.h"
#include "rockchip_lvds.h"
#define HIWORD_UPDATE(v, h, l) (((v) << (l)) | (GENMASK(h, l) << 16))
#define PX30_GRF_PD_VO_CON1 0x0438
#define PX30_LVDS_SELECT(x) HIWORD_UPDATE(x, 14, 13)
#define PX30_LVDS_MODE_EN(x) HIWORD_UPDATE(x, 12, 12)
#define PX30_LVDS_MSBSEL(x) HIWORD_UPDATE(x, 11, 11)
#define PX30_LVDS_P2S_EN(x) HIWORD_UPDATE(x, 10, 10)
#define PX30_LVDS_VOP_SEL(x) HIWORD_UPDATE(x, 1, 1)
#define DISPLAY_OUTPUT_RGB 0
#define DISPLAY_OUTPUT_LVDS 1
#define DISPLAY_OUTPUT_DUAL_LVDS 2
@@ -783,42 +792,25 @@ static int innov1_lvds_probe(struct rockchip_lvds *lvds)
static int px30_lvds_power_on(struct rockchip_lvds *lvds)
{
int pipe;
int pipe = drm_of_encoder_active_endpoint_id(lvds->dev->of_node,
&lvds->encoder);
pipe = drm_of_encoder_active_endpoint_id(lvds->dev->of_node,
&lvds->encoder);
regmap_write(lvds->grf, PX30_GRF_PD_VO_CON1,
PX30_LVDS_SELECT(lvds->format) |
PX30_LVDS_MODE_EN(1) | PX30_LVDS_MSBSEL(1) |
PX30_LVDS_P2S_EN(1) | PX30_LVDS_VOP_SEL(pipe));
if (lvds->output == DISPLAY_OUTPUT_RGB) {
regmap_write(lvds->grf, PX30_GRF_PD_VO_CON1,
PX30_RGB_VOP_SEL(pipe));
regmap_write(lvds->grf, PX30_GRF_PD_VO_CON1,
PX30_DPHY_FORCERXMODE(1) |
PX30_RGB_SYNC_BYPASS(1));
} else if (lvds->output == DISPLAY_OUTPUT_LVDS) {
regmap_write(lvds->grf, PX30_GRF_PD_VO_CON1,
PX30_LVDS_VOP_SEL(pipe));
regmap_write(lvds->grf, PX30_GRF_PD_VO_CON1,
PX30_LVDS_PHY_MODE(1) |
PX30_LVDS_OUTPUT_FORMAT(lvds->format) |
PX30_LVDS_MSBSEL(LVDS_MSB_D7) |
PX30_DPHY_FORCERXMODE(1));
lvds_msk_reg(lvds, MIPIPHY_REG8,
m_SAMPLE_CLK_DIR, v_SAMPLE_CLK_DIR_REVERSE);
}
return innov1_lvds_power_on(lvds);
return 0;
}
static void px30_lvds_power_off(struct rockchip_lvds *lvds)
{
regmap_write(lvds->grf, PX30_GRF_PD_VO_CON1, PX30_LVDS_PHY_MODE(0));
innov1_lvds_power_off(lvds);
regmap_write(lvds->grf, PX30_GRF_PD_VO_CON1,
PX30_LVDS_MODE_EN(0) | PX30_LVDS_P2S_EN(0));
}
static const struct rockchip_lvds_soc_data px30_lvds_soc_data = {
.chip_type = PX30,
.probe = innov1_lvds_probe,
.power_on = px30_lvds_power_on,
.power_off = px30_lvds_power_off,
};

View File

@@ -108,17 +108,6 @@
#define RK3126_GRF_LVDS_CON0 0x0150
#define RK3126_GRF_CON1 0x0144
#define PX30_GRF_PD_VO_CON0 0x0434
#define PX30_GRF_PD_VO_CON1 0x0438
#define PX30_LVDS_OUTPUT_FORMAT(x) (BITS_MASK(x, 0x3, 13) | BITS_EN(0x3, 13))
#define PX30_LVDS_PHY_MODE(x) (BITS_MASK(x, 0x1, 12) | BITS_EN(0x1, 12))
#define PX30_LVDS_MSBSEL(x) (BITS_MASK(x, 0x1, 11) | BITS_EN(0x1, 11))
#define PX30_DPHY_FORCERXMODE(x) (BITS_MASK(x, 0x1, 6) | BITS_EN(0x1, 6))
#define PX30_LCDC_DCLK_INV(v) (BITS_MASK(x, 0x1, 4) | BITS_EN(0x1, 4))
#define PX30_RGB_SYNC_BYPASS(x) (BITS_MASK(x, 0x1, 3) | BITS_EN(0x1, 3))
#define PX30_RGB_VOP_SEL(x) (BITS_MASK(x, 0x1, 2) | BITS_EN(0x1, 2))
#define PX30_LVDS_VOP_SEL(x) (BITS_MASK(x, 0x1, 1) | BITS_EN(0x1, 1))
#define LVDS_FMT_MASK (0x07 << 16)
#define LVDS_MSB BIT(3)
#define LVDS_DUAL BIT(4)