Hi Casey, On Mon Jul 7, 2025 at 3:23 PM CEST, Casey Connolly wrote: > > > On 7/7/25 12:18, Luca Weiss wrote: >> Add the power domains exposed by RPMH in the Qualcomm Milos platform. > > \o/ codenames! > >> >> Signed-off-by: Luca Weiss <[email protected]> >> --- >> drivers/pmdomain/qcom/rpmhpd.c | 19 +++++++++++++++++++ >> 1 file changed, 19 insertions(+) >> >> diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c >> index >> 078323b85b5648e33dd89e08cf31bdc5ab76d553..e09552a469264f28952fc46c3ab8c125e87310da >> 100644 >> --- a/drivers/pmdomain/qcom/rpmhpd.c >> +++ b/drivers/pmdomain/qcom/rpmhpd.c >> @@ -217,6 +217,24 @@ static struct rpmhpd gmxc = { >> .res_name = "gmxc.lvl", >> }; >> >> +/* Milos RPMH powerdomains */ > > I can't find any public docs telling us which SoC is Milos (the only > relevant result is Bjorn's email asking you to use that name instead of > SM7635). So for the sake of future generations could you reference both > names in a comment somewhere? Or even the commit message would be enough > tbh.
I don't know the full list of model numbers for Milos. I assume it's SM7635, SM6650, SM6650P, QCM6690 and QCS6690 based on the info I could fine, but such info is hard to get. So this is not a definite list that all those are actually Milos, or that this is the full list of Milos chipsets. > Off-topic here, but maybe it would be a good idea to add some Qualcomm > platform docs to the kernel with a table of all the publicly known names > for each SoC? This would also be really helpful even ignoring codenames > just to know that SM8550 is Snapdragon 8 Gen 2 for example. So far my source for this has been the postmarketOS wiki, and this Google Doc, but the latter hasn't been updated for new chips since a year or so, and is also probably not very complete: https://docs.google.com/spreadsheets/d/1WrKHLj_oSoiykhSc6xqXAkT3nlD2hq-fzUPSGiq3Kbc/edit?gid=1270863184#gid=1270863184 And I've got some notes locally for a couple that I regularly need. But I'd love a more central place that isn't specific to postmarketOS for example. Not sure where though? Regards Luca > > Kind regards, > Casey (she/they) > >> +static struct rpmhpd *milos_rpmhpds[] = { >> + [RPMHPD_CX] = &cx, >> + [RPMHPD_CX_AO] = &cx_ao, >> + [RPMHPD_EBI] = &ebi, >> + [RPMHPD_GFX] = &gfx, >> + [RPMHPD_LCX] = &lcx, >> + [RPMHPD_LMX] = &lmx, >> + [RPMHPD_MSS] = &mss, >> + [RPMHPD_MX] = &mx, >> + [RPMHPD_MX_AO] = &mx_ao, >> +}; >> + >> +static const struct rpmhpd_desc milos_desc = { >> + .rpmhpds = milos_rpmhpds, >> + .num_pds = ARRAY_SIZE(milos_rpmhpds), >> +}; >> + >> /* SA8540P RPMH powerdomains */ >> static struct rpmhpd *sa8540p_rpmhpds[] = { >> [SC8280XP_CX] = &cx, >> @@ -723,6 +741,7 @@ static const struct rpmhpd_desc qcs615_desc = { >> }; >> >> static const struct of_device_id rpmhpd_match_table[] = { >> + { .compatible = "qcom,milos-rpmhpd", .data = &milos_desc }, >> { .compatible = "qcom,qcs615-rpmhpd", .data = &qcs615_desc }, >> { .compatible = "qcom,qcs8300-rpmhpd", .data = &qcs8300_desc }, >> { .compatible = "qcom,qdu1000-rpmhpd", .data = &qdu1000_desc }, >>

