2022-06-01 19:00:30

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 00/11] Devicetree Changes SDX65

This series adds cpufreq, watchdog dt nodes and enables
remoteproc in sdx65 mtp.

Thanks,
Rohit.

Rohit Agarwal (11):
ARM: dts: qcom: sdx65: Add CPUFreq support
ARM: dts: qcom: sdx65: Add modem SMP2P node
ARM: dts: qcom: sdx65: Add IMEM and PIL info region
dt-bindings: firmware: scm: Add compatible for SDX65
ARM: dts: qcom: sdx65: Add SCM node
ARM: dts: qcom: sdx65: Add Modem remoteproc node
ARM: dts: qcom: sdx65-mtp: Enable modem
ARM: dts: qcom: sdx65-mtp: Increase the vmalloc size
dt-bindings: watchdog: Add binding for Qcom SDX65
ARM: dts: qcom: sdx65: Add Watchdog support
ARM: dts: qcom: sdx65: Add pshold support

.../devicetree/bindings/firmware/qcom,scm.txt | 1 +
.../devicetree/bindings/watchdog/qcom-wdt.yaml | 1 +
arch/arm/boot/dts/qcom-sdx65-mtp.dts | 6 +
arch/arm/boot/dts/qcom-sdx65.dtsi | 124 +++++++++++++++++++++
4 files changed, 132 insertions(+)

--
2.7.4



2022-06-01 19:40:40

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 01/11] ARM: dts: qcom: sdx65: Add CPUFreq support

Add CPUFreq support to SDX65 platform using the cpufreq-dt driver.
There is no dedicated hardware block available on this platform to
carry on the CPUFreq duties. Hence, it is accomplished using the CPU
clock and regulators tied together by the operating points table.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index a75e9f1..2530c4f 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -54,6 +54,35 @@
compatible = "arm,cortex-a7";
reg = <0x0>;
enable-method = "psci";
+ clocks = <&apcs>;
+ power-domains = <&rpmhpd SDX65_CX_AO>;
+ power-domain-names = "rpmhpd";
+ operating-points-v2 = <&cpu_opp_table>;
+ };
+ };
+
+ cpu_opp_table: cpu-opp-table {
+ compatible = "operating-points-v2";
+ opp-shared;
+
+ opp-345600000 {
+ opp-hz = /bits/ 64 <345600000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-576000000 {
+ opp-hz = /bits/ 64 <576000000>;
+ required-opps = <&rpmhpd_opp_svs>;
+ };
+
+ opp-1094400000 {
+ opp-hz = /bits/ 64 <1094400000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+
+ opp-1497600000 {
+ opp-hz = /bits/ 64 <1497600000>;
+ required-opps = <&rpmhpd_opp_turbo>;
};
};

--
2.7.4


2022-06-01 19:46:30

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 08/11] ARM: dts: qcom: sdx65-mtp: Increase the vmalloc size

Increase the size of vmalloc using the bootargs in sdx65
mtp board.
It is failing to alloacte the size needed for firmware and
giving the error logs due to actual vmalloc region lesser than requested.

cat /proc/meminfo shows the size of VmallocTotal as 245760 kB.

[ 10.980356] vmap allocation for size 268439552 failed: use vmalloc=<size> to increase size
[ 10.980505] qcom_q6v5_pas 4080000.remoteproc: unable to map memory region: 0x90800000+10000000
[ 10.988542] In adsp alloc memory: adsp_probe 482
[ 10.988592] remoteproc remoteproc0: releasing 4080000.remoteproc
[ 11.001598] qcom_q6v5_pas: probe of 4080000.remoteproc failed with error -16

Thus, increasing the size to 300000000 as modem is not the only one using vmalloc region.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65-mtp.dts | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts
index 85ea02d..966385f 100644
--- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts
+++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts
@@ -21,6 +21,7 @@

chosen {
stdout-path = "serial0:115200n8";
+ bootargs = "vmalloc=300000000";
};

reserved-memory {
--
2.7.4


2022-06-01 20:00:17

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 07/11] ARM: dts: qcom: sdx65-mtp: Enable modem

Enable modem on SDX65 MTP board.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65-mtp.dts b/arch/arm/boot/dts/qcom-sdx65-mtp.dts
index e747ec0..85ea02d 100644
--- a/arch/arm/boot/dts/qcom-sdx65-mtp.dts
+++ b/arch/arm/boot/dts/qcom-sdx65-mtp.dts
@@ -264,6 +264,11 @@
};
};

+&remoteproc_mpss {
+ status = "okay";
+ memory-region = <&mpss_adsp_mem>;
+};
+
&usb {
status = "okay";
};
--
2.7.4


2022-06-01 20:05:17

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 03/11] ARM: dts: qcom: sdx65: Add IMEM and PIL info region

Add a simple-mfd representing IMEM on SDX65 and define the PIL
relocation info region, so that post mortem tools will be able to locate
the loaded remoteproc.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index 669721e..10e3226 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -395,6 +395,19 @@
interrupt-controller;
};

