From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4C323B6376 for ; Tue, 26 May 2026 07:57:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779782246; cv=none; b=r7uDR+Yof3bXMi4BDAGMXC10o9cIgnTrwa07pVh2qg5oFW9R+0+mZuqKvRzZRNZJxzmkptPbJp+1k4p+xYXW3CWXhFufKU7jmYrYB9dzucoRr0dp71LEkBTtw7i2MTK2/ArBjK0gmQpt+tYV4KXwcj00/pzBfrxyA/HQyJgUark= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779782246; c=relaxed/simple; bh=taI92lZX94r2aiRpHUjaq9t477WefzxpTE2yDGbdTWQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=OEH7o+jyMnemt0FIbslz6gyxe4Y+WRI65F8HPLmMhXArr6gCNZfOObKTCD1gMDncRahqnOFQtM5OnqG+MfrflwrqVra6mkxC1MQW97AMdT4glhhi7eOocqFcZ5gMCQpduwcMl1YWH92W0cPiylW+gDnjC7CFtSTjOfEESkl7QSk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=XY+lPHoI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VW0Jr/Mh; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="XY+lPHoI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VW0Jr/Mh" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64Q7a2ij691683 for ; Tue, 26 May 2026 07:57:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Fq7M7jSV3ibv9kCZCo9XSqfI/a3Xnorju71AEARJQ0g=; b=XY+lPHoIh7v1gE3Y ZV+5s0dylNrNLlwoGblYVefuJlqxN5CjvhuVxhJKb23sGgs1IQrER8EWkv/utw+v BH548I7+Ht5bYKmAmktQo76REhadu7TS1Tm5s3dwDecwcEqzTJIE51ndjQYcvRfL RLxqklTjduTXGxN3+47WAZWetIBtxlXiunEl4lN9iItXF9WhFI1alAmZDazbuGKF Adl/XYmqxV/QAT3hwU+p89y1Pjt0hOwYwfFrb9Y/A1Nr2CWktqMJUSHkn+8ssOf9 uWxvJLs4cKS077f3gaZ6fw2aP1vMYzpIhoMNEKAZhBnTHPLwj7tLxqiq6a9ntRRn ewz5Vw== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecpy2k0x4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 07:57:23 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2ba5f794825so81358295ad.0 for ; Tue, 26 May 2026 00:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779782242; x=1780387042; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Fq7M7jSV3ibv9kCZCo9XSqfI/a3Xnorju71AEARJQ0g=; b=VW0Jr/MhQcdBhZVVAhfNj3IGGDB08oc3N9Heu6egiHNp+iQ0+Sk+OvBDZYrQ87O9Tp qdD0RN7IOxRzyXRMD746J3Fiyj42Is38mdOi1N2fyXSIVOZ3RkBr5fU3tfSsyuDTlIMP jKfJV5XH6B/x6Gs12ovXlp1U6GZZ6WJBUaP690Yh2x3IB6jLac65WgHqWyw7SuyPAQFY vj4h6Ym8wVB1iNgBLIY3E7iN/Qb9rBp5Fl/p0Y9ddMBgsTq4teH8/kFm6DIOXE9tTGws ssM9/x0LShde0jhKIyq7Ai2nyMuzwSsmu6TJ9+yO7hnZDp14u9rMvfxsauGDXH4YV0MM gpsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779782242; x=1780387042; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Fq7M7jSV3ibv9kCZCo9XSqfI/a3Xnorju71AEARJQ0g=; b=auG2AiSDz8dRWPjzzo2VfYdITGuGgH+4TQMWFBdmdSvqBZMqQrOQBav6HWG9IgpaE0 L3JOu6j3NR0ruPs5O5JjUBrXjh/Dd0WQJOpm2G2aNSG0lhTylbtFWMVZv9+nTcsXMNO6 0VjanGI6Q2wKJ1OP9US+6NBcYBDQJe9IrwNQn1QR+8P+PkK/7ql1WwdsXD8hhO8+NAcQ T/BtgEHHbog2amDqwCeo76jR9wI4vCj2ZvlJ0oTYuSTr3YjNw+MdUyrlxzoci8z5IPT4 vSWXHDPBI8c6yoYVM9rabrgqj1sXEpSLmgSzg3QN8RmwKUk1KuiLuvn7Ux37ppa3hVH1 mG4w== X-Forwarded-Encrypted: i=1; AFNElJ8BgkbCKpVn9wM23H8F1hcmQDyrzqhLlWg8hyCL/+d6YKDB8uFUFuIQ9rQMn5B7wx87zrQ7ES0kxA5/2Yk=@vger.kernel.org X-Gm-Message-State: AOJu0YzkewiS6QBVYHLj1HvAvaSvjaGsGMFsE300EQrI3x/+nMDlTB6c eD3rL8B42iMoes69gXfyYBBbSv59GbunaUNz0te+IdaMgPCHJFXdxHHeHM0rb8P7qALcx2tUGOK DY3JTi0N+vMDLnIuYY4YzG0sl1XDiqiXUuVri704L4s9mwQw21bHaL/tkPcvyMPnoY6c= X-Gm-Gg: Acq92OGRxm6odM+bBUtMUmaEZE9yEJLGEVJPHaxh5ojDrhBnIVPWjaIW59xkd/t2azF sP1jDN+Lsc32WSK75341n1eYg7fmGVwZ9pQA7tsqVG//oGQncm5HQXfAFBinWmC/fvxJVG3WGzS kEcu8RId44mJ3qLLqtXeoWgs+jf3ySj1FPQbzoNl3GEzebMBHnOyHyh2c6eeHPHgrNqTOJozsZJ g3gOqefSPM37W5yn7JXBrP/fpeKA99FXUVan3cdp/llTSM+qh/G52pGBWIS6s75BVRk5AVEOWZn XrtpD+4d/ueIvm8R462OeeLGEylWuZJl44dJhrpIAYLWW0BPy9NM9aXGPDZO2+hJKuxe4YeHqsk my79PGh1lv/U6Fd6i+TwekxW5e3ekkxfcLdgJ2KlOBQ3RkyB89XjAsyA7PmA= X-Received: by 2002:a17:903:2bcc:b0:2b2:5099:2f3e with SMTP id d9443c01a7336-2beb06ea859mr185518435ad.4.1779782242034; Tue, 26 May 2026 00:57:22 -0700 (PDT) X-Received: by 2002:a17:903:2bcc:b0:2b2:5099:2f3e with SMTP id d9443c01a7336-2beb06ea859mr185517995ad.4.1779782241417; Tue, 26 May 2026 00:57:21 -0700 (PDT) Received: from [10.151.36.45] ([202.46.23.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb58c31a3sm117564955ad.55.2026.05.26.00.57.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 May 2026 00:57:20 -0700 (PDT) Message-ID: <3cbcffee-a2d1-494d-b4d4-378c2ae395e6@oss.qualcomm.com> Date: Tue, 26 May 2026 13:27:16 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/2] dt-bindings: soc: qcom: Document CDSP Power Management To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Liam Girdwood , Mark Brown , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260520-cdsp-power-v1-0-85eb9501a1cd@oss.qualcomm.com> <20260520-cdsp-power-v1-1-85eb9501a1cd@oss.qualcomm.com> Content-Language: en-US From: Vignesh Viswanathan In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-GUID: Umz2fCpLKCATOFuapoSpwgt1HX8WMbsB X-Authority-Analysis: v=2.4 cv=ML5QXsZl c=1 sm=1 tr=0 ts=6a155264 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=j4ogTh8yFefVWWEFDRgCtg==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=UWntCAtc-LHixlmDmXQA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-ORIG-GUID: Umz2fCpLKCATOFuapoSpwgt1HX8WMbsB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDA2OCBTYWx0ZWRfX9ys5boLXFklL ZlD9O33Q4SMpxxQIAOUc4z4uOBXP7/Hk06hVlcoCxwqzOMEgOxJ9fd/xQlDVS5LuH3MM94/eDVf KEZYIzlFmbPAwaynxK8bUnuK4Ww96fiCQJPCr4HImgC5vRuoFQXzrMAYCkxdxA52T8vdAQ+yTX8 geeICdlyDBOB7Q+2gV9ZKrau9WHmZrScexfn1Farkz3LdX+9Ipwx3jUbLk3Xo5uIIOF8Ropc5Hl QH7tFKGeA1VVS9nldlqfwFUcq/LPJCm4iTH3TsxIErrP1KFQH4Bz8G8hhX9kjotK1npHU582kJV WyRNEcVZ0Bg8Ey1HnG3qidDGtMaznWysK3a+/ArL+4iZTtDnDEJBzMOwLKkEEsqOnSb4hP8vnKn m4f+oMdrCw0XBbitdjqGdKgGm96BXoS2wc4PZDDRlInnnjBcBM8NA+YU7qfQzlAqqkeBXMmThYH NzNwNlH6CvEQKm06WlA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-26_01,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 phishscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260068 On 5/22/2026 4:59 AM, Bjorn Andersson wrote: > On Wed, May 20, 2026 at 12:35:09AM +0530, Vignesh Viswanathan wrote: >> Add documentation for the CDSP Power Management driver, which handles > > Your commit message should not describe an action, it should describe > the problem you're solving. > >> Dynamic Clock and Voltage Scaling (DCVS) requests via SMEM, manages Low >> Power Mode (LPM) transitions via MPM handshake, and provides virtual >> regulators for the remoteproc driver to control CDSP power rails. >> > > You have a node describing the CDSP (remoteproc) already, but it doesn't > contain all the properties, so you're going to add this sibling node. > > Why don't you describe the remoteproc properly instead? Sure, will address in next version. > >> Signed-off-by: Vignesh Viswanathan >> --- >> .../bindings/soc/qcom/qcom,cdsp-power.yaml | 138 +++++++++++++++++++++ >> 1 file changed, 138 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,cdsp-power.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,cdsp-power.yaml >> new file mode 100644 >> index 000000000000..f0f89fdeba4e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,cdsp-power.yaml >> @@ -0,0 +1,138 @@ >> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/soc/qcom/qcom,cdsp-power.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm CDSP Power Management >> + >> +maintainers: >> + - Vignesh Viswanathan >> + >> +description: >> + The CDSP Power Management driver provides power management services for the >> + Qualcomm Compute DSP (CDSP) subsystem. It handles Dynamic Clock and Voltage >> + Scaling (DCVS) requests via SMEM, manages Low Power Mode (LPM) transitions >> + via MPM handshake, and provides virtual regulators that are consumed by the >> + CDSP remoteproc driver. >> + >> +properties: >> + compatible: >> + const: qcom,cdsp-power >> + >> + reg: >> + items: >> + - description: MPM (Modem Power Manager) register region >> + - description: RSCC (RSC Configuration) register region >> + >> + reg-names: >> + items: >> + - const: mpm >> + - const: rscc >> + >> + interrupts-extended: >> + items: >> + - description: LPM (Low Power Mode) interrupt from MPM >> + - description: DCVS (Dynamic Clock and Voltage Scaling) interrupt from IPCC >> + >> + interrupt-names: >> + items: >> + - const: lpm >> + - const: dcvs >> + >> + mboxes: >> + maxItems: 1 >> + description: IPCC mailbox channel for sending DCVS responses to CDSP >> + >> + qcom,smem-item: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + SMEM item ID used for DCVS communication channel between APSS and CDSP. >> + This is a platform-specific value that identifies the shared memory region. >> + >> + vdd-cx-supply: >> + description: >> + Phandle to the CX voltage regulator. This is the actual hardware regulator >> + (e.g., from MP8899 PMIC) that supplies power to the CDSP CX rail. > > This isn't the CX supply of the power management block, this is the CX > supply of the remoteproc - so put it there. Ack. > >> + >> + vdd-mx-supply: >> + description: >> + Phandle to the MX voltage regulator. This is the actual hardware regulator >> + (e.g., from MP8899 PMIC) that supplies power to the CDSP MX rail. Optional >> + on boards where MX rail is always-on or not present. >> + >> + regulators: >> + type: object >> + description: >> + Virtual regulators provided by this driver for consumption by the CDSP >> + remoteproc driver. These virtual regulators pass through enable/disable >> + requests to the actual hardware regulators (vdd-cx-supply, vdd-mx-supply). > > These regulators doesn't exist in reality, they are only here because > you choose to split the description of your remoteproc implementation in > two. Yes, this is because the actual regulator can be controlled by two independent entities, the standard PAS driver and this CDSP driver when CDSP requests via the SMEM channel. This entire design is implemented because IPQ9650 does not have AOSS and CDSP cannot control the regulator supplies, or the MPM power sequences. So CDSP has a channel over SMEM to request the APSS to control the regulators or the power sequences, and remoteproc driver also does regulator enable/disable. As you suggested in the driver's review, will try to squash these into a new remoteproc driver and post the next version. > >> + >> + properties: >> + cdsp-vdd-cx: >> + type: object >> + $ref: /schemas/regulator/regulator.yaml# >> + description: Virtual CX regulator for CDSP >> + unevaluatedProperties: false >> + >> + cdsp-vdd-mx: >> + type: object >> + $ref: /schemas/regulator/regulator.yaml# >> + description: Virtual MX regulator for CDSP >> + unevaluatedProperties: false >> + >> + additionalProperties: false >> + >> +required: >> + - compatible >> + - reg >> + - reg-names >> + - interrupts-extended >> + - interrupt-names >> + - mboxes >> + - qcom,smem-item >> + - vdd-cx-supply >> + - regulators >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include >> + #include >> + #include >> + >> + soc { >> + #address-cells = <2>; >> + #size-cells = <2>; > > It's just an example, when you write bindings drop the 0x0 from base and > size in your reg and this need goes away. Ack. > >> + >> + cdsp_power: cdsp-power@4ae000 { >> + compatible = "qcom,cdsp-power"; >> + reg = <0x0 0x004ae000 0x0 0x1000>, > > For when you do this properly, please confirm that this is a dedicated > MPM register region and does not alias with any other nodes. Yes, this region is dedicated to CDSP MPM. > >> + <0x0 0x26018018 0x0 0x4>; > > No, we don't point reg = <> at a single register. Ack, will address this. > >> + reg-names = "mpm", "rscc"; >> + >> + interrupts-extended = <&intc GIC_SPI 65 IRQ_TYPE_EDGE_RISING 0>, > > 0? GIC interrupt-controller node has interrupt-cells as 4 in IPQ9650. > >> + <&ipcc IPCC_CLIENT_CDSP >> + IPCC_MPROC_SIGNAL_PING >> + IRQ_TYPE_EDGE_RISING>; >> + interrupt-names = "lpm", "dcvs"; >> + >> + mboxes = <&ipcc IPCC_CLIENT_CDSP IPCC_MPROC_SIGNAL_PING>; >> + >> + qcom,smem-item = <503>; > > Isn't this static for the given remoteproc? Yes, it is static, will move this within the driver. Thanks, Vignesh > > Regards, > Bjorn > >> + >> + vdd-cx-supply = <&ipq9650_s2>; >> + vdd-mx-supply = <&ipq9650_s4>; >> + >> + regulators { >> + cdsp_vdd_cx: cdsp-vdd-cx { >> + regulator-name = "cdsp-vdd-cx"; >> + }; >> + >> + cdsp_vdd_mx: cdsp-vdd-mx { >> + regulator-name = "cdsp-vdd-mx"; >> + }; >> + }; >> + }; >> + }; >> >> -- >> 2.43.0 >>