Add missing qcom,remote-pid dt binding required for GLINK SMEM which specifies the remote endpoint of the GLINK edge. Fixes: 2b41d6c8e696 ("dt-bindings: soc: qcom: Extend GLINK to cover SMEM") Signed-off-by: Sibi Sankar <sibis@codeaurora.org> Reviewed-by: Doug Anderson <dianders@chromium.org> --- v3: * Fixed typo Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt index 0b8cc533ca83..587bb1ddc8cc 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt @@ -21,6 +21,11 @@ edge. Definition: should specify the IRQ used by the remote processor to signal this processor about communication related events +- qcom,remote-pid: + Usage: required for glink-smem + Value type: <u32> + Definition: specifies the identifier of the remote endpoint of this edge + - qcom,rpm-msg-ram: Usage: required for glink-rpm Value type: <prop-encoded-array> -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Add missing clock bindings for Q6V5 MSS on SDM845 SoCs. Fixes: fb22022ff63d ("dt-bindings: remoteproc: Add Q6v5 Modem PIL binding for SDM845") Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- v3: * Fixup dt-binding documentation as suggested by Doug .../devicetree/bindings/remoteproc/qcom,q6v5.txt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt index 9ff5b0309417..20dd19f9ed99 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt @@ -39,13 +39,21 @@ on the Qualcomm Hexagon core. - clocks: Usage: required Value type: <phandle> - Definition: reference to the iface, bus and mem clocks to be held on - behalf of the booting of the Hexagon core + Definition: reference to the clocks that match clock-names - clock-names: Usage: required Value type: <stringlist> - Definition: must be "iface", "bus", "mem" + Definition: The clocks needed depend on the compatible string: + qcom,ipq8074-wcss-pil: + no clock names required + qcom,q6v5-pil: + qcom,msm8916-mss-pil: + qcom,msm8974-mss-pil: + must be "iface", "bus", "mem", "xo" + qcom,sdm845-mss-pil: + must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss", + "snoc_axi", "mnoc_axi" - resets: Usage: required -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Add missing clock bindings for Q6V5 MSS on MSM8996 SoCs. Fixes: 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc on msm8996") Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- v3: * Fixup dt-binding documentation as suggested by Doug Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt index 20dd19f9ed99..af8788783e2b 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt @@ -51,6 +51,9 @@ on the Qualcomm Hexagon core. qcom,msm8916-mss-pil: qcom,msm8974-mss-pil: must be "iface", "bus", "mem", "xo" + qcom,msm8996-mss-pil: + must be "xo", "pnoc", "qdss", "iface", "bus", "mem", + "gpll0_mss_clk", "snoc_axi", "mnoc_axi" qcom,sdm845-mss-pil: must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss", "snoc_axi", "mnoc_axi" -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Proxy vote for QDSS clock and remove vote on handover interrupt to provide MSS PBL with access to STM hardware registers during boot. Add "snoc_axi" and "mnoc_axi" to the active clock list. Fixes: 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc on msm8996") Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- drivers/remoteproc/qcom_q6v5_mss.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index 01be7314e176..2f12901dd1a7 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -1398,6 +1398,7 @@ static const struct rproc_hexagon_res msm8996_mss = { .proxy_clk_names = (char*[]){ "xo", "pnoc", + "qdss", NULL }, .active_clk_names = (char*[]){ @@ -1405,6 +1406,8 @@ static const struct rproc_hexagon_res msm8996_mss = { "bus", "mem", "gpll0_mss_clk", + "snoc_axi", + "mnoc_axi", NULL }, .need_mem_protection = true, -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Fixup regulator supply dependencies for Q6V5 MSS on MSM996 SoCs. Fixes: 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc on msm8996") Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- v3: * Fixup dt-binding documentation as suggested by Doug .../bindings/remoteproc/qcom,q6v5.txt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt index af8788783e2b..65713de70be5 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt @@ -76,6 +76,19 @@ on the Qualcomm Hexagon core. must be "mss_restart", "pdc_reset" for the modem sub-system on SDM845 SoCs +For the compatible strings below the following supplies are required: + "qcom,q6v5-pil" + "qcom,msm8916-mss-pil", +- cx-supply: +- mx-supply: +- pll-supply: + Usage: required + Value type: <phandle> + Definition: reference to the regulators to be held on behalf of the + booting of the Hexagon core + +For the compatible string below the following supplies are required: + "qcom,msm8974-mss-pil" - cx-supply: - mss-supply: - mx-supply: @@ -85,6 +98,14 @@ on the Qualcomm Hexagon core. Definition: reference to the regulators to be held on behalf of the booting of the Hexagon core +For the compatible string below the following supplies are required: + "qcom,msm8996-mss-pil" +- pll-supply: + Usage: required + Value type: <phandle> + Definition: reference to the regulators to be held on behalf of the + booting of the Hexagon core + - qcom,smem-states: Usage: required Value type: <phandle> -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Add proxy vote for pll supply on MSM8996 SoC. Fixes: 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc on msm8996") Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- drivers/remoteproc/qcom_q6v5_mss.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index 2f12901dd1a7..f80b17b16e98 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -1395,6 +1395,13 @@ static const struct rproc_hexagon_res sdm845_mss = { static const struct rproc_hexagon_res msm8996_mss = { .hexagon_mba_image = "mba.mbn", + .proxy_supply = (struct qcom_mss_reg_res[]) { + { + .supply = "pll", + .uA = 100000, + }, + {} + }, .proxy_clk_names = (char*[]){ "xo", "pnoc", -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Add power-domain bindings for Q6V5 MSS on MSM8996 and SDM845 SoCs. Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- v3: * Fixup dt-binding documentation as suggested by Doug * Dropping Rob's Reviewed-by due to documentation style change v2: * Add load_state power-domain * List cx and mx power-domains for MSM8996 .../bindings/remoteproc/qcom,q6v5.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt index 65713de70be5..17ecaae5e5e0 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt @@ -106,6 +106,25 @@ For the compatible string below the following supplies are required: Definition: reference to the regulators to be held on behalf of the booting of the Hexagon core +- power-domains: + Usage: required + Value type: <phandle> + Definition: reference to power-domains that match power-domain-names + +- power-domain-names: + Usage: required + Value type: <stringlist> + Definition: The power-domains needed depend on the compatible string: + qcom,q6v5-pil: + qcom,ipq8074-wcss-pil: + qcom,msm8916-mss-pil: + qcom,msm8974-mss-pil: + no power-domain names required + qcom,msm8996-mss-pil: + must be "cx", "mx" + qcom,sdm845-mss-pil: + must be "cx", "mx", "mss", "load_state" + - qcom,smem-states: Usage: required Value type: <phandle> -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
This patch adds Q6V5 MSS remoteproc node for SDM845 SoCs. Signed-off-by: Sibi Sankar <sibis@codeaurora.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> --- v3: * with shutdown-ack irq redesign make it mandatory, merge multiple patches into a single one v2: * Fixed style changes * Added missing clocks in the dt-bindings * Split mss remoteproc node into a number of patches This patch depends on the following bindings: https://patchwork.kernel.org/patch/10662089/ - mba/mpss reserved regions https://patchwork.kernel.org/patch/10657325/ - pdc reset node https://patchwork.kernel.org/patch/10740127/ - rpmhpd dt bindings https://patchwork.kernel.org/patch/10740109/ - rpmhpd dt node https://patchwork.kernel.org/patch/10678301/ - AOP QMP dt bindings https://patchwork.kernel.org/patch/10742083/ - shutdown-irq binding arch/arm64/boot/dts/qcom/sdm845.dtsi | 60 ++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi index 5da9fa1feb8a..db17216a5bce 100644 --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -1366,6 +1366,66 @@ }; }; + remoteproc@4080000 { + compatible = "qcom,sdm845-mss-pil"; + reg = <0x04080000 0x408>, <0x04180000 0x48>; + reg-names = "qdsp6", "rmb"; + + interrupts-extended = + <&intc GIC_SPI 266 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_MSS_Q6_MEMNOC_AXI_CLK>, + <&gcc GCC_BOOT_ROM_AHB_CLK>, + <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>, + <&gcc GCC_MSS_SNOC_AXI_CLK>, + <&gcc GCC_MSS_MFAB_AXIS_CLK>, + <&gcc GCC_PRNG_AHB_CLK>, + <&rpmhcc RPMH_CXO_CLK>; + clock-names = "iface", "bus", "mem", "gpll0_mss", + "snoc_axi", "mnoc_axi", "prng", "xo"; + + qcom,smem-states = <&modem_smp2p_out 0>; + qcom,smem-state-names = "stop"; + + resets = <&aoss_reset AOSS_CC_MSS_RESTART>, + <&pdc_reset PDC_MODEM_SYNC_RESET>; + reset-names = "mss_restart", "pdc_reset"; + + qcom,halt-regs = <&tcsr_mutex_regs + 0x23000 0x25000 0x24000>; + + power-domains = <&aoss_qmp_pd AOSS_QMP_LS_MODEM>, + <&rpmhpd SDM845_CX>, + <&rpmhpd SDM845_MX>, + <&rpmhpd SDM845_MSS>; + power-domain-names = "load_state", "cx", "mx", "mss"; + + mba { + memory-region = <&mba_region>; + }; + + mpss { + memory-region = <&mpss_region>; + }; + + glink-edge { + interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>; + label = "modem"; + qcom,remote-pid = <1>; + mboxes = <&apss_shared 12>; + mbox-names = "mpss_smem"; + }; + }; + usb_1_hsphy: phy@88e2000 { compatible = "qcom,sdm845-qusb2-phy"; reg = <0x88e2000 0x400>; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
On Wed, Dec 26, 2018 at 06:22:28PM +0530, Sibi Sankar wrote:
> Add power-domain bindings for Q6V5 MSS on MSM8996 and SDM845 SoCs.
>
> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> ---
>
> v3:
> * Fixup dt-binding documentation as suggested by Doug
> * Dropping Rob's Reviewed-by due to documentation style
> change
>
> v2:
> * Add load_state power-domain
> * List cx and mx power-domains for MSM8996
>
> .../bindings/remoteproc/qcom,q6v5.txt | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
Reviewed-by: Rob Herring <robh@kernel.org>
On Wed, 26 Dec 2018 18:22:22 +0530, Sibi Sankar wrote:
> Add missing qcom,remote-pid dt binding required for GLINK SMEM
> which specifies the remote endpoint of the GLINK edge.
>
> Fixes: 2b41d6c8e696 ("dt-bindings: soc: qcom: Extend GLINK to cover
> SMEM")
>
> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> Reviewed-by: Doug Anderson <dianders@chromium.org>
> ---
>
> v3:
> * Fixed typo
>
> Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt | 5 +++++
> 1 file changed, 5 insertions(+)
>
Reviewed-by: Rob Herring <robh@kernel.org>
On Wed, Dec 26, 2018 at 06:22:23PM +0530, Sibi Sankar wrote:
> Add missing clock bindings for Q6V5 MSS on SDM845 SoCs.
>
> Fixes: fb22022ff63d ("dt-bindings: remoteproc: Add Q6v5 Modem PIL
> binding for SDM845")
>
> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> ---
>
> v3:
> * Fixup dt-binding documentation as suggested by Doug
>
> .../devicetree/bindings/remoteproc/qcom,q6v5.txt | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
> index 9ff5b0309417..20dd19f9ed99 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
> @@ -39,13 +39,21 @@ on the Qualcomm Hexagon core.
> - clocks:
> Usage: required
> Value type: <phandle>
> - Definition: reference to the iface, bus and mem clocks to be held on
> - behalf of the booting of the Hexagon core
> + Definition: reference to the clocks that match clock-names
>
> - clock-names:
> Usage: required
> Value type: <stringlist>
> - Definition: must be "iface", "bus", "mem"
> + Definition: The clocks needed depend on the compatible string:
> + qcom,ipq8074-wcss-pil:
> + no clock names required
> + qcom,q6v5-pil:
> + qcom,msm8916-mss-pil:
> + qcom,msm8974-mss-pil:
> + must be "iface", "bus", "mem", "xo"
> + qcom,sdm845-mss-pil:
> + must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss",
> + "snoc_axi", "mnoc_axi"
Please keep the same order for the 4 clocks which are the same.
Rob
On Wed, 26 Dec 2018 18:22:26 +0530, Sibi Sankar wrote:
> Fixup regulator supply dependencies for Q6V5 MSS on MSM996 SoCs.
>
> Fixes: 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc
> on msm8996")
>
> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> ---
>
> v3:
> * Fixup dt-binding documentation as suggested by Doug
>
> .../bindings/remoteproc/qcom,q6v5.txt | 21 +++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
Reviewed-by: Rob Herring <robh@kernel.org>
Hi Rob, Thanks for the review! On 2018-12-28 02:51, Rob Herring wrote: > On Wed, Dec 26, 2018 at 06:22:23PM +0530, Sibi Sankar wrote: >> Add missing clock bindings for Q6V5 MSS on SDM845 SoCs. >> >> Fixes: fb22022ff63d ("dt-bindings: remoteproc: Add Q6v5 Modem PIL >> binding for SDM845") >> >> Signed-off-by: Sibi Sankar <sibis@codeaurora.org> >> --- >> >> v3: >> * Fixup dt-binding documentation as suggested by Doug >> >> .../devicetree/bindings/remoteproc/qcom,q6v5.txt | 14 >> +++++++++++--- >> 1 file changed, 11 insertions(+), 3 deletions(-) >> >> diff --git >> a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt >> b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt >> index 9ff5b0309417..20dd19f9ed99 100644 >> --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt >> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt >> @@ -39,13 +39,21 @@ on the Qualcomm Hexagon core. >> - clocks: >> Usage: required >> Value type: <phandle> >> - Definition: reference to the iface, bus and mem clocks to be held on >> - behalf of the booting of the Hexagon core >> + Definition: reference to the clocks that match clock-names >> >> - clock-names: >> Usage: required >> Value type: <stringlist> >> - Definition: must be "iface", "bus", "mem" >> + Definition: The clocks needed depend on the compatible string: >> + qcom,ipq8074-wcss-pil: >> + no clock names required >> + qcom,q6v5-pil: >> + qcom,msm8916-mss-pil: >> + qcom,msm8974-mss-pil: >> + must be "iface", "bus", "mem", "xo" >> + qcom,sdm845-mss-pil: >> + must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss", >> + "snoc_axi", "mnoc_axi" > > Please keep the same order for the 4 clocks which are the same. Will re-order them in the next re-spin. > > Rob -- -- Sibi Sankar -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.