Message ID | 20230324201528.2540564-2-elder@linaro.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp898167vqo; Fri, 24 Mar 2023 13:25:26 -0700 (PDT) X-Google-Smtp-Source: AKy350ZQuWjNX5MI6DW4pdu0blcao8AVdttdyV9KFyu4L87R3QOH0ZmoICaU9GgtlS4olhIMCoND X-Received: by 2002:a17:906:a84c:b0:92e:3b80:9841 with SMTP id dx12-20020a170906a84c00b0092e3b809841mr3293454ejb.42.1679689526569; Fri, 24 Mar 2023 13:25:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679689526; cv=none; d=google.com; s=arc-20160816; b=dTGnAgHWouJBH7KHU2BY5wm8dkLdG1n7mYZNf3uWUlyqPB3R8elzPJ698iqmv8zKQp qEJ6rsNV5bj6tMNk5ikH/+AA0HyW8yKSaUpasDKGyuW/tiNKRSIxYT+toLEtbOaoH9SN dd4HV7xDwjZMwqQ9KCjKRTMkqCVoPmRArZWPezmMpF6pTxXweX/E/Sq7BDvyrifMiHSZ Ov3qgQA1DcWhnpZKbdxSsa6gNqQgd866jmaZ8nN0EqFTu4lt8acgXRK2WJ0nqinQnQxx Ntq8q9WyImq6/EByH2vzMxtROs9nsrgkScbYxcCCK19ZIabKzIQE5zzh3JAnpZsOo6Vd fUog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9Dtj5wCvvcI9i8AwEStAyJGT2y/5uBrj75y51U29C6g=; b=0RT/uW7Uta6gQmLYghr5j6Ugeda7S0Zxc2lkmL/W12D4z6jQD0T08tMz9hGpHHbhBJ FnOGxLs74W3UFAdgKY5icdO2RqdSeLCPPCO1mtRd3Vj2ArRfqvadGtuQDCyKvcaYqmk6 OHpyg5VgtfW2pfCWXyax2DBQinVM0jDtQMn5Ye0xaEOWgH3d+fFILD7aonxVXkCwWlPB QHAfqOMsoSl6evwW9R7OOj8LcSVqmVOb3KL1/OV+Ug+okWoCekscNylFGKU9sAF+GsKC zjOhDKB7emoM6nHwwS1CWpBlYf3nKN0AvyvPMeDEjHxLm7WAI2NeFTm1+YOniWdXuyyg jLnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="zAa/imWV"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sg15-20020a170907a40f00b0093a35a98aeasi2661806ejc.946.2023.03.24.13.24.56; Fri, 24 Mar 2023 13:25:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="zAa/imWV"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231766AbjCXUQn (ORCPT <rfc822;makky5685@gmail.com> + 99 others); Fri, 24 Mar 2023 16:16:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231704AbjCXUQl (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 24 Mar 2023 16:16:41 -0400 Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25A911A48D for <linux-kernel@vger.kernel.org>; Fri, 24 Mar 2023 13:16:39 -0700 (PDT) Received: by mail-io1-xd2a.google.com with SMTP id e13so1271907ioc.0 for <linux-kernel@vger.kernel.org>; Fri, 24 Mar 2023 13:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679688998; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9Dtj5wCvvcI9i8AwEStAyJGT2y/5uBrj75y51U29C6g=; b=zAa/imWV2mUefmFRMa8BIaY3Ilfwyc5ol+wnOnFBakanyz5DG4C2cog0/S6CJ+g7ca WrfIcLzH3IDAtHNb5hV2ejvRuDY+cOrwZNWt73J0MoPFRJN2Qs6fnBPrNyOl2GrqlU4b /GTdUdsl+EuedoshYBC/z6RJx9ntKXkKxQ4wu/IuWJIHEPIF0u+YeiyZA/5s3w/JBaOm wVFP3guIqM3diM9DMmIgAJ6u9InW4Me3eXUmDc35UAtBSEdVpj8uanRKX5z+Lj//xVGD IvfQMRJG4OnXP3VOH+BYVcuDgxu9UITFFm38jBtudruMDcOyRLszbtXppZMPO0GZjY07 WZEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679688998; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9Dtj5wCvvcI9i8AwEStAyJGT2y/5uBrj75y51U29C6g=; b=bgqODLaULotx0/rXDLgutc3l6/rNLN89l6SwMlt2LJsk6WjrxR5KIN4NHFexBZUSWa yasP0RTzVnVAsvbLOM+jMIBFgjWUe/lTXh/lu3R8Qn9friMp6lo2uPerrqMePNGPg0zo bHk80Sv1xXTWuFr3v6p5SKcZGnS22mEaNeU1kAe/GjGAkQ+GIvqDsjwfTihoQkVuOZgM zcIlfilcb/OZP9zX5iae/zOQdKkdmwI7vfBL1NdrrY+iCijZWlzOPWdJ3h9Hb7bJEihz 3euAfmqCmSqRKdQkZkc1zt0qKN/tSBp0OSV2/QO8McH6RhwOJ2GxtL76CjmBXNj6E21U uJHA== X-Gm-Message-State: AO0yUKXT3M5k5LbFpa/EiyPLCdBXvPckCU1NjeBQsfTCjWVeWaa2SExZ jsI66WN70d8DKQc41B5r84BN7Q== X-Received: by 2002:a5e:c001:0:b0:752:8aee:6d91 with SMTP id u1-20020a5ec001000000b007528aee6d91mr3041688iol.12.1679688998477; Fri, 24 Mar 2023 13:16:38 -0700 (PDT) Received: from localhost.localdomain ([98.61.227.136]) by smtp.gmail.com with ESMTPSA id q12-20020a05663810cc00b003e8a17d7b1fsm7173445jad.27.2023.03.24.13.16.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Mar 2023 13:16:25 -0700 (PDT) From: Alex Elder <elder@linaro.org> To: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, andersson@kernel.org, agross@kernel.org, konrad.dybcio@linaro.org Cc: quic_rohiagar@quicinc.com, caleb.connolly@linaro.org, mka@chromium.org, evgreen@chromium.org, quic_cpratapa@quicinc.com, quic_avuyyuru@quicinc.com, quic_jponduru@quicinc.com, quic_subashab@quicinc.com, elder@kernel.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] ARM: dts: qcom: sdx65: add IPA information Date: Fri, 24 Mar 2023 15:15:27 -0500 Message-Id: <20230324201528.2540564-2-elder@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230324201528.2540564-1-elder@linaro.org> References: <20230324201528.2540564-1-elder@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761282125207210020?= X-GMAIL-MSGID: =?utf-8?q?1761282125207210020?= |
Series |
ARM: dts: qcom: sdx65: support IPA
|
|
Commit Message
Alex Elder
March 24, 2023, 8:15 p.m. UTC
Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust Zone on this platform. Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> Signed-off-by: Alex Elder <elder@linaro.org> --- arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+)
Comments
On 24/03/2023 21:15, Alex Elder wrote: > Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P > nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. > > Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust > Zone on this platform. > > Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> > Signed-off-by: Alex Elder <elder@linaro.org> > --- > arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ > arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ > 2 files changed, 43 insertions(+) > > diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts > index ed98c83c141fc..72e25de0db5fc 100644 > --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts > +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts > @@ -245,6 +245,11 @@ &blsp1_uart3 { > status = "okay"; > }; > > +&ipa { > + qcom,gsi-loader = "skip"; > + status = "okay"; > +}; > + > &qpic_bam { > status = "okay"; > }; > diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi > index 192f9f94bc8b4..360d6dc144811 100644 > --- a/arch/arm/boot/dts/qcom-sdx65.dtsi > +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi > @@ -11,6 +11,7 @@ > #include <dt-bindings/interrupt-controller/arm-gic.h> > #include <dt-bindings/power/qcom-rpmpd.h> > #include <dt-bindings/soc/qcom,rpmh-rsc.h> > +#include <dt-bindings/interconnect/qcom,sdx65.h> > > / { > #address-cells = <1>; > @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { > #hwlock-cells = <1>; > }; > > + ipa: ipa@3e04000 { > + compatible = "qcom,sdx65-ipa"; > + > + iommus = <&apps_smmu 0x5e0 0x0>, > + <&apps_smmu 0x5e2 0x0>; > + reg = <0x3f40000 0x10000>, > + <0x3f50000 0x5000>, > + <0x3e04000 0xfc000>; > + reg-names = "ipa-reg", > + "ipa-shared", > + "gsi"; > + > + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, > + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, > + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, > + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; > + interrupt-names = "ipa", > + "gsi", > + "ipa-clock-query", > + "ipa-setup-ready"; These look misaligned. With above: Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof
On 25.03.2023 12:14, Krzysztof Kozlowski wrote: > On 24/03/2023 21:15, Alex Elder wrote: >> Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P >> nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. >> >> Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust >> Zone on this platform. >> >> Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> >> Signed-off-by: Alex Elder <elder@linaro.org> >> --- >> arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ >> arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ >> 2 files changed, 43 insertions(+) >> >> diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >> index ed98c83c141fc..72e25de0db5fc 100644 >> --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts >> +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >> @@ -245,6 +245,11 @@ &blsp1_uart3 { >> status = "okay"; >> }; >> >> +&ipa { >> + qcom,gsi-loader = "skip"; >> + status = "okay"; >> +}; >> + >> &qpic_bam { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi >> index 192f9f94bc8b4..360d6dc144811 100644 >> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi >> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi >> @@ -11,6 +11,7 @@ >> #include <dt-bindings/interrupt-controller/arm-gic.h> >> #include <dt-bindings/power/qcom-rpmpd.h> >> #include <dt-bindings/soc/qcom,rpmh-rsc.h> >> +#include <dt-bindings/interconnect/qcom,sdx65.h> >> >> / { >> #address-cells = <1>; >> @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { >> #hwlock-cells = <1>; >> }; >> >> + ipa: ipa@3e04000 { >> + compatible = "qcom,sdx65-ipa"; >> + >> + iommus = <&apps_smmu 0x5e0 0x0>, >> + <&apps_smmu 0x5e2 0x0>; >> + reg = <0x3f40000 0x10000>, >> + <0x3f50000 0x5000>, >> + <0x3e04000 0xfc000>; >> + reg-names = "ipa-reg", >> + "ipa-shared", >> + "gsi"; >> + >> + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, >> + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, >> + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, >> + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; >> + interrupt-names = "ipa", >> + "gsi", >> + "ipa-clock-query", >> + "ipa-setup-ready"; > > These look misaligned. > > With above: > > Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> With this and moving iommus below interconnect: Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > > > Best regards, > Krzysztof >
On 3/25/23 6:14 AM, Krzysztof Kozlowski wrote: > On 24/03/2023 21:15, Alex Elder wrote: >> Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P >> nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. >> >> Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust >> Zone on this platform. >> >> Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> >> Signed-off-by: Alex Elder <elder@linaro.org> >> --- >> arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ >> arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ >> 2 files changed, 43 insertions(+) >> >> diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >> index ed98c83c141fc..72e25de0db5fc 100644 >> --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts >> +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >> @@ -245,6 +245,11 @@ &blsp1_uart3 { >> status = "okay"; >> }; >> >> +&ipa { >> + qcom,gsi-loader = "skip"; >> + status = "okay"; >> +}; >> + >> &qpic_bam { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi >> index 192f9f94bc8b4..360d6dc144811 100644 >> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi >> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi >> @@ -11,6 +11,7 @@ >> #include <dt-bindings/interrupt-controller/arm-gic.h> >> #include <dt-bindings/power/qcom-rpmpd.h> >> #include <dt-bindings/soc/qcom,rpmh-rsc.h> >> +#include <dt-bindings/interconnect/qcom,sdx65.h> >> >> / { >> #address-cells = <1>; >> @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { >> #hwlock-cells = <1>; >> }; >> >> + ipa: ipa@3e04000 { >> + compatible = "qcom,sdx65-ipa"; >> + >> + iommus = <&apps_smmu 0x5e0 0x0>, >> + <&apps_smmu 0x5e2 0x0>; >> + reg = <0x3f40000 0x10000>, >> + <0x3f50000 0x5000>, >> + <0x3e04000 0xfc000>; >> + reg-names = "ipa-reg", >> + "ipa-shared", >> + "gsi"; >> + >> + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, >> + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, >> + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, >> + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; >> + interrupt-names = "ipa", >> + "gsi", >> + "ipa-clock-query", >> + "ipa-setup-ready"; > > These look misaligned. I believe this is the alignment convention used by all IPA nodes in DTS files. It's possible I'm not seeing something you are, but... what alignment should be used? And if I change this, should I change all others? Thanks. -Alex > > With above: > > Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> > > > Best regards, > Krzysztof >
On 26/03/2023 18:01, Alex Elder wrote: > On 3/25/23 6:14 AM, Krzysztof Kozlowski wrote: >> On 24/03/2023 21:15, Alex Elder wrote: >>> Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P >>> nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. >>> >>> Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust >>> Zone on this platform. >>> >>> Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> >>> Signed-off-by: Alex Elder <elder@linaro.org> >>> --- >>> arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ >>> arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ >>> 2 files changed, 43 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>> index ed98c83c141fc..72e25de0db5fc 100644 >>> --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>> +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>> @@ -245,6 +245,11 @@ &blsp1_uart3 { >>> status = "okay"; >>> }; >>> >>> +&ipa { >>> + qcom,gsi-loader = "skip"; >>> + status = "okay"; >>> +}; >>> + >>> &qpic_bam { >>> status = "okay"; >>> }; >>> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi >>> index 192f9f94bc8b4..360d6dc144811 100644 >>> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi >>> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi >>> @@ -11,6 +11,7 @@ >>> #include <dt-bindings/interrupt-controller/arm-gic.h> >>> #include <dt-bindings/power/qcom-rpmpd.h> >>> #include <dt-bindings/soc/qcom,rpmh-rsc.h> >>> +#include <dt-bindings/interconnect/qcom,sdx65.h> >>> >>> / { >>> #address-cells = <1>; >>> @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { >>> #hwlock-cells = <1>; >>> }; >>> >>> + ipa: ipa@3e04000 { >>> + compatible = "qcom,sdx65-ipa"; >>> + >>> + iommus = <&apps_smmu 0x5e0 0x0>, >>> + <&apps_smmu 0x5e2 0x0>; >>> + reg = <0x3f40000 0x10000>, >>> + <0x3f50000 0x5000>, >>> + <0x3e04000 0xfc000>; >>> + reg-names = "ipa-reg", >>> + "ipa-shared", >>> + "gsi"; >>> + >>> + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, >>> + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, >>> + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, >>> + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; >>> + interrupt-names = "ipa", >>> + "gsi", >>> + "ipa-clock-query", >>> + "ipa-setup-ready"; >> >> These look misaligned. > > I believe this is the alignment convention used by all IPA nodes > in DTS files. It's possible I'm not seeing something you are, > but... what alignment should be used? And if I change this, > should I change all others? If this is aligned, then fine. The diff points it is not, but the diff might be a bit tricky sometimes. Alignment is till " in previous line. For example sdm845 looks fine. Best regards, Krzysztof
On 3/25/23 7:12 AM, Konrad Dybcio wrote: > > > On 25.03.2023 12:14, Krzysztof Kozlowski wrote: >> On 24/03/2023 21:15, Alex Elder wrote: >>> Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P >>> nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. >>> >>> Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust >>> Zone on this platform. >>> >>> Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> >>> Signed-off-by: Alex Elder <elder@linaro.org> >>> --- >>> arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ >>> arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ >>> 2 files changed, 43 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>> index ed98c83c141fc..72e25de0db5fc 100644 >>> --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>> +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>> @@ -245,6 +245,11 @@ &blsp1_uart3 { >>> status = "okay"; >>> }; >>> >>> +&ipa { >>> + qcom,gsi-loader = "skip"; >>> + status = "okay"; >>> +}; >>> + >>> &qpic_bam { >>> status = "okay"; >>> }; >>> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi >>> index 192f9f94bc8b4..360d6dc144811 100644 >>> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi >>> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi >>> @@ -11,6 +11,7 @@ >>> #include <dt-bindings/interrupt-controller/arm-gic.h> >>> #include <dt-bindings/power/qcom-rpmpd.h> >>> #include <dt-bindings/soc/qcom,rpmh-rsc.h> >>> +#include <dt-bindings/interconnect/qcom,sdx65.h> >>> >>> / { >>> #address-cells = <1>; >>> @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { >>> #hwlock-cells = <1>; >>> }; >>> >>> + ipa: ipa@3e04000 { >>> + compatible = "qcom,sdx65-ipa"; >>> + >>> + iommus = <&apps_smmu 0x5e0 0x0>, >>> + <&apps_smmu 0x5e2 0x0>; >>> + reg = <0x3f40000 0x10000>, >>> + <0x3f50000 0x5000>, >>> + <0x3e04000 0xfc000>; >>> + reg-names = "ipa-reg", >>> + "ipa-shared", >>> + "gsi"; >>> + >>> + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, >>> + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, >>> + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, >>> + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; >>> + interrupt-names = "ipa", >>> + "gsi", >>> + "ipa-clock-query", >>> + "ipa-setup-ready"; >> >> These look misaligned. >> >> With above: >> >> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> > With this and moving iommus below interconnect: Is there guidance somewhere that states what order should be used for these properties? Why should iommus be below interconnects? As I said to Krzysztof, I *think* all of the IPA nodes look like this; should all of them be updated to follow whatever the preferred convention is? Thanks. -Alex > > Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> > > Konrad >> >> >> Best regards, >> Krzysztof >>
On 3/26/23 11:04 AM, Krzysztof Kozlowski wrote: > On 26/03/2023 18:01, Alex Elder wrote: >> On 3/25/23 6:14 AM, Krzysztof Kozlowski wrote: >>> On 24/03/2023 21:15, Alex Elder wrote: >>>> Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P >>>> nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. >>>> >>>> Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust >>>> Zone on this platform. >>>> >>>> Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> >>>> Signed-off-by: Alex Elder <elder@linaro.org> >>>> --- >>>> arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ >>>> arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ >>>> 2 files changed, 43 insertions(+) >>>> >>>> diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>>> index ed98c83c141fc..72e25de0db5fc 100644 >>>> --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>>> +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>>> @@ -245,6 +245,11 @@ &blsp1_uart3 { >>>> status = "okay"; >>>> }; >>>> >>>> +&ipa { >>>> + qcom,gsi-loader = "skip"; >>>> + status = "okay"; >>>> +}; >>>> + >>>> &qpic_bam { >>>> status = "okay"; >>>> }; >>>> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi >>>> index 192f9f94bc8b4..360d6dc144811 100644 >>>> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi >>>> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi >>>> @@ -11,6 +11,7 @@ >>>> #include <dt-bindings/interrupt-controller/arm-gic.h> >>>> #include <dt-bindings/power/qcom-rpmpd.h> >>>> #include <dt-bindings/soc/qcom,rpmh-rsc.h> >>>> +#include <dt-bindings/interconnect/qcom,sdx65.h> >>>> >>>> / { >>>> #address-cells = <1>; >>>> @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { >>>> #hwlock-cells = <1>; >>>> }; >>>> >>>> + ipa: ipa@3e04000 { >>>> + compatible = "qcom,sdx65-ipa"; >>>> + >>>> + iommus = <&apps_smmu 0x5e0 0x0>, >>>> + <&apps_smmu 0x5e2 0x0>; >>>> + reg = <0x3f40000 0x10000>, >>>> + <0x3f50000 0x5000>, >>>> + <0x3e04000 0xfc000>; >>>> + reg-names = "ipa-reg", >>>> + "ipa-shared", >>>> + "gsi"; >>>> + >>>> + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, >>>> + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, >>>> + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, >>>> + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; >>>> + interrupt-names = "ipa", >>>> + "gsi", >>>> + "ipa-clock-query", >>>> + "ipa-setup-ready"; >>> >>> These look misaligned. >> >> I believe this is the alignment convention used by all IPA nodes >> in DTS files. It's possible I'm not seeing something you are, >> but... what alignment should be used? And if I change this, >> should I change all others? > > If this is aligned, then fine. The diff points it is not, but the diff > might be a bit tricky sometimes. > > Alignment is till " in previous line. For example sdm845 looks fine. OK thank you. I will send v2 of this series after I hear back from Konrad, adding your reviewed-by, and will double-check the alignment as well. -Alex > > > Best regards, > Krzysztof >
On 26.03.2023 18:04, Alex Elder wrote: > On 3/25/23 7:12 AM, Konrad Dybcio wrote: >> >> >> On 25.03.2023 12:14, Krzysztof Kozlowski wrote: >>> On 24/03/2023 21:15, Alex Elder wrote: >>>> Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P >>>> nodes (ipa_smp2p_out and ipa_smp2p_in) are already present. >>>> >>>> Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust >>>> Zone on this platform. >>>> >>>> Tested-by: Rohit Agarwal <quic_rohiagar@quicinc.com> >>>> Signed-off-by: Alex Elder <elder@linaro.org> >>>> --- >>>> arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ >>>> arch/arm/boot/dts/qcom-sdx65.dtsi | 38 ++++++++++++++++++++++++++++ >>>> 2 files changed, 43 insertions(+) >>>> >>>> diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>>> index ed98c83c141fc..72e25de0db5fc 100644 >>>> --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>>> +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts >>>> @@ -245,6 +245,11 @@ &blsp1_uart3 { >>>> status = "okay"; >>>> }; >>>> +&ipa { >>>> + qcom,gsi-loader = "skip"; >>>> + status = "okay"; >>>> +}; >>>> + >>>> &qpic_bam { >>>> status = "okay"; >>>> }; >>>> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi >>>> index 192f9f94bc8b4..360d6dc144811 100644 >>>> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi >>>> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi >>>> @@ -11,6 +11,7 @@ >>>> #include <dt-bindings/interrupt-controller/arm-gic.h> >>>> #include <dt-bindings/power/qcom-rpmpd.h> >>>> #include <dt-bindings/soc/qcom,rpmh-rsc.h> >>>> +#include <dt-bindings/interconnect/qcom,sdx65.h> >>>> / { >>>> #address-cells = <1>; >>>> @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { >>>> #hwlock-cells = <1>; >>>> }; >>>> + ipa: ipa@3e04000 { >>>> + compatible = "qcom,sdx65-ipa"; >>>> + >>>> + iommus = <&apps_smmu 0x5e0 0x0>, >>>> + <&apps_smmu 0x5e2 0x0>; >>>> + reg = <0x3f40000 0x10000>, >>>> + <0x3f50000 0x5000>, >>>> + <0x3e04000 0xfc000>; >>>> + reg-names = "ipa-reg", >>>> + "ipa-shared", >>>> + "gsi"; >>>> + >>>> + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, >>>> + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, >>>> + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, >>>> + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; >>>> + interrupt-names = "ipa", >>>> + "gsi", >>>> + "ipa-clock-query", >>>> + "ipa-setup-ready"; >>> >>> These look misaligned. >>> >>> With above: >>> >>> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> >> With this and moving iommus below interconnect: > > Is there guidance somewhere that states what order should be > used for these properties? This is a very slippery topic, but.. Why should iommus be below > interconnects? ..everybody agrees iommus shouldn't between compatible and reg (these two go first hand-in-hand) and most of our DTs have it somewhere low, often below interconnect. In a perfect world we'd have a computer taking care of this but for now it remains an open question. > > As I said to Krzysztof, I *think* all of the IPA nodes look > like this; should all of them be updated to follow whatever > the preferred convention is? This is the ugly part of this, we don't have a solid, widely-agreed-upon scheme of ordering properties other than some loose guidelines (e.g. compatible, reg, ..., status), so I think it's not worth making extra noise in existing files until figure it out. Konrad > > Thanks. > > -Alex > > >> >> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> >> >> Konrad >>> >>> >>> Best regards, >>> Krzysztof >>> >
On 3/27/23 3:57 AM, Konrad Dybcio wrote: > so I think it's not worth making extra noise in existing files > until figure it out. In that case, would you be OK if I leave this consistent with the rest, and once it's figured out, I'll fix them all at once? -Alex
diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts index ed98c83c141fc..72e25de0db5fc 100644 --- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts +++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts @@ -245,6 +245,11 @@ &blsp1_uart3 { status = "okay"; }; +&ipa { + qcom,gsi-loader = "skip"; + status = "okay"; +}; + &qpic_bam { status = "okay"; }; diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi index 192f9f94bc8b4..360d6dc144811 100644 --- a/arch/arm/boot/dts/qcom-sdx65.dtsi +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi @@ -11,6 +11,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/power/qcom-rpmpd.h> #include <dt-bindings/soc/qcom,rpmh-rsc.h> +#include <dt-bindings/interconnect/qcom,sdx65.h> / { #address-cells = <1>; @@ -299,6 +300,43 @@ tcsr_mutex: hwlock@1f40000 { #hwlock-cells = <1>; }; + ipa: ipa@3e04000 { + compatible = "qcom,sdx65-ipa"; + + iommus = <&apps_smmu 0x5e0 0x0>, + <&apps_smmu 0x5e2 0x0>; + reg = <0x3f40000 0x10000>, + <0x3f50000 0x5000>, + <0x3e04000 0xfc000>; + reg-names = "ipa-reg", + "ipa-shared", + "gsi"; + + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "ipa", + "gsi", + "ipa-clock-query", + "ipa-setup-ready"; + + clocks = <&rpmhcc RPMH_IPA_CLK>; + clock-names = "core"; + + interconnects = <&system_noc MASTER_IPA &mc_virt SLAVE_EBI1>, + <&mem_noc MASTER_APPSS_PROC &system_noc SLAVE_IPA_CFG>; + interconnect-names = "memory", + "config"; + + qcom,smem-states = <&ipa_smp2p_out 0>, + <&ipa_smp2p_out 1>; + qcom,smem-state-names = "ipa-clock-enabled-valid", + "ipa-clock-enabled"; + + status = "disabled"; + }; + remoteproc_mpss: remoteproc@4080000 { compatible = "qcom,sdx55-mpss-pas"; reg = <0x04080000 0x4040>;