Skip to content

Commit 3a73e37

Browse files
superna9999lumag
authored andcommitted
drm/msm: dsi: add support for DSI-PHY on SM8650
Add DSI PHY support for the SM8650 platform. Reviewed-by: Dmitry Baryshkov <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Patchwork: https://patchwork.freedesktop.org/patch/564976/ Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Baryshkov <[email protected]>
1 parent e6488c2 commit 3a73e37

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

drivers/gpu/drm/msm/dsi/phy/dsi_phy.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,8 @@ static const struct of_device_id dsi_phy_dt_match[] = {
587587
.data = &dsi_phy_5nm_8450_cfgs },
588588
{ .compatible = "qcom,sm8550-dsi-phy-4nm",
589589
.data = &dsi_phy_4nm_8550_cfgs },
590+
{ .compatible = "qcom,sm8650-dsi-phy-4nm",
591+
.data = &dsi_phy_4nm_8650_cfgs },
590592
#endif
591593
{}
592594
};

drivers/gpu/drm/msm/dsi/phy/dsi_phy.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ extern const struct msm_dsi_phy_cfg dsi_phy_7nm_7280_cfgs;
6262
extern const struct msm_dsi_phy_cfg dsi_phy_5nm_8350_cfgs;
6363
extern const struct msm_dsi_phy_cfg dsi_phy_5nm_8450_cfgs;
6464
extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8550_cfgs;
65+
extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8650_cfgs;
6566

6667
struct msm_dsi_dphy_timing {
6768
u32 clk_zero;

drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,6 +1121,10 @@ static const struct regulator_bulk_data dsi_phy_7nm_37750uA_regulators[] = {
11211121
{ .supply = "vdds", .init_load_uA = 37550 },
11221122
};
11231123

1124+
static const struct regulator_bulk_data dsi_phy_7nm_98000uA_regulators[] = {
1125+
{ .supply = "vdds", .init_load_uA = 98000 },
1126+
};
1127+
11241128
static const struct regulator_bulk_data dsi_phy_7nm_97800uA_regulators[] = {
11251129
{ .supply = "vdds", .init_load_uA = 97800 },
11261130
};
@@ -1281,3 +1285,26 @@ const struct msm_dsi_phy_cfg dsi_phy_4nm_8550_cfgs = {
12811285
.num_dsi_phy = 2,
12821286
.quirks = DSI_PHY_7NM_QUIRK_V5_2,
12831287
};
1288+
1289+
const struct msm_dsi_phy_cfg dsi_phy_4nm_8650_cfgs = {
1290+
.has_phy_lane = true,
1291+
.regulator_data = dsi_phy_7nm_98000uA_regulators,
1292+
.num_regulators = ARRAY_SIZE(dsi_phy_7nm_98000uA_regulators),
1293+
.ops = {
1294+
.enable = dsi_7nm_phy_enable,
1295+
.disable = dsi_7nm_phy_disable,
1296+
.pll_init = dsi_pll_7nm_init,
1297+
.save_pll_state = dsi_7nm_pll_save_state,
1298+
.restore_pll_state = dsi_7nm_pll_restore_state,
1299+
.set_continuous_clock = dsi_7nm_set_continuous_clock,
1300+
},
1301+
.min_pll_rate = 600000000UL,
1302+
#ifdef CONFIG_64BIT
1303+
.max_pll_rate = 5000000000UL,
1304+
#else
1305+
.max_pll_rate = ULONG_MAX,
1306+
#endif
1307+
.io_start = { 0xae95000, 0xae97000 },
1308+
.num_dsi_phy = 2,
1309+
.quirks = DSI_PHY_7NM_QUIRK_V5_2,
1310+
};

0 commit comments

Comments
 (0)