Skip to content

Commit 223bff6

Browse files
Yuanjie Yanglumag
authored andcommitted
drm/msm/dsi/phy: Add support for Kaanapali
Add DSI PHY support for the Kaanapali platform, Kaanapali introduce addition of DSI2/DSI2_phy compared to SM8650. However, based on the HPG diagram, only DSI0_phy and DSI1_phy works. Co-developed-by: Yongxing Mou <yongxing.mou@oss.qualcomm.com> Signed-off-by: Yongxing Mou <yongxing.mou@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Yuanjie Yang <yuanjie.yang@oss.qualcomm.com> Patchwork: https://patchwork.freedesktop.org/patch/698705/ Link: https://lore.kernel.org/r/20260115092749.533-7-yuanjie.yang@oss.qualcomm.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
1 parent 3d2d7a3 commit 223bff6

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,8 @@ static const struct of_device_id dsi_phy_dt_match[] = {
577577
.data = &dsi_phy_4nm_8650_cfgs },
578578
{ .compatible = "qcom,sm8750-dsi-phy-3nm",
579579
.data = &dsi_phy_3nm_8750_cfgs },
580+
{ .compatible = "qcom,kaanapali-dsi-phy-3nm",
581+
.data = &dsi_phy_3nm_kaanapali_cfgs },
580582
#endif
581583
{}
582584
};

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ extern const struct msm_dsi_phy_cfg dsi_phy_5nm_sar2130p_cfgs;
6464
extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8550_cfgs;
6565
extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8650_cfgs;
6666
extern const struct msm_dsi_phy_cfg dsi_phy_3nm_8750_cfgs;
67+
extern const struct msm_dsi_phy_cfg dsi_phy_3nm_kaanapali_cfgs;
6768

6869
struct msm_dsi_dphy_timing {
6970
u32 clk_zero;

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,3 +1504,26 @@ const struct msm_dsi_phy_cfg dsi_phy_3nm_8750_cfgs = {
15041504
.num_dsi_phy = 2,
15051505
.quirks = DSI_PHY_7NM_QUIRK_V7_0,
15061506
};
1507+
1508+
const struct msm_dsi_phy_cfg dsi_phy_3nm_kaanapali_cfgs = {
1509+
.has_phy_lane = true,
1510+
.regulator_data = dsi_phy_7nm_98000uA_regulators,
1511+
.num_regulators = ARRAY_SIZE(dsi_phy_7nm_98000uA_regulators),
1512+
.ops = {
1513+
.enable = dsi_7nm_phy_enable,
1514+
.disable = dsi_7nm_phy_disable,
1515+
.pll_init = dsi_pll_7nm_init,
1516+
.save_pll_state = dsi_7nm_pll_save_state,
1517+
.restore_pll_state = dsi_7nm_pll_restore_state,
1518+
.set_continuous_clock = dsi_7nm_set_continuous_clock,
1519+
},
1520+
.min_pll_rate = 600000000UL,
1521+
#ifdef CONFIG_64BIT
1522+
.max_pll_rate = 5000000000UL,
1523+
#else
1524+
.max_pll_rate = ULONG_MAX,
1525+
#endif
1526+
.io_start = { 0x9ac1000, 0x9ac4000 },
1527+
.num_dsi_phy = 2,
1528+
.quirks = DSI_PHY_7NM_QUIRK_V7_0,
1529+
};

0 commit comments

Comments
 (0)