Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp3149216imw; Mon, 18 Jul 2022 03:03:32 -0700 (PDT) X-Google-Smtp-Source: AGRyM1ub8xcBBGckO4FKczfOXocj9YJvxJD55Gen9XHJNnAdgGi3+DbLPeMPZlnn3sjIHDzms9nS X-Received: by 2002:a05:6402:4244:b0:43a:ded8:563b with SMTP id g4-20020a056402424400b0043aded8563bmr36904249edb.222.1658138612108; Mon, 18 Jul 2022 03:03:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658138612; cv=none; d=google.com; s=arc-20160816; b=lHP8sWZ42EE1XtNOJ5bvCqXhcH16gRyhJJupGsp1M7wuFjQKLHDtMMEq1i2C/iOh4U Whg+AxsKeU7fIDbO7nVnka5TfGNKPRQ0XxLJlsctoteH83CmvYfm85Wtnz8AmJHyFTu6 TwogKm/XN31B/BCA8Efod99SEw4vm8rnUuBQcLY43OKZW8OsppjnjQoi8wK0KWt4Ry9P 4mrHqeVBK61lMALJqBnkMt7HATo+QfbeRMKq3jHUCNQRLC67cqC6JgYdll7JZHjQO19Z dNQaINQVPKcO5UvbQtQAN/WOR6Lqn/vovyx0KgfONb6rk/HpJ9ElT/ivtipPadKskyqp s0Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:references:to:from:subject:cc :message-id:date:content-transfer-encoding:mime-version :dkim-signature; bh=xI9mJnc070F1Cnspd11RMCcRJh74q6YG25IRj9MrGkc=; b=DcA7FllZLqtV+0nvfq3OgiTWC/JS8U6Ujvx7LZKNxGPhNVGn8Sk6544s+/r/jpTJgQ t1g5y3TIQ8XE9aWjjzuxlriwIxFARimqN8QRqCjuADafnMfJi/X5YFeii45tpiMvr80q r7o3YeBIcsGyZYRHAk/iFrEkIdnH9dvxsxzGLMNB0LLAYQ4gyChEB06uLGcsCaYOWGLP BsTwx51P1BAu6y0vlB0eeJI+1W5gLRXu3/y+XQ02dqAWMA9CvwZ+gsUQYCZM8aDmqhWx nPV+mPsCLLSKIygczB3sdIeEeUtCMmm9ZVjIG2JnxnRv3SvQ9Qo9JYngFobT08X1giJC B9kA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=Xj9kernY; 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=fairphone.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gt36-20020a1709072da400b0072b13abe376si15705453ejc.789.2022.07.18.03.02.55; Mon, 18 Jul 2022 03:03:32 -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=@fairphone.com header.s=fair header.b=Xj9kernY; 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=fairphone.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234166AbiGRJrC (ORCPT + 99 others); Mon, 18 Jul 2022 05:47:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233917AbiGRJrB (ORCPT ); Mon, 18 Jul 2022 05:47:01 -0400 Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [IPv6:2a00:1450:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F9BB1AF16 for ; Mon, 18 Jul 2022 02:46:55 -0700 (PDT) Received: by mail-ej1-x632.google.com with SMTP id b11so20150402eju.10 for ; Mon, 18 Jul 2022 02:46:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; h=mime-version:content-transfer-encoding:date:message-id:cc:subject :from:to:references:in-reply-to; bh=xI9mJnc070F1Cnspd11RMCcRJh74q6YG25IRj9MrGkc=; b=Xj9kernYJvIMwvQQsUXQWEltYFWdoipMN+Mq30lz2yfi0zWSUEjABvDAQPTUv2+QLs bAt4HWCnG7uF11CbDpxTuiqzBKL0ChaSEcUi2aCLDxY2vd2xw8npZFP8xp+m9PUUOH0b welRhmUTLSb81JlwuQ6PNmLGTceHebjWYc0DZ+IRyazkrNLlBIVgi9N0zkeSaNFwK1EO ndjoQU/57BldCZM6udrWj2oQF94qCM5E2URlxXarf/BsqakixdHYkN8kwSbU5ZLRWum2 cJ/qotA5R+Whl96kRZfAoU6KbmCzDEPVUgGBMBJ+bvZPqjmj0tBvBdtppJoy3E31zigI Ogkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:content-transfer-encoding:date :message-id:cc:subject:from:to:references:in-reply-to; bh=xI9mJnc070F1Cnspd11RMCcRJh74q6YG25IRj9MrGkc=; b=nqIcOxxeVLon6FeywqEpjShsBUrwujtJlvVXxhhDw5If8WhIPNrkwV3N0ZCIPTMGy9 c5LRubc8707RSgrBf19O69DbnJ6DaKY8PAwCZwjdJvftwozeLEn5wD3an5gVW/RXxb0T N8WPJEXkrXNkox74wxzFyzNsV5XcNIA1BoI72grCFh++l/jIGWWZXYW8cIzAOkUouyHA DvO7+ecvEF6QW1vvP9uTfiZM3UDrjW4Sgq+TfaYfuV3SFMX/Nby0Ni/XvlEors3aX9qH wn7UEdlRuvTokTFLkktiv8z1hMHXvs3mNSfrUo5FXgdURVHW0cuwpfwfP/kmJ69i+L4M w7jQ== X-Gm-Message-State: AJIora85QezYFdH3LwnXgTw7/LlHcXAckheuTs5FxW6fioTYJRyBKJa+ tYn7+ZOyAhZ/4Xu07dtXuyluGA== X-Received: by 2002:a17:906:e9b:b0:72d:ec31:b037 with SMTP id p27-20020a1709060e9b00b0072dec31b037mr22337393ejf.595.1658137613718; Mon, 18 Jul 2022 02:46:53 -0700 (PDT) Received: from localhost (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id h5-20020a0564020e0500b0043b5adf54b3sm3418090edh.61.2022.07.18.02.46.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 18 Jul 2022 02:46:52 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 18 Jul 2022 11:46:52 +0200 Message-Id: Cc: <~postmarketos/upstreaming@lists.sr.ht>, , "Andy Gross" , "Bjorn Andersson" , "Rob Herring" , "Krzysztof Kozlowski" , , Subject: Re: [PATCH v3 5/5] arm64: dts: qcom: sm6350: Add interconnect support From: "Luca Weiss" To: "Georgi Djakov" , X-Mailer: aerc 0.9.0 References: <20220525144404.200390-1-luca.weiss@fairphone.com> <20220525144404.200390-6-luca.weiss@fairphone.com> <22495dc6-0d55-70d0-d9f3-bcfafcae62d1@kernel.org> In-Reply-To: <22495dc6-0d55-70d0-d9f3-bcfafcae62d1@kernel.org> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,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: X-Mailing-List: linux-kernel@vger.kernel.org Hi Georgi, On Mon Jul 18, 2022 at 9:58 AM CEST, Georgi Djakov wrote: > On 25.05.22 17:44, Luca Weiss wrote: > > Add all the different NoC providers that are found in SM6350 and > > populate different nodes that use the interconnect properties. > >=20 > > Signed-off-by: Luca Weiss > > --- > > Changes since v2: > > * none > >=20 > > arch/arm64/boot/dts/qcom/sm6350.dtsi | 109 ++++++++++++++++++++++++++= + > > 1 file changed, 109 insertions(+) > >=20 > > diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi b/arch/arm64/boot/dts= /qcom/sm6350.dtsi > > index fb1a0f662575..119073f19285 100644 > > --- a/arch/arm64/boot/dts/qcom/sm6350.dtsi > > +++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi > > @@ -1,11 +1,13 @@ > > // SPDX-License-Identifier: BSD-3-Clause > > /* > > * Copyright (c) 2021, Konrad Dybcio > > + * Copyright (c) 2022, Luca Weiss > > */ > > =20 > > #include > > #include > > #include > > +#include > > #include > > #include > > #include > > @@ -539,6 +541,10 @@ i2c0: i2c@880000 { > > interrupts =3D ; > > #address-cells =3D <1>; > > #size-cells =3D <0>; > > + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_Q= UP_CORE_0 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>, > > + <&aggre1_noc MASTER_QUP_0 0 &clk_virt SLAVE_EBI_CH0 0>; > > + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; > > status =3D "disabled"; > > }; > > =20 > > @@ -552,6 +558,10 @@ i2c2: i2c@888000 { > > interrupts =3D ; > > #address-cells =3D <1>; > > #size-cells =3D <0>; > > + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_Q= UP_CORE_0 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>, > > + <&aggre1_noc MASTER_QUP_0 0 &clk_virt SLAVE_EBI_CH0 0>; > > + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; > > status =3D "disabled"; > > }; > > }; > > @@ -578,6 +588,10 @@ i2c6: i2c@980000 { > > interrupts =3D ; > > #address-cells =3D <1>; > > #size-cells =3D <0>; > > + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_Q= UP_CORE_1 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>, > > + <&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>; > > + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; > > status =3D "disabled"; > > }; > > =20 > > @@ -591,6 +605,10 @@ i2c7: i2c@984000 { > > interrupts =3D ; > > #address-cells =3D <1>; > > #size-cells =3D <0>; > > + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_Q= UP_CORE_1 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>, > > + <&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>; > > + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; > > status =3D "disabled"; > > }; > > =20 > > @@ -604,6 +622,10 @@ i2c8: i2c@988000 { > > interrupts =3D ; > > #address-cells =3D <1>; > > #size-cells =3D <0>; > > + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_Q= UP_CORE_1 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>, > > + <&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>; > > + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; > > status =3D "disabled"; > > }; > > =20 > > @@ -615,6 +637,9 @@ uart9: serial@98c000 { > > pinctrl-names =3D "default"; > > pinctrl-0 =3D <&qup_uart9_default>; > > interrupts =3D ; > > + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_Q= UP_CORE_1 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>; > > + interconnect-names =3D "qup-core", "qup-config"; > > status =3D "disabled"; > > }; > > =20 > > @@ -628,11 +653,62 @@ i2c10: i2c@990000 { > > interrupts =3D ; > > #address-cells =3D <1>; > > #size-cells =3D <0>; > > + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_Q= UP_CORE_1 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>, > > + <&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>; > > + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; > > status =3D "disabled"; > > }; > > =20 > > }; > > =20 > > + config_noc: interconnect@1500000 { > > + compatible =3D "qcom,sm6350-config-noc"; > > + reg =3D <0 0x01500000 0 0x28000>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + > > + system_noc: interconnect@1620000 { > > + compatible =3D "qcom,sm6350-system-noc"; > > + reg =3D <0 0x01620000 0 0x17080>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + > > + clk_virt: interconnect-clk-virt { > > + compatible =3D "qcom,sm6350-clk-virt"; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + }; > > + > > + aggre1_noc: interconnect@16e0000 { > > + compatible =3D "qcom,sm6350-aggre1-noc"; > > + reg =3D <0 0x016e0000 0 0x15080>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + > > + aggre2_noc: interconnect@1700000 { > > + compatible =3D "qcom,sm6350-aggre2-noc"; > > + reg =3D <0 0x01700000 0 0x1f880>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + > > + compute_noc: interconnect-compute-noc { > > + compatible =3D "qcom,sm6350-compute-noc"; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + }; > > + > > + mmss_noc: interconnect@1740000 { > > + compatible =3D "qcom,sm6350-mmss-noc"; > > + reg =3D <0 0x01740000 0 0x1c100>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + > > ufs_mem_hc: ufs@1d84000 { > > compatible =3D "qcom,sm6350-ufshc", "qcom,ufshc", > > "jedec,ufs-2.0"; > > @@ -933,6 +1009,10 @@ sdhc_2: sdhci@8804000 { > > <&gcc GCC_SDCC2_APPS_CLK>, > > <&rpmhcc RPMH_CXO_CLK>; > > clock-names =3D "iface", "core", "xo"; > > + interconnects =3D <&aggre2_noc MASTER_SDCC_2 0 &clk_virt SLAVE_EBI_= CH0 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_SDCC_2 0>; > > + interconnect-names =3D "sdhc-ddr", "cpu-sdhc"; > > + > > qcom,dll-config =3D <0x0007642c>; > > qcom,ddr-config =3D <0x80040868>; > > power-domains =3D <&rpmhpd 0>; > > @@ -947,11 +1027,15 @@ sdhc2_opp_table: sdhc2-opp-table { > > opp-100000000 { > > opp-hz =3D /bits/ 64 <100000000>; > > required-opps =3D <&rpmhpd_opp_svs_l1>; > > + opp-peak-kBps =3D <790000 131000>; > > + opp-avg-kBps =3D <50000 50000>; > > }; > > =20 > > opp-202000000 { > > opp-hz =3D /bits/ 64 <202000000>; > > required-opps =3D <&rpmhpd_opp_nom>; > > + opp-peak-kBps =3D <3190000 294000>; > > + opp-avg-kBps =3D <261438 300000>; > > Just wondering where do these values come from? Are they from the downstr= eam DT? > The rest looks good to me. Exactly, the values are part of downstream dtsi[0]. The docs for this property are: - qcom,msm-bus,vectors-KBps: Arrays of unsigned integers representing: * master-id * slave-id * arbitrated bandwidth in KBps * instantaneous bandwidth in KBps The first two paths downstream are consolidated into one here, the third downstream is the second one here. [0] https://android.googlesource.com/kernel/msm-extra/devicetree/+/refs/tag= s/android-12.1.0_r0.15/qcom/lagoon.dtsi#3165 Hope that clears it up! Regards Luca > > Thanks, > Georgi > > > }; > > }; > > }; > > @@ -1017,12 +1101,33 @@ dp_phy: dp-phy@88ea200 { > > }; > > }; > > =20 > > + dc_noc: interconnect@9160000 { > > + compatible =3D "qcom,sm6350-dc-noc"; > > + reg =3D <0 0x09160000 0 0x3200>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + > > system-cache-controller@9200000 { > > compatible =3D "qcom,sm6350-llcc"; > > reg =3D <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>; > > reg-names =3D "llcc_base", "llcc_broadcast_base"; > > }; > > =20 > > + gem_noc: interconnect@9680000 { > > + compatible =3D "qcom,sm6350-gem-noc"; > > + reg =3D <0 0x09680000 0 0x3e200>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + > > + npu_noc: interconnect@9990000 { > > + compatible =3D "qcom,sm6350-npu-noc"; > > + reg =3D <0 0x09990000 0 0x1600>; > > + #interconnect-cells =3D <2>; > > + qcom,bcm-voters =3D <&apps_bcm_voter>; > > + }; > > + > > usb_1: usb@a6f8800 { > > compatible =3D "qcom,sm6350-dwc3", "qcom,dwc3"; > > reg =3D <0 0x0a6f8800 0 0x400>; > > @@ -1051,6 +1156,10 @@ usb_1: usb@a6f8800 { > > =20 > > resets =3D <&gcc GCC_USB30_PRIM_BCR>; > > =20 > > + interconnects =3D <&aggre2_noc MASTER_USB3 0 &clk_virt SLAVE_EBI_CH= 0 0>, > > + <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3 0>; > > + interconnect-names =3D "usb-ddr", "apps-usb"; > > + > > usb_1_dwc3: usb@a600000 { > > compatible =3D "snps,dwc3"; > > reg =3D <0 0x0a600000 0 0xcd00>;