On MSM8953 MSS regulators is controlled using the voltages rather than performance levels. Correct DT definition and model the MSS as a regulator rather than a power domain
Signed-off-by: Barnabás Czémán <[email protected]> --- arch/arm64/boot/dts/qcom/msm8953.dtsi | 5 ++--- drivers/remoteproc/qcom_q6v5_mss.c | 9 ++++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi index 753167c3f861..c7dc08858d54 100644 --- a/arch/arm64/boot/dts/qcom/msm8953.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi @@ -1451,9 +1451,8 @@ mpss: remoteproc@4080000 { "handover", "stop-ack"; power-domains = <&rpmpd MSM8953_VDDCX>, - <&rpmpd MSM8953_VDDMX>, - <&rpmpd MSM8953_VDDMD>; - power-domain-names = "cx", "mx","mss"; + <&rpmpd MSM8953_VDDMX>; + power-domain-names = "cx", "mx"; clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index 2f71ed2feff6..8f6312213e1a 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -2728,6 +2728,14 @@ static const struct rproc_hexagon_res msm8953_mss = { }, {} }, + .active_supply = (struct qcom_mss_reg_res[]) { + { + .supply = "mss", + .uV = 1050000, + .uA = 100000, + }, + {} + }, .proxy_clk_names = (char*[]){ "xo", NULL @@ -2741,7 +2749,6 @@ static const struct rproc_hexagon_res msm8953_mss = { .proxy_pd_names = (char*[]) { "cx", "mx", - "mss", NULL }, .need_mem_protection = false, -- 2.56.0

