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

soc: qcom: rpmhpd: add sc8280xp & sa8540p rpmh power-domains

The Qualcomm sc8280xp platform has 13 and the sa8540p platform has 11
power-domains. Add compatibles, the typically used ones power-domains
and their relevant active-only variants, to the RPMh power-domain
driver.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20220426233508.1762345-4-bjorn.andersson@linaro.org

+53
+53
drivers/soc/qcom/rpmhpd.c
··· 180 180 .res_name = "mxc.lvl", 181 181 }; 182 182 183 + static struct rpmhpd nsp = { 184 + .pd = { .name = "nsp", }, 185 + .res_name = "nsp.lvl", 186 + }; 187 + 188 + static struct rpmhpd qphy = { 189 + .pd = { .name = "qphy", }, 190 + .res_name = "qphy.lvl", 191 + }; 192 + 193 + /* SA8540P RPMH powerdomains */ 194 + static struct rpmhpd *sa8540p_rpmhpds[] = { 195 + [SC8280XP_CX] = &cx, 196 + [SC8280XP_CX_AO] = &cx_ao, 197 + [SC8280XP_EBI] = &ebi, 198 + [SC8280XP_GFX] = &gfx, 199 + [SC8280XP_LCX] = &lcx, 200 + [SC8280XP_LMX] = &lmx, 201 + [SC8280XP_MMCX] = &mmcx, 202 + [SC8280XP_MMCX_AO] = &mmcx_ao, 203 + [SC8280XP_MX] = &mx, 204 + [SC8280XP_MX_AO] = &mx_ao, 205 + [SC8280XP_NSP] = &nsp, 206 + }; 207 + 208 + static const struct rpmhpd_desc sa8540p_desc = { 209 + .rpmhpds = sa8540p_rpmhpds, 210 + .num_pds = ARRAY_SIZE(sa8540p_rpmhpds), 211 + }; 212 + 183 213 /* SDM845 RPMH powerdomains */ 184 214 static struct rpmhpd *sdm845_rpmhpds[] = { 185 215 [SDM845_CX] = &cx_w_mx_parent, ··· 408 378 .num_pds = ARRAY_SIZE(sc8180x_rpmhpds), 409 379 }; 410 380 381 + /* SC8280xp RPMH powerdomains */ 382 + static struct rpmhpd *sc8280xp_rpmhpds[] = { 383 + [SC8280XP_CX] = &cx, 384 + [SC8280XP_CX_AO] = &cx_ao, 385 + [SC8280XP_EBI] = &ebi, 386 + [SC8280XP_GFX] = &gfx, 387 + [SC8280XP_LCX] = &lcx, 388 + [SC8280XP_LMX] = &lmx, 389 + [SC8280XP_MMCX] = &mmcx, 390 + [SC8280XP_MMCX_AO] = &mmcx_ao, 391 + [SC8280XP_MX] = &mx, 392 + [SC8280XP_MX_AO] = &mx_ao, 393 + [SC8280XP_NSP] = &nsp, 394 + [SC8280XP_QPHY] = &qphy, 395 + }; 396 + 397 + static const struct rpmhpd_desc sc8280xp_desc = { 398 + .rpmhpds = sc8280xp_rpmhpds, 399 + .num_pds = ARRAY_SIZE(sc8280xp_rpmhpds), 400 + }; 401 + 411 402 static const struct of_device_id rpmhpd_match_table[] = { 403 + { .compatible = "qcom,sa8540p-rpmhpd", .data = &sa8540p_desc }, 412 404 { .compatible = "qcom,sc7180-rpmhpd", .data = &sc7180_desc }, 413 405 { .compatible = "qcom,sc7280-rpmhpd", .data = &sc7280_desc }, 414 406 { .compatible = "qcom,sc8180x-rpmhpd", .data = &sc8180x_desc }, 407 + { .compatible = "qcom,sc8280xp-rpmhpd", .data = &sc8280xp_desc }, 415 408 { .compatible = "qcom,sdm845-rpmhpd", .data = &sdm845_desc }, 416 409 { .compatible = "qcom,sdx55-rpmhpd", .data = &sdx55_desc}, 417 410 { .compatible = "qcom,sdx65-rpmhpd", .data = &sdx65_desc},