+ imem@1468f000 {
+ compatible = "simple-mfd";
+ reg = <0x1468f000 0x1000>;
+ ranges = <0x0 0x1468f000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ pil-reloc@94c {
+ compatible = "qcom,pil-reloc-info";
+ reg = <0x94c 0xc8>;
+ };
+ };
+
apps_smmu: iommu@15000000 {
compatible = "qcom,sdx65-smmu-500", "arm,mmu-500";
reg = <0x15000000 0x40000>;
--
2.7.4


2022-06-01 20:29:21

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 06/11] ARM: dts: qcom: sdx65: Add Modem remoteproc node

Add modem support to SDX65 using the PAS remoteproc driver.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index ec08ae1..5e4687d 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -305,6 +305,39 @@
#hwlock-cells = <1>;
};

+ remoteproc_mpss: remoteproc@4080000 {
+ compatible = "qcom,sdx55-mpss-pas";
+ reg = <0x04080000 0x4040>;
+
+ interrupts-extended = <&intc GIC_SPI 250 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 = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+
+ power-domains = <&rpmhpd SDX65_CX>,
+ <&rpmhpd SDX65_MSS>;
+ power-domain-names = "cx", "mss";
+
+ qcom,smem-states = <&modem_smp2p_out 0>;
+ qcom,smem-state-names = "stop";
+
+ status = "disabled";
+
+ glink-edge {
+ interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>;
+ label = "mpss";
+ qcom,remote-pid = <1>;
+ mboxes = <&apcs 15>;
+ };
+ };
+
sdhc_1: sdhci@8804000 {
compatible = "qcom,sdx65-sdhci", "qcom,sdhci-msm-v5";
reg = <0x08804000 0x1000>;
--
2.7.4


2022-06-01 20:34:23

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 09/11] dt-bindings: watchdog: Add binding for Qcom SDX65

Add devicetree binding for watchdog present in Qcom SDX65 platform.

Signed-off-by: Rohit Agarwal <[email protected]>
---
Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
index 16c6f82..e0acbc1 100644
--- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
@@ -20,6 +20,7 @@ properties:
- qcom,apss-wdt-sc7280
- qcom,apss-wdt-sdm845
- qcom,apss-wdt-sdx55
+ - qcom,apss-wdt-sdx65
- qcom,apss-wdt-sm6350
- qcom,apss-wdt-sm8150
- qcom,apss-wdt-sm8250
--
2.7.4


2022-06-01 20:37:56

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 10/11] ARM: dts: qcom: sdx65: Add Watchdog support

Enable Watchdog support for Application Processor Subsystem (APSS) block
on SDX65 platform.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index 5e4687d..c76f330 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -513,6 +513,13 @@
#clock-cells = <0>;
};

+ watchdog@17817000 {
+ compatible = "qcom,apss-wdt-sdx65", "qcom,kpss-wdt";
+ reg = <0x17817000 0x1000>;
+ clocks = <&sleep_clk>;
+ };
+
+
timer@17820000 {
#address-cells = <1>;
#size-cells = <1>;
--
2.7.4


2022-06-01 20:57:42

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 04/11] dt-bindings: firmware: scm: Add compatible for SDX65

Add devicetree compatible for SCM present in SDX65 platform.

Signed-off-by: Rohit Agarwal <[email protected]>
---
Documentation/devicetree/bindings/firmware/qcom,scm.txt | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
index b1cd4ad..a05c00a 100644
--- a/Documentation/devicetree/bindings/firmware/qcom,scm.txt
+++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
@@ -26,6 +26,7 @@ Required properties:
* "qcom,scm-sc7280"
* "qcom,scm-sdm845"
* "qcom,scm-sdx55"
+ * "qcom,scm-sdx65"
* "qcom,scm-sm6350"
* "qcom,scm-sm8150"
* "qcom,scm-sm8250"
--
2.7.4


2022-06-01 21:12:25

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 11/11] ARM: dts: qcom: sdx65: Add pshold support

Add support for pshold block to drive pshold towards the PMIC, which is
used to trigger a configurable event such as reboot or poweroff of the
SDX65 platform.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index c76f330..a249646 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -394,6 +394,11 @@
};
};

+ restart@c264000 {
+ compatible = "qcom,pshold";
+ reg = <0x0c264000 0x1000>;
+ };
+
spmi_bus: qcom,spmi@c440000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0xc440000 0xd00>,
--
2.7.4


2022-06-01 21:27:12

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 05/11] ARM: dts: qcom: sdx65: Add SCM node

Add SCM node to enable SCM functionality on SDX65 platform.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index 10e3226..ec08ae1 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -86,6 +86,12 @@
};
};

+ firmware {
+ scm {
+ compatible = "qcom,scm-sdx65", "qcom,scm";
+ };
+ };
+
psci {
compatible = "arm,psci-1.0";
method = "smc";
--
2.7.4


2022-06-01 21:36:28

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 10/11] ARM: dts: qcom: sdx65: Add Watchdog support

