From: barnabas.czeman@mainlining.org
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Cc: Stephan Gerhold <stephan.gerhold@linaro.org>,
Bjorn Andersson <andersson@kernel.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Stephan Gerhold <stephan@gerhold.net>,
linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/8] remoteproc: qcom_q6v5_mss: Add MSM8917
Date: Mon, 29 Dec 2025 13:59:04 +0100 [thread overview]
Message-ID: <d3ee6ba3e66706c304ecfe6afc4b75f2@mainlining.org> (raw)
In-Reply-To: <eeda5a8b6f5a9dc5cf5440afc07c40fd@mainlining.org>
On 2025-12-29 13:51, barnabas.czeman@mainlining.org wrote:
> On 2025-12-29 13:40, Konrad Dybcio wrote:
>> On 12/29/25 1:33 PM, barnabas.czeman@mainlining.org wrote:
>>> On 2025-12-29 12:08, Stephan Gerhold wrote:
>>>> On Sun, Dec 28, 2025 at 03:21:54PM +0100, Barnabás Czémán wrote:
>>>>> Add support for MSM8917 MSS it is similar for MDM9607 MSS
>>>>> only difference is the mss power domain.
>>>>>
>>>>> Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
>>>>> ---
>>>>> drivers/remoteproc/qcom_q6v5_mss.c | 46
>>>>> ++++++++++++++++++++++++++++++++++++--
>>>>> 1 file changed, 44 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/remoteproc/qcom_q6v5_mss.c
>>>>> b/drivers/remoteproc/qcom_q6v5_mss.c
>>>>> index ffafbe501a05..2579558fb567 100644
>>>>> --- a/drivers/remoteproc/qcom_q6v5_mss.c
>>>>> +++ b/drivers/remoteproc/qcom_q6v5_mss.c
>>>>> @@ -259,6 +259,7 @@ enum {
>>>>> MSS_MSM8226,
>>>>> MSS_MSM8909,
>>>>> MSS_MSM8916,
>>>>> + MSS_MSM8917,
>>>>> MSS_MSM8926,
>>>>> MSS_MSM8953,
>>>>> MSS_MSM8974,
>>>>> @@ -749,13 +750,15 @@ static int q6v5proc_reset(struct q6v5 *qproc)
>>>>> goto pbl_wait;
>>>>> } else if (qproc->version == MSS_MDM9607 ||
>>>>> qproc->version == MSS_MSM8909 ||
>>>>> + qproc->version == MSS_MSM8917 ||
>>>>> qproc->version == MSS_MSM8953 ||
>>>>> qproc->version == MSS_MSM8996 ||
>>>>> qproc->version == MSS_MSM8998 ||
>>>>> qproc->version == MSS_SDM660) {
>>>>>
>>>>> /* Override the ACC value if required */
>>>>> - if (qproc->version == MSS_MDM9607)
>>>>> + if (qproc->version == MSS_MDM9607 ||
>>>>> + qproc->version == MSS_MSM8917)
>>>>> writel(QDSP6SS_ACC_OVERRIDE_VAL_9607,
>>>>> qproc->reg_base + QDSP6SS_STRAP_ACC);
>>>>> else if (qproc->version != MSS_MSM8909 &&
>>>>> @@ -817,6 +820,7 @@ static int q6v5proc_reset(struct q6v5 *qproc)
>>>>>
>>>>> /* Turn on L1, L2, ETB and JU memories 1 at a time */
>>>>> if (qproc->version == MSS_MDM9607 ||
>>>>> + qproc->version == MSS_MSM8917 ||
>>>>> qproc->version == MSS_MSM8953 ||
>>>>> qproc->version == MSS_MSM8996) {
>>>>> mem_pwr_ctl = QDSP6SS_MEM_PWR_CTL;
>>>>> @@ -826,7 +830,8 @@ static int q6v5proc_reset(struct q6v5 *qproc)
>>>>> * Set first 5 bits in reverse to avoid
>>>>> * "inrush current" issues.
>>>>> */
>>>>> - if (qproc->version == MSS_MDM9607)
>>>>> + if (qproc->version == MSS_MDM9607 ||
>>>>> + qproc->version == MSS_MSM8917)
>>>>> reverse = 6;
>>>>> } else {
>>>>> /* MSS_MSM8998, MSS_SDM660 */
>>>>> @@ -2538,6 +2543,42 @@ static const struct rproc_hexagon_res
>>>>> msm8916_mss = {
>>>>> .version = MSS_MSM8916,
>>>>> };
>>>>>
>>>>> +static const struct rproc_hexagon_res msm8917_mss = {
>>>>> + .hexagon_mba_image = "mba.mbn",
>>>>> + .proxy_supply = (struct qcom_mss_reg_res[]) {
>>>>> + {
>>>>> + .supply = "pll",
>>>>> + .uA = 100000,
>>>>> + },
>>>>> + {}
>>>>> + },
>>>>> + .proxy_clk_names = (char*[]){
>>>>> + "xo",
>>>>> + NULL
>>>>> + },
>>>>> + .active_clk_names = (char*[]){
>>>>> + "iface",
>>>>> + "bus",
>>>>> + "mem",
>>>>> + NULL
>>>>> + },
>>>>> + .proxy_pd_names = (char*[]) {
>>>>> + "cx",
>>>>> + "mx",
>>>>> + "mss",
>>>>
>>>> Are you sure mss/pm8937_s1 also works as a power domain? It seems to
>>>> be
>>>> a plain regulator downstream (similar to msm8226/msm8974).
>>>>
>>>> Same thing applies to MSM8953 as well though and there we seem to
>>>> have
>>>> decided to model it as a power domain ...
>>> They have this at downstream, i guess this is why handled as a power
>>> domain.
>>> vdd_mss-uV = <RPM_SMD_REGULATOR_LEVEL_TURBO>;
>>
>> It seems to be just a normal regulator on both 8917 and 8953
>>
>> https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/arch/arm/boot/dts/qcom/msm8953-regulator.dtsi
>> https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/arch/arm/boot/dts/qcom/msm8953.dtsi
>>
>> https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/arch/arm/boot/dts/qcom/msm8917-regulator.dtsi
>> https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/arch/arm/boot/dts/qcom/msm8917.dtsi
>>
>> Konrad
> It is different between 3.18 and 4.9, 3.18 seems simpler and easier to
> use it as regulator i will change it
> https://git.codelinaro.org/clo/la/kernel/msm-4.9/-/blob/LA.UM.10.6.2.c26-01500-89xx.0/arch/arm64/boot/dts/qcom/msm8917.dtsi#L1375
> https://git.codelinaro.org/clo/la/kernel/msm-3.18/-/blob/LA.UM.6.6.c32-05500-89xx.0/arch/arm/boot/dts/qcom/msm8917.dtsi#L1655
Only question is left what about SDM439 and SDM632? They were introduced
at 4.9 maybe that is why it was modified both are inheriting
MSS bindings from 8953 and 8937.
next prev parent reply other threads:[~2025-12-29 12:59 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-28 14:21 [PATCH 0/8] MDM9607/MSM8917/MSM8937/MSM8940 MSS Barnabás Czémán
2025-12-28 14:21 ` [PATCH 1/8] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add MDM9607 Barnabás Czémán
2025-12-29 10:58 ` Stephan Gerhold
2025-12-28 14:21 ` [PATCH 2/8] remoteproc: qcom_q6v5_mss: " Barnabás Czémán
2025-12-28 14:21 ` [PATCH 3/8] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add MSM8917 Barnabás Czémán
2025-12-28 14:21 ` [PATCH 4/8] remoteproc: qcom_q6v5_mss: " Barnabás Czémán
2025-12-29 11:08 ` Stephan Gerhold
2025-12-29 12:33 ` barnabas.czeman
2025-12-29 12:40 ` Konrad Dybcio
2025-12-29 12:51 ` barnabas.czeman
2025-12-29 12:59 ` barnabas.czeman [this message]
2025-12-29 13:07 ` Konrad Dybcio
2025-12-30 3:25 ` barnabas.czeman
2025-12-30 13:11 ` Konrad Dybcio
2025-12-30 15:28 ` barnabas.czeman
2025-12-30 19:50 ` Konrad Dybcio
2025-12-28 14:21 ` [PATCH 5/8] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add MSM8937 Barnabás Czémán
2025-12-28 14:21 ` [PATCH 6/8] remoteproc: qcom_q6v5_mss: " Barnabás Czémán
2025-12-29 11:13 ` Stephan Gerhold
2025-12-28 14:21 ` [PATCH 7/8] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add MSM8940 Barnabás Czémán
2025-12-28 14:21 ` [PATCH 8/8] remoteproc: qcom_q6v5_mss: " Barnabás Czémán
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d3ee6ba3e66706c304ecfe6afc4b75f2@mainlining.org \
--to=barnabas.czeman@mainlining.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=robh@kernel.org \
--cc=stephan.gerhold@linaro.org \
--cc=stephan@gerhold.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).