From patchwork Sun Jan 26 20:57:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950894 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FBBC14B087; Sun, 26 Jan 2025 21:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925504; cv=none; b=PLtmgNoZ7SQlhoDbprzuTQfxYe63077MH+X/jDs7Dqa3SYy5c2Epzg3MVN5SkrByLHHuvpGWqMpX8SNoOAep8l5SRyQq+9Hqf05WkgSsZggTpx+X4RBCRhGOvEGXWNq0Rz2466Uc0KhPVZevrwZ+WfGrI44BKm/AwzyTPttz2rQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925504; c=relaxed/simple; bh=QB88oSJ58nRPGoid2GbZhWXQ2ne3fe4hsSh0Mxb8+xI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=G5ZrPDaorEFjTo6Ma0DyxNAU5E0qiXaTMgTE4laYGEqO+W2qgt7eqruCw8HSo+kDyAmbJia57wUq7OdJP/4a/zY5MWjKt/W50ScSdLsKuB/6ZueUzLaoM4To6m5r2AJh3qVRpQ4OFKp7nP2Ip/CxgSo9NUWvnlikEBQPo0smo4U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=SepZqt0j; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="SepZqt0j" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925053; bh=QB88oSJ58nRPGoid2GbZhWXQ2ne3fe4hsSh0Mxb8+xI=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=SepZqt0jcyhIfoBvpyEK3EFImKnLJE+zbiz3nKUGguO0wpiOyDnNPF6BU4gXTEctC lJ3NDaN9yuPPnBhuytVCADIQNIVCL3wbWSnqm0jzHHluP8uHr7hKsrHHIrc9UhYu8T JXyU2ATwOMKuyto38iC7cPOjEY5pdFYM94H02Uus= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:20 +0100 Subject: [PATCH v2 1/9] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Support platforms with one power domain Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-1-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2648; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=+qI2c+ts+CJCqtBSLS6UHzkQMS7qXUiAtLuXbwfyhJE=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG0XJNwfawPFgepX92UoGVxbG5+/ZAPAlELx bIXUxuf9H2JAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahtAAKCRBy2EO4nU3X VsdvEACRBzCEhRjKAaUiLEozFJrhcQw/9oHB8Q4net2dgILfAo08QSfmOZpXYRYo2/TqrLIjk3Z LHiyJYPCMP7UOAnv8gzfeRjofjn6nDRuMs0aEfVUc4Q1xp5+7908gHt6qEF/padd02PYXHTZ1h+ okXdfyabDQZWL9A+6vQh2sDM1HhgmzSZYf8kX8Np7NJCuhznI6WukrZRO699cI/T9XF5YwgX/PW z10gtPNECzbx36RoNhJGHPq3gF2kJDxvkmzLSsQq/NKymRE9BZWzUs5ZV0hxjWRHCh4xxs76Uj9 YogCFkbT/LeifSJStXc5+uoVglr4LqVSsJLJf7MXZ25JEZlLQk6o/8h+es9FTdude/bBpoe+JFP n+hsjkZLTw6Uh1psTbSFrLm7+yXVjA7AWsRKox3TfxJlIg3MtDDPlrk8itp2iqGWOaXcBCvY++U 6EZI5bJRYPuB37VGPigqIBJ0qUS5GSpyBrxb8/xWLeE8MWumfmIeRnOgzInaxSOaxDP0SHDlMRs /5ihUvs+DEJjLOu5v4lmm2e5c5JXaeuAwOtorIjDwRzKwsatxGtyCmjFwL7U25uwomB55DgmCHn LXVUmrJGpaOiAs+ZNO6kEpkN0BPKNRtEzY/7ptsz/MrO0IcTYr4lXy0kqR4RFDq31uBhmFLGo68 FBYynAoigr//zkQ== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD From: Matti Lehtimäki Add support for platforms such as MSM8974 which have the mx voltage rail exposed as regulator and only cx voltage rail as power domain. Signed-off-by: Matti Lehtimäki Signed-off-by: Luca Weiss Reviewed-by: Krzysztof Kozlowski --- New patch in v2 split from previous first patch - Improve description of changes - Add one power domain changes to existing MSM8974 - Add missing minItems to other platforms - Require mx-supply for MSM8974 --- .../bindings/remoteproc/qcom,msm8916-mss-pil.yaml | 34 +++++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml index 588b010b2a9e53946a615219fc1468bc700deef8..c81364daa34b545e99261bf1f94ae2ad28d48ea7 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml @@ -70,16 +70,17 @@ properties: items: - description: CX proxy power domain (control handed over after startup) - description: MX proxy power domain (control handed over after startup) + (not valid for qcom,msm8974-mss-pil) - description: MSS proxy power domain (control handed over after startup) (only valid for qcom,msm8953-mss-pil) - minItems: 2 + minItems: 1 power-domain-names: items: - const: cx - - const: mx + - const: mx # not valid for qcom,msm8974-mss-pil - const: mss # only valid for qcom,msm8953-mss-pil - minItems: 2 + minItems: 1 pll-supply: description: PLL proxy supply (control handed over after startup) @@ -207,13 +208,38 @@ allOf: required: - power-domains - power-domain-names - else: + + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8909-mss-pil + - qcom,msm8916-mss-pil + then: properties: power-domains: + minItems: 2 maxItems: 2 power-domain-names: + minItems: 2 maxItems: 2 + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8974-mss-pil + then: + properties: + power-domains: + maxItems: 1 + power-domain-names: + maxItems: 1 + required: + - mx-supply + - if: properties: compatible: From patchwork Sun Jan 26 20:57:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950895 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FB6614B075; Sun, 26 Jan 2025 21:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925505; cv=none; b=XkNLWZ3VykT5c3+8A0HCmHtYjfawIyxVP+6MzGw0L+aiQ92gVRiWrMdUO2k2qOEREIwGp0wxN5dz7Uk4W+OxFIcLYIBmd/RnwX0COikGCxuxHwSwIXV0EwRWVqvNIQb1xcNTetzg/F5Cw7mdw2TXwFhfJ+qx9VtmnaZ9JNG041M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925505; c=relaxed/simple; bh=ZuzWCAT96c9XTzfHZ39aa8pD/zW38hpUy9fGIHqHdvM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J2kTCsnsuBRwb6ow0DIrMmH8uO+AvkY6sj638TKbkXMYpuz95aXhaDFepIa5MsFPtjRcDaOY2iertk30iW9gBebK23+7HSIUJ+Q0LUG4GLz9d6woS3MNM6yokjZC2EUyBHt8ADchaC5lJzu+wx59ye6mh8yfaXKn/s7C0dGzKIM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=l/UhuiKz; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="l/UhuiKz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925053; bh=ZuzWCAT96c9XTzfHZ39aa8pD/zW38hpUy9fGIHqHdvM=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=l/UhuiKz9SO1SGcun7kv+tOKE6NsiZyAjAsDhqce6UJKWd9hjp5hpSWLgtYYV+wGF Eaf3cFOBjgB+zrpS+OAX/EiEsAdn6ydB83dUqj9KVkwtgXfl+dycQhaRNsLtm6OvGn SriNlIQL7g3PnBvf3D9X/+W9Bm/2amfU5gc5zNSY= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:21 +0100 Subject: [PATCH v2 2/9] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add MSM8226 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-2-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3121; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=EpEIW0oYCx/oeVDL1c/DNdH9mSKbVyuj0lLP/6OnNxw=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG1xiKxbXzRrOQtZsr/H2BHgSPhVunFnkE+d Q8bv7zaueGJAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahtQAKCRBy2EO4nU3X VmqSD/4xc5Z/rYEO6ZjW4ql46n/1ZcS81ok8s7TYwtnCSArW+otS8fVJP8K0jUR+M/mOXOxjzAZ vv8bd6RGTOzA4Bz6Zp3fcjLuCD+AP0/nwfjylN5myL1SezI/6k6XNUT/ZnTEU877Jji9IP81T+M IIwWYGzm/CCXSQLhDWhKqz/ICoEn09xIBSwB3ZXT/kQItOoHKuqAOZV7Ea+uMwqQ2/iASIvno4W dIjItnZYCnSmELyXG7Me+rRQZLspP8NrqDzbPypvlAltb0J8ZI+EpCAVDPk82d/GYn0sZtpLlgn KoKU124ff4VpFoAEh/8K6quS0tjiz5haLLOPms8GI/P2ImB/RvJnoH533AKoEtDMyN0YDoVfHL0 NxDbhcnn6qBedrJKYZyJKBhB86kPIJwfDMRO6a6vhNKMBswNc7jamigunl/OBP4H7G1FT9sd2Vl S1zOIbM60WRDuHlqCk4Qjm56N9YHMzqw2m7sf7YQCEYv3/AQgFlzC8rhJHZNtnij9QkAloHOxB7 yiYXahOJRTnkf73xA2OH0qn8neYPAPut+VbAmOiYPCcOamWtKtcSxZY0Hzec0OH88tl12F9mP3F XY4cWaW7vaLq+/4P2pEQAuBDs6lMDbP3zyTAemRgv0IrKsT+ukP3c2lI0xRFVvENtmdDQi6WZuR EO0Qa0Q4ceMyGZQ== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD From: Matti Lehtimäki Add support for external power block headswitch (BHS) registers. Similarly to MSM8974 also MSM8226 has the mx voltage rail exposed as regulator and only cx voltage rail as power domain. Signed-off-by: Matti Lehtimäki Signed-off-by: Luca Weiss Reviewed-by: Krzysztof Kozlowski --- Changes in v2: - Improve description of changes - Require mx-supply for MSM8226 - Disallow qcom,ext-bhs-reg for other platforms --- .../bindings/remoteproc/qcom,msm8916-mss-pil.yaml | 26 ++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml index c81364daa34b545e99261bf1f94ae2ad28d48ea7..0a3e39c55ec3dcfc9a4d4ac28f5debd77dc49b99 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml @@ -17,6 +17,7 @@ properties: compatible: oneOf: - enum: + - qcom,msm8226-mss-pil - qcom,msm8909-mss-pil - qcom,msm8916-mss-pil - qcom,msm8953-mss-pil @@ -70,7 +71,7 @@ properties: items: - description: CX proxy power domain (control handed over after startup) - description: MX proxy power domain (control handed over after startup) - (not valid for qcom,msm8974-mss-pil) + (not valid for qcom,msm8226-mss-pil or qcom,msm8974-mss-pil) - description: MSS proxy power domain (control handed over after startup) (only valid for qcom,msm8953-mss-pil) minItems: 1 @@ -78,7 +79,7 @@ properties: power-domain-names: items: - const: cx - - const: mx # not valid for qcom,msm8974-mss-pil + - const: mx # not valid for qcom,msm8226-mss-pil or qcom,msm8974-mss-pil - const: mss # only valid for qcom,msm8953-mss-pil minItems: 1 @@ -107,6 +108,15 @@ properties: items: - const: stop + qcom,ext-bhs-reg: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: External power block headswitch (BHS) register + (only valid for qcom,msm8226-mss-pil) + items: + - items: + - description: phandle to external BHS syscon region + - description: offset to the external BHS register + qcom,halt-regs: $ref: /schemas/types.yaml#/definitions/phandle-array description: @@ -230,6 +240,7 @@ allOf: compatible: contains: enum: + - qcom,msm8226-mss-pil - qcom,msm8974-mss-pil then: properties: @@ -240,6 +251,17 @@ allOf: required: - mx-supply + - if: + properties: + compatible: + const: qcom,msm8226-mss-pil + then: + required: + - qcom,ext-bhs-reg + else: + properties: + qcom,ext-bhs-reg: false + - if: properties: compatible: From patchwork Sun Jan 26 20:57:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950896 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5961C156F3C; Sun, 26 Jan 2025 21:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925505; cv=none; b=N0gmuM1lm73rvrAiypuNx2j9rBQDkRkwZCRi2CeaaUaQiU8npCdsSvNYAqpmsfOn91YoJTf+JK0rBR15p838GHOdlcj+zbAgtmYE9Qp6WNnoBU0yXCZtW5yqeceoMz6NW+B8bm8KMitNLxd2J78lLBsceP9AvDOTW4WpKNliIEc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925505; c=relaxed/simple; bh=35jT1gY9WoG3GTktEbhEhnbkGf1JpRCR4+f5ruZr+ZE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iM+7KZHQXrfU4qlhwWGR4StPLmy6C9+aEHRLui3YHFrr6wZSmGLZlAXW+6qCh+rRaaiLp3QE3v4URaavll8VBkge3uUtIIYEvfD2b58VaiZWtkAqvTZnyenRvwJ3OO5fg7qvoiJE4cW1WhUv/JdW+AtUx1UwJE7SPgAi5dSzA8U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=ob+qo0WM; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="ob+qo0WM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925053; bh=35jT1gY9WoG3GTktEbhEhnbkGf1JpRCR4+f5ruZr+ZE=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=ob+qo0WMlAkIK7cYNkQz2LVrd2k9shaK8q+p7Tz+P7YeJAvN5G62N24l7dFGNYLDH LS0BrMlXNY17MRnY4tzTAC+BYCpzkPAWnCXjMwSZh67kY8xVkx+rHxdYGYZ+3U12AX yzmP144T7PDiDd042IEEqjJGh7hEpvCvwKKTrsXo= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:22 +0100 Subject: [PATCH v2 3/9] remoteproc: qcom_q6v5_mss: Handle platforms with one power domain Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-3-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2157; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=35jT1gY9WoG3GTktEbhEhnbkGf1JpRCR4+f5ruZr+ZE=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG2FVrNrus763G7T8flNROko4SlkuMnALsaZ A2BpkLMP1mJAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahtgAKCRBy2EO4nU3X VtReD/4hHKyEJMF9iZVUkX7FJ4eGjEZmlOVxkFL1kaM2ioh84M3YNA7LsRcAVnfdqjz8/qFNMec 7BsJbiJrGG3sVBdVEA31Ld4BFjXkpg+qEaBOJyXSIONfzAsKEUWBi21+/3uAh8dr7XBIi61ySVl g2q24BWV8+Nkdo1XsueT86dp9tvb1SuFxRf7aVXRCCEL3TY/rqqMkvaFFkKIfy8qTQgHuwLGn2u gbjTmv2IXmYLjc+asDoezv6o+i+ggt0l0sxtD7FM0Ts60AFfkj3+yOVxhakGkequCCymZayaNIZ tlTREAg0cifHpDvi9yyBLhG2gsJxTgZWAdiEzVNZ0/OVxAfGOfHPdYDXxohc2iV50wPElHRuJe3 1wNte49EFqee7/bKl8z5Vy+zqUEF8oq7Fnay3FBIgroHEN8XCNwAZGq4CsCdmt5VoonW4J931tn M/Ki9cbRbFOgkh6pO0OzR9b+CoAYJXDS0ZXkJ9b9ljYeOU/1gyHaRg3M4yHkhhJpocJuNMbS1BM 4hpPOwJPmYROF+bcGXDstpKosovKKzykncE+XvtJk8iRw9u3gUYxQ6uILZC1ZJDhsly1gODQW5J He7pePt8swRQvnSJSVkc0vB8kViRIRTrHY8DFy3pcQWVBJp7mKdfFpQ3KkdjCoRnGSFgYzG50Ht nbAwR+tewY25TpA== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD For example MSM8974 has mx voltage rail exposed as regulator and only cx voltage rail is exposed as power domain. This power domain (cx) is attached internally in power domain and cannot be attached in this driver. Fixes: 8750cf392394 ("remoteproc: qcom_q6v5_mss: Allow replacing regulators with power domains") Co-developed-by: Matti Lehtimäki Signed-off-by: Matti Lehtimäki Signed-off-by: Luca Weiss --- Changes in v2: - Move MSM8974 mx-supply from "fallback_proxy_supply" to "proxy_supply" to match updated DT schema - Add fixes tag --- drivers/remoteproc/qcom_q6v5_mss.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index e78bd986dc3f256effce4470222c0a5faeea86ec..e2523b01febf393abfe50740a68b85a04011293c 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -1828,6 +1828,13 @@ static int q6v5_pds_attach(struct device *dev, struct device **devs, if (!pd_names) return 0; + /* Handle single power domain */ + if (dev->pm_domain) { + devs[0] = dev; + pm_runtime_enable(dev); + return 1; + } + while (pd_names[num_pds]) num_pds++; @@ -1851,8 +1858,15 @@ static int q6v5_pds_attach(struct device *dev, struct device **devs, static void q6v5_pds_detach(struct q6v5 *qproc, struct device **pds, size_t pd_count) { + struct device *dev = qproc->dev; int i; + /* Handle single power domain */ + if (dev->pm_domain && pd_count) { + pm_runtime_disable(dev); + return; + } + for (i = 0; i < pd_count; i++) dev_pm_domain_detach(pds[i], false); } @@ -2449,13 +2463,13 @@ static const struct rproc_hexagon_res msm8974_mss = { .supply = "pll", .uA = 100000, }, - {} - }, - .fallback_proxy_supply = (struct qcom_mss_reg_res[]) { { .supply = "mx", .uV = 1050000, }, + {} + }, + .fallback_proxy_supply = (struct qcom_mss_reg_res[]) { { .supply = "cx", .uA = 100000, From patchwork Sun Jan 26 20:57:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950893 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56E1C152532; Sun, 26 Jan 2025 21:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925504; cv=none; b=i8be4cCCFzjQRV3+ExUDHrie74Cdcas1QP8aVNngRGN1ktOjLWhzN8PVXIjsUOa350ZIkQq1RV3RMj/m0gim5IFX0KdyWhNvzc804h1dgYFQBYoT2JwomXZQwdeVox31U8APo1W2mTBb9ydLZuh7tXFXH/MJyYLoUDsWddzoGl0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925504; c=relaxed/simple; bh=EKZLVSYJUJwITmT0OcUJHXzHATFNUUoHTPQUVY+lkig=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LaecUOzRd1YHH4HwZ+/xb/W3VzhUryYpdSTXtcr3DXWu5fh3HaReI7RAbwCOXv7d7D9l3cMY+NvILf3TBEfmc4pdUn5VNFKJvUytP0mMlw006oBALNiNqFZrgcZfYomesdQFR6ZbgTqztn2eHx4YxDUOfBHb6O5R2YV+i2wu2DU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=s2x2RJBV; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="s2x2RJBV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925054; bh=EKZLVSYJUJwITmT0OcUJHXzHATFNUUoHTPQUVY+lkig=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=s2x2RJBVSrPI6xYX6ub+/djc756S5viseqq5I78nCaKKKRRiey76fJUo7ntMo+GT7 fGdocLiedgJ17Es42z98dyZUWY7VA9YNs3NwtqchXgWaNWbXJw1/ptW/K2K3sgi+6F VO+AeWA4yz4DwQeGXGBMtBdwJ2tfClZuigbPcbus= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:23 +0100 Subject: [PATCH v2 4/9] remoteproc: qcom_q6v5_mss: Add modem support on MSM8226 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-4-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=8382; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=EKZLVSYJUJwITmT0OcUJHXzHATFNUUoHTPQUVY+lkig=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG3QP3cmh1/yMQme3zXc6zeGCp86KLe0yffv 2HS6hZi9ZOJAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahtwAKCRBy2EO4nU3X VofxEADKhlBkCj+adEPeUZUVT6YAqSadPswXPZ9Pz5aN6F05J77n0akkQl+HbxLxfWmo+ukzkt+ gmRh8jefJ7eyGXo0TGzLiklSfMB0bUlTVhgDzXj3o798K+l4mqlQvi311MivVBcfCuj/oRCYYzS 11Wk5iKQUZNR4rQQThe+czBDHJ6ZyEszr1e5zsToJKNj06EZpXJ2svtIUnf+5RmD8xtjdtMf2Zw 9YDxwqrWNzQSK2thVXEAU8I6FLYiLZLfNjwk33i6NtqBwDYA8HvXlHQZGA4kHLrFmG3cpP2EDrv FOIi9OK4SIRrFh+ebprz3LHvfVO/E4YMOhB/mD0lfBtQHK2rx1b60h3QAXk0l7XKZ+C+kadkS8o bnw5cCCYB3G7xJJkvV3xPQIyIGqQOd37vYQnuxRqKSZYGVmnxc638T9y8GW2MzujuGPNW/vbaJt cziGjHk1Mpi9uVXpO+Rd+0HvHKcoyaBc66oPppK8ebKVbMNjpFtfWZogbIxTeHif3CcD/tJYJCM QRY5i9XsaHdztJriQeNe6ldXaCwJEryvoJbiUrh0hWedQ27PW8oC8FSw5vyEJ5D012E2YyHc5XW kSZJhPBzQZSPf+g2jRy4WlNsDZ09JjkVgAMXFd/la3y+qBvvY4wuir2A5GrIqH2t3mhrBhH2sQw FmwTW4+gTM0yl8g== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD Add support for the external power block headswitch register needed by MSM8226 and some other qcom platforms. Co-developed-by: Matti Lehtimäki Signed-off-by: Matti Lehtimäki Signed-off-by: Luca Weiss --- Changes in v2: - Remove cx-supply from MSM8226 "fallback_proxy_supply" because it's always used as power domain --- drivers/remoteproc/qcom_q6v5_mss.c | 117 +++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index e2523b01febf393abfe50740a68b85a04011293c..ef85c9843a12acb0e4e9ee6167c34d4981d4dc8a 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -134,6 +134,11 @@ #define BOOT_FSM_TIMEOUT 10000 #define BHS_CHECK_MAX_LOOPS 200 +/* External power block headswitch */ +#define EXTERNAL_BHS_ON BIT(0) +#define EXTERNAL_BHS_STATUS BIT(4) +#define EXTERNAL_BHS_TIMEOUT_US 50 + struct reg_info { struct regulator *reg; int uV; @@ -161,6 +166,7 @@ struct rproc_hexagon_res { bool has_mba_logs; bool has_spare_reg; bool has_qaccept_regs; + bool has_ext_bhs_reg; bool has_ext_cntl_regs; bool has_vq6; }; @@ -180,6 +186,7 @@ struct q6v5 { u32 halt_nc; u32 halt_vq6; u32 conn_box; + u32 ext_bhs; u32 qaccept_mdm; u32 qaccept_cx; @@ -237,6 +244,7 @@ struct q6v5 { bool has_mba_logs; bool has_spare_reg; bool has_qaccept_regs; + bool has_ext_bhs_reg; bool has_ext_cntl_regs; bool has_vq6; u64 mpss_perm; @@ -246,6 +254,7 @@ struct q6v5 { }; enum { + MSS_MSM8226, MSS_MSM8909, MSS_MSM8916, MSS_MSM8953, @@ -1750,6 +1759,23 @@ static int q6v5_init_mem(struct q6v5 *qproc, struct platform_device *pdev) qproc->qaccept_axi = args.args[2]; } + if (qproc->has_ext_bhs_reg) { + ret = of_parse_phandle_with_fixed_args(pdev->dev.of_node, + "qcom,ext-bhs-reg", + 1, 0, &args); + if (ret < 0) { + dev_err(&pdev->dev, "failed to parse ext-bhs-reg index 0\n"); + return -EINVAL; + } + + qproc->conn_map = syscon_node_to_regmap(args.np); + of_node_put(args.np); + if (IS_ERR(qproc->conn_map)) + return PTR_ERR(qproc->conn_map); + + qproc->ext_bhs = args.args[0]; + } + if (qproc->has_ext_cntl_regs) { ret = of_parse_phandle_with_fixed_args(pdev->dev.of_node, "qcom,ext-regs", @@ -1871,6 +1897,36 @@ static void q6v5_pds_detach(struct q6v5 *qproc, struct device **pds, dev_pm_domain_detach(pds[i], false); } +static int q6v5_external_bhs_enable(struct q6v5 *qproc) +{ + u32 val; + int ret = 0; + + /* + * Enable external power block headswitch and wait for it to + * stabilize + */ + regmap_update_bits(qproc->conn_map, qproc->ext_bhs, + EXTERNAL_BHS_ON, 1); + + ret = regmap_read_poll_timeout(qproc->conn_map, qproc->ext_bhs, + val, val & EXTERNAL_BHS_STATUS, + 1, EXTERNAL_BHS_TIMEOUT_US); + + if (ret) { + dev_err(qproc->dev, "External BHS timed out\n"); + ret = -ETIMEDOUT; + } + + return ret; +} + +static void q6v5_external_bhs_disable(struct q6v5 *qproc) +{ + regmap_update_bits(qproc->conn_map, qproc->ext_bhs, + EXTERNAL_BHS_ON, 0); +} + static int q6v5_init_reset(struct q6v5 *qproc) { qproc->mss_restart = devm_reset_control_get_exclusive(qproc->dev, @@ -2021,6 +2077,7 @@ static int q6v5_probe(struct platform_device *pdev) platform_set_drvdata(pdev, qproc); qproc->has_qaccept_regs = desc->has_qaccept_regs; + qproc->has_ext_bhs_reg = desc->has_ext_bhs_reg; qproc->has_ext_cntl_regs = desc->has_ext_cntl_regs; qproc->has_vq6 = desc->has_vq6; qproc->has_spare_reg = desc->has_spare_reg; @@ -2079,6 +2136,14 @@ static int q6v5_probe(struct platform_device *pdev) qproc->proxy_pd_count = ret; } + if (qproc->has_ext_bhs_reg) { + ret = q6v5_external_bhs_enable(qproc); + if (ret < 0) { + dev_err(&pdev->dev, "Failed to enable external BHS.\n"); + goto detach_proxy_pds; + } + } + qproc->has_alt_reset = desc->has_alt_reset; ret = q6v5_init_reset(qproc); if (ret) @@ -2143,6 +2208,9 @@ static void q6v5_remove(struct platform_device *pdev) qcom_remove_smd_subdev(rproc, &qproc->smd_subdev); qcom_remove_glink_subdev(rproc, &qproc->glink_subdev); + if (qproc->has_ext_bhs_reg) + q6v5_external_bhs_disable(qproc); + q6v5_pds_detach(qproc, qproc->proxy_pds, qproc->proxy_pd_count); } @@ -2174,6 +2242,7 @@ static const struct rproc_hexagon_res sc7180_mss = { .has_mba_logs = true, .has_spare_reg = true, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_SC7180, @@ -2202,6 +2271,7 @@ static const struct rproc_hexagon_res sc7280_mss = { .has_mba_logs = true, .has_spare_reg = false, .has_qaccept_regs = true, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = true, .has_vq6 = true, .version = MSS_SC7280, @@ -2233,6 +2303,7 @@ static const struct rproc_hexagon_res sdm660_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_SDM660, @@ -2268,6 +2339,7 @@ static const struct rproc_hexagon_res sdm845_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_SDM845, @@ -2299,6 +2371,7 @@ static const struct rproc_hexagon_res msm8998_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_MSM8998, @@ -2337,6 +2410,7 @@ static const struct rproc_hexagon_res msm8996_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_MSM8996, @@ -2371,6 +2445,7 @@ static const struct rproc_hexagon_res msm8909_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_MSM8909, @@ -2416,6 +2491,7 @@ static const struct rproc_hexagon_res msm8916_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_MSM8916, @@ -2451,6 +2527,7 @@ static const struct rproc_hexagon_res msm8953_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_MSM8953, @@ -2504,13 +2581,53 @@ static const struct rproc_hexagon_res msm8974_mss = { .has_mba_logs = false, .has_spare_reg = false, .has_qaccept_regs = false, + .has_ext_bhs_reg = false, .has_ext_cntl_regs = false, .has_vq6 = false, .version = MSS_MSM8974, }; +static const struct rproc_hexagon_res msm8226_mss = { + .hexagon_mba_image = "mba.b00", + .proxy_supply = (struct qcom_mss_reg_res[]) { + { + .supply = "pll", + .uA = 100000, + }, + { + .supply = "mx", + .uV = 1050000, + }, + {} + }, + .proxy_clk_names = (char*[]){ + "xo", + NULL + }, + .active_clk_names = (char*[]){ + "iface", + "bus", + "mem", + NULL + }, + .proxy_pd_names = (char*[]){ + "cx", + NULL + }, + .need_mem_protection = false, + .has_alt_reset = false, + .has_mba_logs = false, + .has_spare_reg = false, + .has_qaccept_regs = false, + .has_ext_bhs_reg = true, + .has_ext_cntl_regs = false, + .has_vq6 = false, + .version = MSS_MSM8226, +}; + static const struct of_device_id q6v5_of_match[] = { { .compatible = "qcom,q6v5-pil", .data = &msm8916_mss}, + { .compatible = "qcom,msm8226-mss-pil", .data = &msm8226_mss}, { .compatible = "qcom,msm8909-mss-pil", .data = &msm8909_mss}, { .compatible = "qcom,msm8916-mss-pil", .data = &msm8916_mss}, { .compatible = "qcom,msm8953-mss-pil", .data = &msm8953_mss}, From patchwork Sun Jan 26 20:57:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950885 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A62575672; Sun, 26 Jan 2025 20:57:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925065; cv=none; b=Ho0lk0eW9NDn0tMWSlnSwUP1GtPHJGooQbQYP5xkvJy+2bX/JECdSPE4DYfiaqhBNBf7GUhJYN4wFRGNClzqCzrB01er4jvzLnH0bORDL2iaxl2AonmHJgzlvRtlkhSXMmxt/sbOSXKegiK0wbsjTiARAgA6yKjTjkrTvipGTJI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925065; c=relaxed/simple; bh=asbDMQ42SDs4b1srxiQIMMXY9QcxxqIiu1L0P2FyiPc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jIGWMvBFxEf7cXHARB1Ilre2tVIjaWck/j14ptjN3fqRU3NjrXoj+cMh6L4N0aBjgBjUlbdzIRJyE7Tj1QBU/FWZSlb5LDk8dUq6yHJSzDrbOERAYUTrlCmL9mKG0XVqu8bHg9dVwlSgNHIlkVYP4PemLYHbyE3yhRTL2AyCOR8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=ZnhvVbg7; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="ZnhvVbg7" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925054; bh=asbDMQ42SDs4b1srxiQIMMXY9QcxxqIiu1L0P2FyiPc=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=ZnhvVbg7incZNegJmcuX0IdV7Qmj/FD542qYDf9KbDMJaHrIlqfIdKaKY4OYIBuOX EcJEr8rKK2b7MX19X67vUJ0A0A3E5xEEUCkYygzvJB0n4zlsXSdT9/x74vLVrU3GCl 0u/+6h2lphTJojyz69NcLPRDOgnG50NGN0ODsHww= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:24 +0100 Subject: [PATCH v2 5/9] ARM: dts: qcom: msm8226: Add node for TCSR halt regs Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-5-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=916; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=eB48oZipWmKlZ7VBf2h0qGYYC/OPKdoJotfz6BVVjs0=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG4kLtRx0Ez+mInLNBZInNTG7x5FsvcObxYk uffmJmvo/WJAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahuAAKCRBy2EO4nU3X VowID/9Ljv8+MUuUrynldZtmINRn10JpoXtEyzULpEKYlk+aYJ22o0w8TsLIFam36op4mrTfQgJ ddR1PaWB050MU/DKONFNb2HGRiwkP8N/2/ZLIn4flXcKEEGE/DdIPfKBtGQTMvgGGaONpu7Ze6i 0Gj7SX41CWTd0mqIDzOAxnU0XO889IdaOa6jnhRJzPZ4glEZVvT3y6dGFIqCq3E22V4VAg8rFEx hafQU50BMbQdIOjY+1x0O6XDAjsSHcpxULOyqGk/G69wrMdia/kvKmcQjRRh+HgfJ0JZ2ljgbbY Upr8LRVuZjrpUg2vePFxzClOF/a9oDO60gLS8T3p/dmUJQgzfWV/99nC0GYTicp7c3lE5gBoWXm CRfWN0XfgBdslx3x05TZ/wj640JlhwzgcAeMkhrxF9MJqFQEYheoOVXDdM1euYHIHhEc2n8yvQV B1HjDMombyO32rrsrwPbkVj84xUrdKiIPszg/X3hK4xd12UipmB9/08L2wbZTpKMPgTgwvltE5J 5Urtsy9xo6k6WYQjaoYVVMZv6SbmqBaosNt8hqx/4ATu9M42OwkabhRDZwAKh+WZWoLr6BqQRbu X6hxwdlSWkFH6ZIG2GHZV2Zn5t3J7ANroCO8QAQlvKND9QKgkTs6G0aj7/btnwNl5NQOUm+fM8E lWIw2MrfFS0kbSg== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD From: Matti Lehtimäki Add a syscon device node for the TCSR halt regs needed by modem and other remoteprocs. Signed-off-by: Matti Lehtimäki Signed-off-by: Luca Weiss Reviewed-by: Konrad Dybcio --- arch/arm/boot/dts/qcom/qcom-msm8226.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi index 64c8ac94f352e46dc4a18f902d2c30114ecd91d2..caaeeadf289f78d29403312738bbb714eaad74d2 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi @@ -851,6 +851,11 @@ tcsr_mutex: hwlock@fd484000 { #hwlock-cells = <1>; }; + tcsr_regs_1: syscon@fd485000 { + compatible = "qcom,tcsr-msm8226", "syscon"; + reg = <0xfd485000 0x1000>; + }; + tlmm: pinctrl@fd510000 { compatible = "qcom,msm8226-pinctrl"; reg = <0xfd510000 0x4000>; From patchwork Sun Jan 26 20:57:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950882 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A62A5152532; Sun, 26 Jan 2025 20:57:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925064; cv=none; b=FZvBIbScKd8kXGsI+Vk/5PO0JQZdvtwcLp2cGB4o4jRyzdZLNKzI7TLSRk87j2QLqVBOdIv8lguJoSuYWHgba+kvflBPVr6Z5Fo6U+MUGhK6+h6BQOjkUSfOrS3dLnOBhAMM8gXCswAV7/va/HUnHpKnfHi4D50YVEsPzMyvDxk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925064; c=relaxed/simple; bh=j7879PuyHYg2Ywl1rW/OqZXKKALM0KAOmN7JVaFFJCo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WPGd4owLFLedz+QvdHAf+Q5wYnBV/H0kpFSPHiWCbNZgVstBr5oKSKv3MVqM6Kx1C+BdirtewOVksorHfSx/x+Gd5oOdQRhRjJZ6Wzh9j7t9WFw5cdQZS4cfrWV0GBMc2JSn1UnF46HhYMNtxJG3k46gAGLiRwargzSaqQOjeGs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=1Cl4cwA4; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="1Cl4cwA4" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925054; bh=j7879PuyHYg2Ywl1rW/OqZXKKALM0KAOmN7JVaFFJCo=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=1Cl4cwA4FjEjCKO/cCAraXXiau4lX9ClNBrUzOF1eu+YU6E6oVmlGXb74BBe/Nv+b TKn3ngKwSc20LyALYcuxdBvuXilA/dikCNH6Sg3QuS2yzXjdXT86WeKMYb63IAfKXV IFT+BJFUvP3MYt4xdmvgR/+kftcmwROqrfhbNHm8= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:25 +0100 Subject: [PATCH v2 6/9] ARM: dts: qcom: msm8226: Add smsm node Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-6-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1486; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=jTBk8OT0/wnmRBAf2FFY5Bw2UG5DbUKF8KdM2H91kYE=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG5DUq7qDFxTAGFN6Qt3jknUSEE1+2hX2Ofe uJAbYGOYdCJAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahuQAKCRBy2EO4nU3X VpsoD/9GdtKdRuIZ5w3Wllocx78ejPUM1OBjr2+jSEjhi3UXMV3mB5BTRSnrCpeHPbr+fUOzImT q32FD7OjbK4+ZRDo5/UU30ShH6y+WdVJOAO6YE0V/JuDOAm5w9oMSzEI3+Vs+CYnfPKjr9KjSW0 uBpJDgEDER8JHreXqd32XjtNF8UFmk3yrDX594DRsor9PY+m2PMqG1RA902rGy7bhy5mLCpXLsj EsoAU0KKbQm73xktKQ381fTl0kMVbbrZ3oICCBgSlo2NUpWhVjwvL1DdL6/TvgL8dqxNe0dqcjp aFGLUHIQKWuflpYjwqmOjLi1pnRXQkPRrwRoYEfIRKQaKaHybX/gt3E67OBHy1t5ZD6ZXeOn1OF nY+sST+5Gj+xddTvCFUzaWKiHfXhU/rvGOPnAbdPcGczwUmMRd+db6MFWTXnu8HPcp9YCsYkSCc 9HBKgjf6hIWdhmkN/QbnM36R4pHgf96+p1HZbIOVc655pwDJo/9otD7T2Tv7cToTJJFvp9B37Qs vnF04/TfDhrWgGnd/oJ+2Rh7HM84Xtdan8bR+8l+CRiWW2JTpv9HK1TFgltcSDKk46Dbgyq9kmu KRUZQs9HJjRP1vhUy2WNOF+lXAENSWZOBWLmcTppPbNoCbuOTjfIxI/UK08ya4vbBGtnU/10+QH UuF433SXEpoU2SA== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD From: Matti Lehtimäki Add smsm node for remoteproc cores. Signed-off-by: Matti Lehtimäki Co-developed-by: Luca Weiss Signed-off-by: Luca Weiss Reviewed-by: Stephan Gerhold --- arch/arm/boot/dts/qcom/qcom-msm8226.dtsi | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi index caaeeadf289f78d29403312738bbb714eaad74d2..7e0838af6c2d0dc26e0082471b70578bc627491d 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi @@ -253,6 +253,40 @@ adsp_smp2p_in: slave-kernel { }; }; + smsm { + compatible = "qcom,smsm"; + #address-cells = <1>; + #size-cells = <0>; + + mboxes = <0>, <&apcs 13>, <&apcs 9>, <&apcs 19>; + + apps_smsm: apps@0 { + reg = <0>; + #qcom,smem-state-cells = <1>; + }; + + modem_smsm: modem@1 { + reg = <1>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + }; + + adsp_smsm: adsp@2 { + reg = <2>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + }; + + wcnss_smsm: wcnss@7 { + reg = <7>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + }; + }; + soc: soc { compatible = "simple-bus"; #address-cells = <1>; From patchwork Sun Jan 26 20:57:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950884 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56BB0156F57; Sun, 26 Jan 2025 20:57:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925065; cv=none; b=gWcmCGRQSIzVHeLbKZqNGWTsmtVDlfxoUCO1GhkY+/rkwFhh1Eub0RLyDYQ02jVuSeFUocD5LDy2s5SdBEtZNcBvcQh4VCCy8tYrEd5M1IMuHnfl49hbduhC+Zk/aNyaCV8sZE/+i+1FonxyxLJjIgInhTQMFR85i48jKAS6Pyg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925065; c=relaxed/simple; bh=M0dUnoMnrf5979PCxwB+SvhWyJ0Vfgi4cFH+JrpLM0I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gPUwM3K4L4FeIGmaL4YN4OvWidKftglTq3K3/4vz5Sg/6mhbUePXq+AAeeHpXpKegLZdB46hLwgNer65jXNx3D8fRW8d5tq8xkEQgm6dxXxQEXzzkcF0GZL4Zkb0MlKyVWUATMHAJaeTZmqw5hVYVIYorUgY6GCmSAqjeqB59lI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=0V6L9y/K; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="0V6L9y/K" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925054; bh=M0dUnoMnrf5979PCxwB+SvhWyJ0Vfgi4cFH+JrpLM0I=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=0V6L9y/KkmGcV33zvxF2WjG379CPropOXBe/Bzv3bhFVIXfvjziUrFPPnY37UURIX tBZ/VELqKG2S6xqdK63jBpryyYNqjV3LI3KwNol8p3Pk8NKgIBLzdhZ8HlSdpMQIJw rvjKYfmPb6fe3RdNmuFgDw4A0lo6CndyTzFydLNQ= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:26 +0100 Subject: [PATCH v2 7/9] ARM: dts: qcom: msm8226: Add modem remoteproc node Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-7-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7892; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=M0dUnoMnrf5979PCxwB+SvhWyJ0Vfgi4cFH+JrpLM0I=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG6xyJBCFP1oumhbJlQ5bovWXy6osh/d7VtY MVdyf8k582JAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahugAKCRBy2EO4nU3X VlT7EADHKoys8tPsosihH8ShUr+veii4QD6S6B9nUjjrVjnXdMezr1bcJeK2lSlEkjKZVUiS7/b pqqXUpRg/u+wRUyjjeoB7G6jYLlHYV7n9mqCMCS5FwgcexutRJnqCAzai4J6BLmoxHGdtppBZln ZrtRDkg4vKOL1788zd1VZDEiO3iJ6a24O3+6XNbs0PzVnWj/3PXMXaLXoXWRL5tYa+iquMd4io8 Sh3Eub24quvjdTzlu6NFSmf4oqwoGlHDXVl4JOMUUtvpZsMI9MwYhd20vJG8lTrOfgCGAZ6OmTR 1rLpgQ4WIKmKKGLRvcrtpMLJhBdjMuFBQ99sVm/4Vbc6bgdWOWAbkFBYgIqMPWyCIONnmgDcAiz hYM9EXbd6we9Zw45vQgs4d2JPEPgoadkU/vM26x/QasaA7+PpYKRrkw1/mn30lFGffrCl0cAUQM vrfgWcKoXgQOkhSOqonF1xDmyWVLT0wsIAwL1MyVRHCrNZwZLxdDkf/5QNrhShAATCzonc4HfKl Kg/8EdS2bSShEMQGOj9y0klbi12DfTiS6+roulmthmQsEv7zlbcBoFE87DuuohBPf19CpvwnLiL 6sK/j2xQMuwqDxNKVuYgHnzDnTNLS0OgQqPDR5DAE4Ywo63JUnDPxaLClCZ50BJDdIgh2dM9xm+ eGoUBhg1PYxc0Hg== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD Add a node for the modem remoteproc found on MSM8226. For the apq8026 smartwatches, delete the modem reserved-memory again since they have very little RAM in the first place anyways, and all of these devices don't have functional modem firmware anyways - these watches don't even have GPS. Co-developed-by: Matti Lehtimäki Signed-off-by: Matti Lehtimäki Signed-off-by: Luca Weiss --- .../boot/dts/qcom/qcom-apq8026-asus-sparrow.dts | 7 ++ .../boot/dts/qcom/qcom-apq8026-huawei-sturgeon.dts | 7 ++ arch/arm/boot/dts/qcom/qcom-apq8026-lg-lenok.dts | 7 ++ .../dts/qcom/qcom-apq8026-samsung-milletwifi.dts | 2 + .../qcom/qcom-msm8226-samsung-matisse-common.dtsi | 6 +- arch/arm/boot/dts/qcom/qcom-msm8226.dtsi | 80 ++++++++++++++++++++++ arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts | 2 + 7 files changed, 109 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/qcom/qcom-apq8026-asus-sparrow.dts b/arch/arm/boot/dts/qcom/qcom-apq8026-asus-sparrow.dts index a2ca456012f1a070afc2805ae71ddbf6f5aac607..816b61ea504ee80d86dd4ccd1a15db687f6a91ff 100644 --- a/arch/arm/boot/dts/qcom/qcom-apq8026-asus-sparrow.dts +++ b/arch/arm/boot/dts/qcom/qcom-apq8026-asus-sparrow.dts @@ -9,6 +9,8 @@ #include "pm8226.dtsi" /delete-node/ &adsp_region; +/delete-node/ &mba_region; +/delete-node/ &mpss_region; / { model = "ASUS ZenWatch 2"; @@ -82,6 +84,11 @@ bluetooth { }; }; +/* No (useful) modem on this device */ +&modem { + /delete-property/ memory-region; +}; + &pm8226_vib { status = "okay"; }; diff --git a/arch/arm/boot/dts/qcom/qcom-apq8026-huawei-sturgeon.dts b/arch/arm/boot/dts/qcom/qcom-apq8026-huawei-sturgeon.dts index ac228965a48559cd0e54671b1b80773a34595d1e..06c4dca6c9ea2da4ef0be877d25830c172757fa2 100644 --- a/arch/arm/boot/dts/qcom/qcom-apq8026-huawei-sturgeon.dts +++ b/arch/arm/boot/dts/qcom/qcom-apq8026-huawei-sturgeon.dts @@ -10,6 +10,8 @@ #include /delete-node/ &adsp_region; +/delete-node/ &mba_region; +/delete-node/ &mpss_region; / { model = "Huawei Watch"; @@ -141,6 +143,11 @@ bluetooth { }; }; +/* No (useful) modem on this device */ +&modem { + /delete-property/ memory-region; +}; + &rpm_requests { regulators { compatible = "qcom,rpm-pm8226-regulators"; diff --git a/arch/arm/boot/dts/qcom/qcom-apq8026-lg-lenok.dts b/arch/arm/boot/dts/qcom/qcom-apq8026-lg-lenok.dts index a70de21bf139bd3f67d9e848f75cac20839335fb..1c3e2d2cd54979d4859196c7003d9543971e53bc 100644 --- a/arch/arm/boot/dts/qcom/qcom-apq8026-lg-lenok.dts +++ b/arch/arm/boot/dts/qcom/qcom-apq8026-lg-lenok.dts @@ -10,6 +10,8 @@ #include /delete-node/ &adsp_region; +/delete-node/ &mba_region; +/delete-node/ &mpss_region; / { model = "LG G Watch R"; @@ -149,6 +151,11 @@ bluetooth { }; }; +/* No (useful) modem on this device */ +&modem { + /delete-property/ memory-region; +}; + &rpm_requests { regulators { compatible = "qcom,rpm-pm8226-regulators"; diff --git a/arch/arm/boot/dts/qcom/qcom-apq8026-samsung-milletwifi.dts b/arch/arm/boot/dts/qcom/qcom-apq8026-samsung-milletwifi.dts index 7d519156d91d156d801c477711751aba66cc3224..a8543ca7b5569549418683b6be320784eba1768c 100644 --- a/arch/arm/boot/dts/qcom/qcom-apq8026-samsung-milletwifi.dts +++ b/arch/arm/boot/dts/qcom/qcom-apq8026-samsung-milletwifi.dts @@ -12,6 +12,8 @@ #include "pm8226.dtsi" /delete-node/ &adsp_region; +/delete-node/ &mba_region; +/delete-node/ &mpss_region; /delete-node/ &smem_region; / { diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi index a15a44fc0181bf23e7531ecdc8978505ca48189d..fbd568c7d6b7415d240aa1a2329d07cf9135274c 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi @@ -8,6 +8,8 @@ #include "pm8226.dtsi" /delete-node/ &adsp_region; +/delete-node/ &mba_region; +/delete-node/ &mpss_region; /delete-node/ &smem_region; / { @@ -145,12 +147,12 @@ framebuffer@3200000 { no-map; }; - mpss@8400000 { + mpss_region: mpss@8400000 { reg = <0x08400000 0x1f00000>; no-map; }; - mba@a300000 { + mba_region: mba@a300000 { reg = <0x0a300000 0x100000>; no-map; }; diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi index 7e0838af6c2d0dc26e0082471b70578bc627491d..f7f57c3f583557830c0a6dc9f0eebc2ddebbbe3c 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi @@ -213,6 +213,16 @@ smem_region: smem@3000000 { no-map; }; + mpss_region: mpss@8000000 { + reg = <0x08000000 0x5100000>; + no-map; + }; + + mba_region: mba@d100000 { + reg = <0x0d100000 0x100000>; + no-map; + }; + adsp_region: adsp@dc00000 { reg = <0x0dc00000 0x1900000>; no-map; @@ -253,6 +263,31 @@ adsp_smp2p_in: slave-kernel { }; }; + smp2p-modem { + compatible = "qcom,smp2p"; + qcom,smem = <435>, <428>; + + interrupt-parent = <&intc>; + interrupts = ; + + mboxes = <&apcs 14>; + + qcom,local-pid = <0>; + qcom,remote-pid = <1>; + + modem_smp2p_out: master-kernel { + qcom,entry-name = "master-kernel"; + #qcom,smem-state-cells = <1>; + }; + + modem_smp2p_in: slave-kernel { + qcom,entry-name = "slave-kernel"; + + interrupt-controller; + #interrupt-cells = <2>; + }; + }; + smsm { compatible = "qcom,smsm"; #address-cells = <1>; @@ -879,6 +914,51 @@ spmi_bus: spmi@fc4cf000 { #interrupt-cells = <4>; }; + modem: remoteproc@fc880000 { + compatible = "qcom,msm8226-mss-pil"; + reg = <0xfc880000 0x100>, + <0xfc820000 0x020>; + reg-names = "qdsp6", "rmb"; + + interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; + + clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, + <&gcc GCC_MSS_CFG_AHB_CLK>, + <&gcc GCC_BOOT_ROM_AHB_CLK>, + <&xo_board>; + clock-names = "iface", "bus", "mem", "xo"; + + resets = <&gcc GCC_MSS_RESTART>; + reset-names = "mss_restart"; + + power-domains = <&rpmpd MSM8226_VDDCX>; + power-domain-names = "cx"; + + qcom,ext-bhs-reg = <&tcsr_regs_1 0x194>; + qcom,halt-regs = <&tcsr_regs_1 0x180 0x200 0x280>; + + qcom,smem-states = <&modem_smp2p_out 0>; + qcom,smem-state-names = "stop"; + + memory-region = <&mba_region>, <&mpss_region>; + + status = "disabled"; + + smd-edge { + interrupts = ; + + mboxes = <&apcs 12>; + qcom,smd-edge = <0>; + + label = "modem"; + }; + }; + tcsr_mutex: hwlock@fd484000 { compatible = "qcom,msm8226-tcsr-mutex", "qcom,tcsr-mutex"; reg = <0xfd484000 0x1000>; diff --git a/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts b/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts index 3037344eb24055071cc77c9cfce0f1d0f95de921..18396623a91dd4bf4b66f01c1d983c391722f3b5 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts +++ b/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts @@ -9,6 +9,8 @@ #include "pm8226.dtsi" /delete-node/ &adsp_region; +/delete-node/ &mba_region; +/delete-node/ &mpss_region; /delete-node/ &smem_region; / { From patchwork Sun Jan 26 20:57:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950883 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56C00157A5A; Sun, 26 Jan 2025 20:57:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925064; cv=none; b=t4RK7v4vXC3Vvh7Wq+7JQpImZlOpvCZHwGvXeNh3Ze/WiPElHFJWrO8lNT3y/dpqpCWHgmPX8XToBuqtrNsUEY22cS2cSoYt32FzPkBn4dSQ86Okc0fWHEXwwRYitWgnrnNscXQNFYdn68Z3a5Bfp7yuTyFmcHHc2fBYOI64Tts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925064; c=relaxed/simple; bh=waof2bb86V3ehXDWnkiTnDsneWiVuCdsHRRExFo3JxM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PY2PHawfE71UR20mHeLbp5Inui+oRljsz64PAd5OlxifVFWzhvli9LM1pzA1R2ByxN/nm3kSh7wJBhU7kbaoWnhAFOhMGJBMtNGi2QmtDELAFL9d2q0rWU7kBRq2EA7PRJUW23tpG/jxk2OX5Hm3l0g4DyjC1B41tXwSAOkiuxQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=5bIM+BGi; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="5bIM+BGi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925055; bh=waof2bb86V3ehXDWnkiTnDsneWiVuCdsHRRExFo3JxM=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=5bIM+BGiX3aCcikq3m1WO8pmS1fRe1bAdKdEC0MSkyFkrWEly3u8fE6mzjhfYHMAw XJs0weIL0bLk/YnSKU4ogE8sRvrbPbQTubvt1lGKretxnApASRNuQOjUl4/5T1HNJJ QRPc3FOQbuZ9Yv2mLTXT9i6ZsTYkBoDgVGrvYfbc= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:27 +0100 Subject: [PATCH v2 8/9] ARM: dts: qcom: msm8226: Add BAM DMUX Ethernet/IP device Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-8-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1592; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=waof2bb86V3ehXDWnkiTnDsneWiVuCdsHRRExFo3JxM=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG78E13Qa8+1zNAHIOwtTjL9h7MNRFQnFQYv dwPMKydoV+JAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahuwAKCRBy2EO4nU3X VpLhEAC/Ft52QYTcNdntWbQRFt559/Qihw8oUMi9fbSr2zP2a3YzOGfeW9+yPZqLSjdEoWE2dJK sXCMZUfHaYsYyTLPNIJTNkWQLfLQsyJQbcscSz9WKFo/24qTJjBsZ6ghYfv/z/9fdJU4BBWAy6y jZhr95wMqhrXtcM19NZemA7a5QjInvydA3k6YRhqNkHIAq6M24Coed/cWnaY1O34uE9Ja1tf75i eeJ3b+6bf5dRHXVy4B+a2Un2IJB8tVL8YsACCk+8U+x4oS2lvtkWYFurFxScRvTtX61a5VnQr3q g7OnFT0ixT62eD39+d3lyYKxazodctZbkp/r/Ah4oxd4HwxO+kUyVLKe+MDB5PKeU8GHgzrf+e/ 051TTE4COK6orJnbcXY1+T8zvHEpkU4a9hM0vzAH3GEQ+mvoOz/GVtvh7AOgF9y/NwxkjLA673w v8P1fAgfzMzS4aMctAXlU3lJRcZds+dn8fyjSza1emkbqnnUWbWMA65bDKayLg7juw2hKrhLTfx uOU3uNea23Bus2hdHFh8UG/m2rE6zbEPanBgdbIdfsjJAfj46GmxZi0f3LRIcNC0mUu5uYRB647 Vf7wPVtP8reh4H1qv/xbjgKL6kZrprQMtQ/CZ5J9Zeejm1VDHbov9QMnbhVmffBfxkdOWl9DizN lWp0u7BMpEcRaRw== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD BAM DMUX is used as the network interface to the modem. Signed-off-by: Luca Weiss Reviewed-by: Stephan Gerhold --- arch/arm/boot/dts/qcom/qcom-msm8226.dtsi | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi index f7f57c3f583557830c0a6dc9f0eebc2ddebbbe3c..5e82d871b81019d2f4f84d1228e8e9278ac44be3 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi @@ -914,6 +914,18 @@ spmi_bus: spmi@fc4cf000 { #interrupt-cells = <4>; }; + bam_dmux_dma: dma-controller@fc834000 { + compatible = "qcom,bam-v1.4.0"; + reg = <0xfc834000 0x7000>; + interrupts = ; + #dma-cells = <1>; + qcom,ee = <0>; + + num-channels = <6>; + qcom,num-ees = <1>; + qcom,powered-remotely; + }; + modem: remoteproc@fc880000 { compatible = "qcom,msm8226-mss-pil"; reg = <0xfc880000 0x100>, @@ -949,6 +961,20 @@ modem: remoteproc@fc880000 { status = "disabled"; + bam_dmux: bam-dmux { + compatible = "qcom,bam-dmux"; + + interrupt-parent = <&modem_smsm>; + interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "pc", "pc-ack"; + + qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>; + qcom,smem-state-names = "pc", "pc-ack"; + + dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>; + dma-names = "tx", "rx"; + }; + smd-edge { interrupts = ; From patchwork Sun Jan 26 20:57:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13950886 Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5915615E5B8; Sun, 26 Jan 2025 20:57:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=128.199.32.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925066; cv=none; b=P0n5hbqwjD92I2xvMkmmTHk3/cny2+zT31vBhja+RFoTQqCHH7fcpFzyXJGbWQdTEgysjlAt5Tvv2AAU1uwqSkKzgB/Nz4iS/sfRjlbplzLObipiBPdllZ5RibFg+ULCF28litcZuqESNlMaxOiar4aCfTRKTjBjEoN+SS3Fcbs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737925066; c=relaxed/simple; bh=0egKTUGxa+ERnYUVurdjg+IC7rkSiLmW2RdF+5o2nW8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fYIKVv6juzSZHSKGecO7TtzcRHbPJS6+S04plo9oS7Zqaoynvq1vUXhwp3cAWhCPOGHqVRF4x9JuJtlgmglYcuwtO/i3xnS9E/9E1ht57dImNcvzuhqwZ86p2Sp5HwOtcO0H0vgvKng0XMDIRF3sk7QD7LgCfaCCsraBkN+yPHI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu; spf=pass smtp.mailfrom=lucaweiss.eu; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b=xqtrzZ+Q; arc=none smtp.client-ip=128.199.32.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lucaweiss.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="xqtrzZ+Q" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1737925055; bh=0egKTUGxa+ERnYUVurdjg+IC7rkSiLmW2RdF+5o2nW8=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=xqtrzZ+QUOAPnSOfzX/gpr/RQ6P/PCTlBKauM6jHoeN8SFNv6w5eVacJCt1H0yRij CY1L13V4DBNdGq9un+vTOS/8zyFDXE7oL6Pa0W0V3CXFgl4chnRT0XLYhXjab1fiMH V8QuvseXPmZZvsv6JaKC1wAogMmbhb1TCebEDDS8= From: Luca Weiss Date: Sun, 26 Jan 2025 21:57:28 +0100 Subject: [PATCH v2 9/9] ARM: dts: qcom: msm8226-samsung-matisse-common: Enable modem Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250126-msm8226-modem-v2-9-e88d76d6daff@lucaweiss.eu> References: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> In-Reply-To: <20250126-msm8226-modem-v2-0-e88d76d6daff@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Konrad Dybcio , =?utf-8?q?Matti_Lehtim=C3=A4ki?= Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=937; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=ms+h1V3/vx0OGMHh37WkMZeY/4HSrJ5DAFiQ+O2CuVY=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnlqG8zLMCrwklnyIIlr1c6crjkQ04dZtUB4lrn 0fq1yNYQyKJAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ5ahvAAKCRBy2EO4nU3X VkYsEACsVDIyxDx8FWCDEzoQ8x3t26S/Pl/WdhGHdaOioL18ZRG+lA6C4Pe0OXoe7ikI/CR7HZs yt0SzPuNK+plbni1FYVxv8NBvMlwOw7l59uJnB77h1/OVBYvazgOOI30jUv3yvNenaAlXxnfw/V lRtfQfdVBvGVrZOpXeLtE4W4PI+PrKg3XBOclkzifD8I1VLSpq2Ybu2DDH6jewaJ2JfcB7VCIiU 4lblEu7eqA1EpYo5HaA3Wa7YPu0dKyDKctRTm3Ev5Iucc54lCy0lBD3geZrkPiNw1pCe+Ago929 xUZsAeQDHswwMkexo0a08tBjv1eJHGGoL8icYNCcNTHtRg4O3LRnyAiqTavRRh+6q5bqtcHDvkA yynosjKG7H7TqUGNEimZ5PpJT7FQux6uIfyN5QiHT7ypESkaZzg6zd57JQn0CG4z4F56L5Beo0l iAim380hvDG4JwPq1n070ewdmlXYb4dikglX6fWquJD5EoHS7Km+OTy5z2C1pdLjdg3x6bprX8Z F6pt52axS+bb63dWgva24XZoXtngJavKEaXlXQi7G0u8dP+coly/K+EoLaDCqUCyUK5Sx/RGlth X4OYGRTFZa6Y3t2W2QLWfChwN22IeRpOVqSJ14KpIlPqpvyl2bTw9V4zgkjiLVk0xMKp4WkgnPL 5D+h5dgx2vz73JA== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD From: Matti Lehtimäki Enable modem remoteproc on samsung,matisse-wifi & matisselte. Signed-off-by: Matti Lehtimäki Signed-off-by: Luca Weiss --- arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi index fbd568c7d6b7415d240aa1a2329d07cf9135274c..4155bfb2136022f2a85d69451c34f06ed2a700ac 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi @@ -225,6 +225,13 @@ &blsp1_uart3 { status = "okay"; }; +&modem { + mx-supply = <&pm8226_l3>; + pll-supply = <&pm8226_l8>; + + status = "okay"; +}; + &rpm_requests { regulators { compatible = "qcom,rpm-pm8226-regulators";