Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/msm/dsi: Add configuration for 28nm PLL on family B

The 28nm PLL has a different iospace on MSM/APQ family B SoCs:
add a new configuration and use it when the DT reports the
"qcom,dsi-phy-28nm-hpm-fam-b" compatible.

Signed-off-by: AngeloGioacchino Del Regno <kholk11@gmail.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>

authored by

AngeloGioacchino Del Regno and committed by
Rob Clark
332d6084 1860f2a8

+21
+2
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
··· 483 483 #ifdef CONFIG_DRM_MSM_DSI_28NM_PHY 484 484 { .compatible = "qcom,dsi-phy-28nm-hpm", 485 485 .data = &dsi_phy_28nm_hpm_cfgs }, 486 + { .compatible = "qcom,dsi-phy-28nm-hpm-fam-b", 487 + .data = &dsi_phy_28nm_hpm_famb_cfgs }, 486 488 { .compatible = "qcom,dsi-phy-28nm-lp", 487 489 .data = &dsi_phy_28nm_lp_cfgs }, 488 490 #endif
+1
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
··· 40 40 }; 41 41 42 42 extern const struct msm_dsi_phy_cfg dsi_phy_28nm_hpm_cfgs; 43 + extern const struct msm_dsi_phy_cfg dsi_phy_28nm_hpm_famb_cfgs; 43 44 extern const struct msm_dsi_phy_cfg dsi_phy_28nm_lp_cfgs; 44 45 extern const struct msm_dsi_phy_cfg dsi_phy_20nm_cfgs; 45 46 extern const struct msm_dsi_phy_cfg dsi_phy_28nm_8960_cfgs;
+18
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
··· 168 168 .num_dsi_phy = 2, 169 169 }; 170 170 171 + const struct msm_dsi_phy_cfg dsi_phy_28nm_hpm_famb_cfgs = { 172 + .type = MSM_DSI_PHY_28NM_HPM, 173 + .src_pll_truthtable = { {true, true}, {false, true} }, 174 + .reg_cfg = { 175 + .num = 1, 176 + .regs = { 177 + {"vddio", 100000, 100}, 178 + }, 179 + }, 180 + .ops = { 181 + .enable = dsi_28nm_phy_enable, 182 + .disable = dsi_28nm_phy_disable, 183 + .init = msm_dsi_phy_init_common, 184 + }, 185 + .io_start = { 0x1a94400, 0x1a96400 }, 186 + .num_dsi_phy = 2, 187 + }; 188 + 171 189 const struct msm_dsi_phy_cfg dsi_phy_28nm_lp_cfgs = { 172 190 .type = MSM_DSI_PHY_28NM_LP, 173 191 .src_pll_truthtable = { {true, true}, {true, true} },