On 01/06/2022 12:45, Rohit Agarwal wrote:
> Enable Watchdog support for Application Processor Subsystem (APSS) block
> on SDX65 platform.
>
> Signed-off-by: Rohit Agarwal <[email protected]>
> ---
> arch/arm/boot/dts/qcom-sdx65.dtsi | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
> index 5e4687d..c76f330 100644
> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi
> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
> @@ -513,6 +513,13 @@
> #clock-cells = <0>;
> };
>
> + watchdog@17817000 {
> + compatible = "qcom,apss-wdt-sdx65", "qcom,kpss-wdt";
> + reg = <0x17817000 0x1000>;
> + clocks = <&sleep_clk>;
> + };
> +

Just one line break, please.



Best regards,
Krzysztof

2022-06-01 21:36:33

by Rohit Agarwal

[permalink] [raw]
Subject: [PATCH 02/11] ARM: dts: qcom: sdx65: Add modem SMP2P node

Add SMP2P nodes for the SDX65 platform to communicate with the modem.

Signed-off-by: Rohit Agarwal <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index 2530c4f..669721e 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -150,6 +150,37 @@
};
};

+ smp2p-mpss {
+ compatible = "qcom,smp2p";
+ qcom,smem = <435>, <428>;
+ interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>;
+ 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>;
+ };
+
+ ipa_smp2p_out: ipa-ap-to-modem {
+ qcom,entry-name = "ipa";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ ipa_smp2p_in: ipa-modem-to-ap {
+ qcom,entry-name = "ipa";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
--
2.7.4


2022-06-28 20:47:17

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 10/11] ARM: dts: qcom: sdx65: Add Watchdog support

On Wed, 1 Jun 2022 16:15:11 +0530, Rohit Agarwal wrote:
> Enable Watchdog support for Application Processor Subsystem (APSS) block
> on SDX65 platform.
>
>

Applied, thanks!

[10/11] ARM: dts: qcom: sdx65: Add Watchdog support
commit: 39eebfce4bdb88f53959d570ab9c8956bb9f0988

Best regards,
--
Bjorn Andersson <[email protected]>

2022-06-28 20:47:26

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 00/11] Devicetree Changes SDX65

On Wed, 1 Jun 2022 16:15:01 +0530, Rohit Agarwal wrote:
> This series adds cpufreq, watchdog dt nodes and enables
> remoteproc in sdx65 mtp.
>
> Thanks,
> Rohit.
>
> Rohit Agarwal (11):
> ARM: dts: qcom: sdx65: Add CPUFreq support
> ARM: dts: qcom: sdx65: Add modem SMP2P node
> ARM: dts: qcom: sdx65: Add IMEM and PIL info region
> dt-bindings: firmware: scm: Add compatible for SDX65
> ARM: dts: qcom: sdx65: Add SCM node
> ARM: dts: qcom: sdx65: Add Modem remoteproc node
> ARM: dts: qcom: sdx65-mtp: Enable modem
> ARM: dts: qcom: sdx65-mtp: Increase the vmalloc size
> dt-bindings: watchdog: Add binding for Qcom SDX65
> ARM: dts: qcom: sdx65: Add Watchdog support
> ARM: dts: qcom: sdx65: Add pshold support
>
> [...]

Applied, thanks!

[01/11] ARM: dts: qcom: sdx65: Add CPUFreq support
commit: b427679adcddf9d56b28175d435fc7ec4d4c99ef
[02/11] ARM: dts: qcom: sdx65: Add modem SMP2P node
commit: 7f928c735880ed20e4d7670416aa7877b47a47d1
[03/11] ARM: dts: qcom: sdx65: Add IMEM and PIL info region
commit: 69117a2abfe0b02c6828979e8a6f9b039908b42a
[05/11] ARM: dts: qcom: sdx65: Add SCM node
commit: 261e09b4e3fb847b9a1e99538e31fdfdc2d1ee90
[06/11] ARM: dts: qcom: sdx65: Add Modem remoteproc node
commit: a3ae01ed96e7efc2525125c36dc8e34186f0d7bc
[07/11] ARM: dts: qcom: sdx65-mtp: Enable modem
commit: aae0f5314f95df66962acfcce23158e2a047b03c
[11/11] ARM: dts: qcom: sdx65: Add pshold support
commit: df6d7b86f4885d370886a44339017e32c80556e7

Best regards,
--
Bjorn Andersson <[email protected]>

2022-06-28 20:54:54

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 04/11] dt-bindings: firmware: scm: Add compatible for SDX65

On Wed, 1 Jun 2022 16:15:05 +0530, Rohit Agarwal wrote:
> Add devicetree compatible for SCM present in SDX65 platform.
>
>

Applied, thanks!

[04/11] dt-bindings: firmware: scm: Add compatible for SDX65
commit: 2ea6af6cc1f58f828180cf6124febbde47a10bad

Best regards,
--
Bjorn Andersson <[email protected]>