|
@@ -659,11 +659,29 @@ static unsigned int mt8173_calculate_factor(int clock)
|
|
|
return 3 << 1;
|
|
|
}
|
|
|
|
|
|
+static unsigned int mt2701_calculate_factor(int clock)
|
|
|
+{
|
|
|
+ if (clock <= 64000)
|
|
|
+ return 16;
|
|
|
+ else if (clock <= 128000)
|
|
|
+ return 8;
|
|
|
+ else if (clock <= 256000)
|
|
|
+ return 4;
|
|
|
+ else
|
|
|
+ return 2;
|
|
|
+}
|
|
|
+
|
|
|
static const struct mtk_dpi_conf mt8173_conf = {
|
|
|
.cal_factor = mt8173_calculate_factor,
|
|
|
.reg_h_fre_con = 0xe0,
|
|
|
};
|
|
|
|
|
|
+static const struct mtk_dpi_conf mt2701_conf = {
|
|
|
+ .cal_factor = mt2701_calculate_factor,
|
|
|
+ .reg_h_fre_con = 0xb0,
|
|
|
+ .edge_sel_en = true,
|
|
|
+};
|
|
|
+
|
|
|
static int mtk_dpi_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct device *dev = &pdev->dev;
|
|
@@ -753,6 +771,9 @@ static int mtk_dpi_remove(struct platform_device *pdev)
|
|
|
}
|
|
|
|
|
|
static const struct of_device_id mtk_dpi_of_ids[] = {
|
|
|
+ { .compatible = "mediatek,mt2701-dpi",
|
|
|
+ .data = &mt2701_conf,
|
|
|
+ },
|
|
|
{ .compatible = "mediatek,mt8173-dpi",
|
|
|
.data = &mt8173_conf,
|
|
|
},
|