LKML Archive on lore.kernel.org
 help / color / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Cc: Sibi Sankar <sibis@codeaurora.org>,
	Jeffrey Hugo <jhugo@codeaurora.org>,
	Rob Herring <robh+dt@kernel.org>,
	Ohad Ben-Cohen <ohad@wizery.com>,
	Mark Rutland <mark.rutland@arm.com>,
	MSM <linux-arm-msm@vger.kernel.org>,
	linux-remoteproc@vger.kernel.org,
	DTML <devicetree@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Andy Gross <agross@kernel.org>
Subject: Re: [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
Date: Fri, 20 Dec 2019 09:05:25 -0800
Message-ID: <20191220170525.GC549437@yoga> (raw)
In-Reply-To: <CAOCk7NoaWw8Tor-P02SESztWEGpGMK6GbRNG45yMVYhMdDCEnQ@mail.gmail.com>

On Fri 20 Dec 06:33 PST 2019, Jeffrey Hugo wrote:

> On Fri, Dec 20, 2019 at 12:00 AM Bjorn Andersson
> <bjorn.andersson@linaro.org> wrote:
> >
> > On Wed 18 Dec 05:22 PST 2019, Sibi Sankar wrote:
> >
> > > This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.
> > >
> > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> > > ---
> > >  arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
> > >  arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
> > >  2 files changed, 132 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > index 6db3f9e0344d1..e87094665c52c 100644
> > > --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > @@ -312,6 +312,14 @@
> > >       };
> > >  };
> > >
> > > +&remoteproc_adsp {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&remoteproc_slpi {
> > > +     status = "okay";
> > > +};
> > > +
> > >  &tlmm {
> > >       gpio-reserved-ranges = <0 4>, <81 4>;
> > >  };
> > > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > index 8d799e868a5d3..014127700afb0 100644
> > > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > @@ -1075,6 +1075,61 @@
> > >                       #interrupt-cells = <0x2>;
> > >               };
> > >
> > > +             remoteproc_mss: remoteproc@4080000 {
> > > +                     compatible = "qcom,msm8998-mss-pil";
> > > +                     reg = <0x04080000 0x100>, <0x04180000 0x20>;
> > > +                     reg-names = "qdsp6", "rmb";
> > > +
> > > +                     interrupts-extended =
> > > +                             <&intc GIC_SPI 448 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>,
> > > +                             <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
> > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > +                                       "handover", "stop-ack",
> > > +                                       "shutdown-ack";
> > > +
> > > +                     clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
> > > +                              <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
> > > +                              <&gcc GCC_BOOT_ROM_AHB_CLK>,
> > > +                              <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
> > > +                              <&gcc GCC_MSS_SNOC_AXI_CLK>,
> > > +                              <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
> > > +                              <&rpmcc RPM_SMD_QDSS_CLK>,
> > > +                              <&rpmcc RPM_SMD_XO_CLK_SRC>;
> >
> > RPM_SMD_XO_CLK_SRC doesn't seem to be implemented...
> >
> > I did pull in a patch from Jeff that defines it, but when I boot the
> > modem I see the following error repeatedly:
> 
> Yeah, we need to figure out a solution for rpmcc to actually provide
> this since the previous N solutions were not acceptable.  Its on my
> todo list to look into in Jan.  However, I really think the DT should
> be defined this way, since it replicates the hardware config.
> 

I presume you can't rely on parent_data due to issues before rpmcc has
probed properly?

Not sure what to do about that, perhaps we can stop-gap by adding the
new clock and setting up the DT, and then swing back to wiring it up
internally in gcc later?

> >
> > [  616.632227] qcom-q6v5-mss 4080000.remoteproc: fatal error received: dog_hb.c:266:DOG_HB detects starvation of task 0xda172640, triage with its own
> 
> Maybe the BIMC fix will address this?
> 

Just applying "clk: qcom: smd: Add missing bimc clock" did not change
things.

So just to be clear, I'm testing this with the following patches on top
of linux-next:

clk: qcom: smd: Add missing bimc clock
clk: qcom: smd: Add XO clock for MSM8998
arm64: dts: msm8998: Add xo clock to gcc node
arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
arm64: dts: qcom: msm8998: Update reserved memory map
remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
remoteproc: q6v5-mss: Remove mem clk from the active pool
phy: qcom-qmp: Add optional SW reset
phy: qcom-qmp: Increase the phy init timeout

Regards,
Bjorn

> >
> >
> >
> > All the qrtr services seems registered nicely, so the remote does come
> > up before it goes down.
> >
> > Also, adsp comes up nicely.
> >
> > Regards,
> > Bjorn
> >
> > > +                     clock-names = "iface", "bus", "mem", "gpll0_mss",
> > > +                                   "snoc_axi", "mnoc_axi", "qdss", "xo";
> > > +
> > > +                     qcom,smem-states = <&modem_smp2p_out 0>;
> > > +                     qcom,smem-state-names = "stop";
> > > +
> > > +                     resets = <&gcc GCC_MSS_RESTART>;
> > > +                     reset-names = "mss_restart";
> > > +
> > > +                     qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
> > > +
> > > +                     power-domains = <&rpmpd MSM8998_VDDCX>,
> > > +                                     <&rpmpd MSM8998_VDDMX>;
> > > +                     power-domain-names = "cx", "mx";
> > > +
> > > +                     mba {
> > > +                             memory-region = <&mba_mem>;
> > > +                     };
> > > +
> > > +                     mpss {
> > > +                             memory-region = <&mpss_mem>;
> > > +                     };
> > > +
> > > +                     glink-edge {
> > > +                             interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
> > > +                             label = "modem";
> > > +                             qcom,remote-pid = <1>;
> > > +                             mboxes = <&apcs_glb 15>;
> > > +                     };
> > > +             };
> > > +
> > >               gpucc: clock-controller@5065000 {
> > >                       compatible = "qcom,msm8998-gpucc";
> > >                       #clock-cells = <1>;
> > > @@ -1088,6 +1143,42 @@
> > >                                     "gpll0";
> > >               };
> > >
> > > +             remoteproc_slpi: remoteproc@5800000 {
> > > +                     compatible = "qcom,msm8998-slpi-pas";
> > > +                     reg = <0x05800000 0x4040>;
> > > +
> > > +                     interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > +                                       "handover", "stop-ack";
> > > +
> > > +                     px-supply = <&vreg_lvs2a_1p8>;
> > > +
> > > +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> > > +                              <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
> > > +                     clock-names = "xo", "aggre2";
> > > +
> > > +                     memory-region = <&slpi_mem>;
> > > +
> > > +                     qcom,smem-states = <&slpi_smp2p_out 0>;
> > > +                     qcom,smem-state-names = "stop";
> > > +
> > > +                     power-domains = <&rpmpd MSM8998_SSCCX>;
> > > +                     power-domain-names = "ssc_cx";
> > > +
> > > +                     status = "disabled";
> > > +
> > > +                     glink-edge {
> > > +                             interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
> > > +                             label = "dsps";
> > > +                             qcom,remote-pid = <3>;
> > > +                             mboxes = <&apcs_glb 27>;
> > > +                     };
> > > +             };
> > > +
> > >               stm: stm@6002000 {
> > >                       compatible = "arm,coresight-stm", "arm,primecell";
> > >                       reg = <0x06002000 0x1000>,
> > > @@ -1880,6 +1971,39 @@
> > >                       #size-cells = <0>;
> > >               };
> > >
> > > +             remoteproc_adsp: remoteproc@17300000 {
> > > +                     compatible = "qcom,msm8998-adsp-pas";
> > > +                     reg = <0x17300000 0x4040>;
> > > +
> > > +                     interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > +                                       "handover", "stop-ack";
> > > +
> > > +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
> > > +                     clock-names = "xo";
> > > +
> > > +                     memory-region = <&adsp_mem>;
> > > +
> > > +                     qcom,smem-states = <&adsp_smp2p_out 0>;
> > > +                     qcom,smem-state-names = "stop";
> > > +
> > > +                     power-domains = <&rpmpd MSM8998_VDDCX>;
> > > +                     power-domain-names = "cx";
> > > +
> > > +                     status = "disabled";
> > > +
> > > +                     glink-edge {
> > > +                             interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
> > > +                             label = "lpass";
> > > +                             qcom,remote-pid = <2>;
> > > +                             mboxes = <&apcs_glb 9>;
> > > +                     };
> > > +             };
> > > +
> > >               apcs_glb: mailbox@17911000 {
> > >                       compatible = "qcom,msm8998-apcs-hmss-global";
> > >                       reg = <0x17911000 0x1000>;
> > > --
> > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > > a Linux Foundation Collaborative Project

  reply index

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-18 13:22 [PATCH v2 0/5] Add the missing remoteprocs on MSM8998 Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 1/5] remoteproc: q6v5-mss: Remove mem clk from the active pool Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 2/5] dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 3/5] remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 4/5] arm64: dts: qcom: msm8998: Update reserved memory map Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes Sibi Sankar
2019-12-20  6:59   ` Bjorn Andersson
2019-12-20 14:33     ` Jeffrey Hugo
2019-12-20 17:05       ` Bjorn Andersson [this message]
2019-12-20 17:10         ` Jeffrey Hugo
2019-12-20 18:02           ` Bjorn Andersson
2019-12-20 18:04             ` Jeffrey Hugo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191220170525.GC549437@yoga \
    --to=bjorn.andersson@linaro.org \
    --cc=agross@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jeffrey.l.hugo@gmail.com \
    --cc=jhugo@codeaurora.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=ohad@wizery.com \
    --cc=robh+dt@kernel.org \
    --cc=sibis@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git