* [PATCH 0/2] Add devicetree support for SDX55 Modem and MTP @ 2020-11-24 14:00 Manivannan Sadhasivam 2020-11-24 14:00 ` [PATCH 1/2] dt-bindings: arm: qcom: Document SDX55 Modem and boards Manivannan Sadhasivam 2020-11-24 14:00 ` [PATCH 2/2] ARM: dts: qcom: Add SDX55 Modem and MTP board support Manivannan Sadhasivam 0 siblings, 2 replies; 5+ messages in thread From: Manivannan Sadhasivam @ 2020-11-24 14:00 UTC (permalink / raw) To: agross, bjorn.andersson, robh+dt Cc: vkoul, linux-arm-msm, devicetree, linux-kernel, Manivannan Sadhasivam Hello, This series adds devicetree support for Qualcomm SDX55 Modem and MTP board. This series functionally depends on Clock support series [1] which is under review. With the current devicetree support, the MTP can boot into initramfs shell. Thanks, Mani [1] https://lore.kernel.org/linux-arm-msm/20201119072714.14460-1-manivannan.sadhasivam@linaro.org/ Manivannan Sadhasivam (1): ARM: dts: qcom: Add SDX55 Modem and MTP board support Vinod Koul (1): dt-bindings: arm: qcom: Document SDX55 Modem and boards .../devicetree/bindings/arm/qcom.yaml | 6 + arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/qcom-sdx55-mtp.dts | 27 +++ arch/arm/boot/dts/qcom-sdx55.dtsi | 205 ++++++++++++++++++ 4 files changed, 240 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/qcom-sdx55-mtp.dts create mode 100644 arch/arm/boot/dts/qcom-sdx55.dtsi -- 2.25.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] dt-bindings: arm: qcom: Document SDX55 Modem and boards 2020-11-24 14:00 [PATCH 0/2] Add devicetree support for SDX55 Modem and MTP Manivannan Sadhasivam @ 2020-11-24 14:00 ` Manivannan Sadhasivam 2020-11-24 14:57 ` Bjorn Andersson 2020-11-24 14:00 ` [PATCH 2/2] ARM: dts: qcom: Add SDX55 Modem and MTP board support Manivannan Sadhasivam 1 sibling, 1 reply; 5+ messages in thread From: Manivannan Sadhasivam @ 2020-11-24 14:00 UTC (permalink / raw) To: agross, bjorn.andersson, robh+dt Cc: vkoul, linux-arm-msm, devicetree, linux-kernel, Manivannan Sadhasivam From: Vinod Koul <vkoul@kernel.org> Document the SDX55 Modem binding and also the boards using it. Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> --- Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml index ad25deba4d86..4362e8f0d495 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -39,6 +39,7 @@ description: | sc7180 sdm630 sdm660 + sdx55 sdm845 sm8250 @@ -178,4 +179,9 @@ properties: - qcom,sm8250-mtp - const: qcom,sm8250 + - items: + - enum: + - qcom,sdx55-mtp + - const: qcom,sdx55 + ... -- 2.25.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: qcom: Document SDX55 Modem and boards 2020-11-24 14:00 ` [PATCH 1/2] dt-bindings: arm: qcom: Document SDX55 Modem and boards Manivannan Sadhasivam @ 2020-11-24 14:57 ` Bjorn Andersson 0 siblings, 0 replies; 5+ messages in thread From: Bjorn Andersson @ 2020-11-24 14:57 UTC (permalink / raw) To: Manivannan Sadhasivam Cc: agross, robh+dt, vkoul, linux-arm-msm, devicetree, linux-kernel On Tue 24 Nov 08:00 CST 2020, Manivannan Sadhasivam wrote: > From: Vinod Koul <vkoul@kernel.org> > > Document the SDX55 Modem binding and also the boards using it. It's not really the "SDX55 Modem", it's the "SDX55 platform". That way things become less confusing when we actually add the modem on SDX55 later. > > Signed-off-by: Vinod Koul <vkoul@kernel.org> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- > Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml > index ad25deba4d86..4362e8f0d495 100644 > --- a/Documentation/devicetree/bindings/arm/qcom.yaml > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml > @@ -39,6 +39,7 @@ description: | > sc7180 > sdm630 > sdm660 > + sdx55 'x' > 'm', so this should go one line down. Regards, Bjorn > sdm845 > sm8250 > > @@ -178,4 +179,9 @@ properties: > - qcom,sm8250-mtp > - const: qcom,sm8250 > > + - items: > + - enum: > + - qcom,sdx55-mtp > + - const: qcom,sdx55 > + > ... > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] ARM: dts: qcom: Add SDX55 Modem and MTP board support 2020-11-24 14:00 [PATCH 0/2] Add devicetree support for SDX55 Modem and MTP Manivannan Sadhasivam 2020-11-24 14:00 ` [PATCH 1/2] dt-bindings: arm: qcom: Document SDX55 Modem and boards Manivannan Sadhasivam @ 2020-11-24 14:00 ` Manivannan Sadhasivam 2020-11-24 15:03 ` Bjorn Andersson 1 sibling, 1 reply; 5+ messages in thread From: Manivannan Sadhasivam @ 2020-11-24 14:00 UTC (permalink / raw) To: agross, bjorn.andersson, robh+dt Cc: vkoul, linux-arm-msm, devicetree, linux-kernel, Manivannan Sadhasivam Add basic devicetree support for SDX55 Modem and MTP board from Qualcomm. The SDX55 modem features an ARM Cortex A7 CPU which forms the Application Processor Sub System (APSS) along with standard Qualcomm peripherals like GCC, TLMM, BLSP, QPIC, BAM etc... Along with these, there exists the networking parts such as IPA, MHI, PCIE-EP, EMAC etc.. Currently, this basic devicetree support includes GCC, RPMh clock, INTC and Debug UART. Co-developed-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> --- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/qcom-sdx55-mtp.dts | 27 ++++ arch/arm/boot/dts/qcom-sdx55.dtsi | 205 +++++++++++++++++++++++++++ 3 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/qcom-sdx55-mtp.dts create mode 100644 arch/arm/boot/dts/qcom-sdx55.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index ce66ffd5a1bb..1505c6cdc5ca 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -917,7 +917,8 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-msm8974-sony-xperia-amami.dtb \ qcom-msm8974-sony-xperia-castor.dtb \ qcom-msm8974-sony-xperia-honami.dtb \ - qcom-mdm9615-wp8548-mangoh-green.dtb + qcom-mdm9615-wp8548-mangoh-green.dtb \ + qcom-sdx55-mtp.dtb dtb-$(CONFIG_ARCH_RDA) += \ rda8810pl-orangepi-2g-iot.dtb \ rda8810pl-orangepi-i96.dtb diff --git a/arch/arm/boot/dts/qcom-sdx55-mtp.dts b/arch/arm/boot/dts/qcom-sdx55-mtp.dts new file mode 100644 index 000000000000..8c39db4ae792 --- /dev/null +++ b/arch/arm/boot/dts/qcom-sdx55-mtp.dts @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2020, Linaro Ltd. + */ + +/dts-v1/; + +#include "qcom-sdx55.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. SDX55 MTP"; + compatible = "qcom,sdx55-mtp", "qcom,sdx55", "qcom,mtp"; + qcom,board-id = <0x5010008 0x0>; + + aliases { + serial0 = &blsp1_uart3; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; + +&blsp1_uart3 { + status = "ok"; +}; diff --git a/arch/arm/boot/dts/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom-sdx55.dtsi new file mode 100644 index 000000000000..9e0b964e4c57 --- /dev/null +++ b/arch/arm/boot/dts/qcom-sdx55.dtsi @@ -0,0 +1,205 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * SDX55 SoC device tree source + * + * Copyright (c) 2018, The Linux Foundation. All rights reserved. + * Copyright (c) 2020, Linaro Ltd. + */ + +/dts-v1/; + +#include <dt-bindings/clock/qcom,gcc-sdx55.h> +#include <dt-bindings/clock/qcom,rpmh.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/soc/qcom,rpmh-rsc.h> + +/ { + #address-cells = <1>; + #size-cells = <1>; + model = "Qualcomm Technologies, Inc. SDX55"; + compatible = "qcom,sdx55"; + qcom,msm-id = <357 0x10000>, <368 0x10000>, <418 0x10000>; + interrupt-parent = <&intc>; + + memory { + device_type = "memory"; + reg = <0 0>; + }; + + clocks { + xo_board: xo-board { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <38400000>; + clock-output-names = "xo_board"; + }; + + sleep_clk: sleep-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32000>; + }; + + pll_test_clk: pll-test-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <400000000>; + }; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x0>; + enable-method = "psci"; + }; + }; + + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + }; + + soc: soc { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + timer { + compatible = "arm,armv7-timer"; + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; + clock-frequency = <19200000>; + }; + + gcc: clock-controller@100000 { + compatible = "qcom,gcc-sdx55"; + reg = <0x100000 0x1f0000>; + #clock-cells = <1>; + #reset-cells = <1>; + clock-names = "bi_tcxo", "sleep_clk", "core_bi_pll_test_se"; + clocks = <&rpmhcc RPMH_CXO_CLK>, + <&sleep_clk>, <&pll_test_clk>; + }; + + blsp1_uart3: serial@831000 { + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; + reg = <0x00831000 0x200>; + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_LOW>; + clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, + <&gcc GCC_BLSP1_AHB_CLK>; + clock-names = "core", "iface"; + status = "disabled"; + }; + + pdc: interrupt-controller@b210000 { + compatible = "qcom,sdx55-pdc", "qcom,pdc"; + reg = <0x0b210000 0x30000>; + qcom,pdc-ranges = <0 179 52>; + #interrupt-cells = <3>; + interrupt-parent = <&intc>; + interrupt-controller; + }; + + intc: interrupt-controller@17800000 { + compatible = "qcom,msm-qgic2"; + interrupt-controller; + interrupt-parent = <&intc>; + #interrupt-cells = <3>; + reg = <0x17800000 0x1000>, + <0x17802000 0x1000>; + }; + + timer@17820000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "arm,armv7-timer-mem"; + reg = <0x17820000 0x1000>; + clock-frequency = <19200000>; + + frame@17821000 { + frame-number = <0>; + interrupts = <GIC_SPI 7 0x4>, + <GIC_SPI 6 0x4>; + reg = <0x17821000 0x1000>, + <0x17822000 0x1000>; + }; + + frame@17823000 { + frame-number = <1>; + interrupts = <GIC_SPI 8 0x4>; + reg = <0x17823000 0x1000>; + status = "disabled"; + }; + + frame@17824000 { + frame-number = <2>; + interrupts = <GIC_SPI 9 0x4>; + reg = <0x17824000 0x1000>; + status = "disabled"; + }; + + frame@17825000 { + frame-number = <3>; + interrupts = <GIC_SPI 10 0x4>; + reg = <0x17825000 0x1000>; + status = "disabled"; + }; + + frame@17826000 { + frame-number = <4>; + interrupts = <GIC_SPI 11 0x4>; + reg = <0x17826000 0x1000>; + status = "disabled"; + }; + + frame@17827000 { + frame-number = <5>; + interrupts = <GIC_SPI 12 0x4>; + reg = <0x17827000 0x1000>; + status = "disabled"; + }; + + frame@17828000 { + frame-number = <6>; + interrupts = <GIC_SPI 13 0x4>; + reg = <0x17828000 0x1000>; + status = "disabled"; + }; + + frame@17829000 { + frame-number = <7>; + interrupts = <GIC_SPI 14 0x4>; + reg = <0x17829000 0x1000>; + status = "disabled"; + }; + }; + + apps_rsc: rsc@17840000 { + compatible = "qcom,rpmh-rsc"; + reg = <0x17830000 0x10000>, <0x17840000 0x10000>; + reg-names = "drv-0", "drv-1"; + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; + qcom,tcs-offset = <0xd00>; + qcom,drv-id = <1>; + qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 2>, + <WAKE_TCS 2>, <CONTROL_TCS 1>; + + rpmhcc: clock-controller { + compatible = "qcom,sdx55-rpmh-clk"; + #clock-cells = <1>; + clock-names = "xo"; + clocks = <&xo_board>; + }; + }; + }; +}; -- 2.25.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] ARM: dts: qcom: Add SDX55 Modem and MTP board support 2020-11-24 14:00 ` [PATCH 2/2] ARM: dts: qcom: Add SDX55 Modem and MTP board support Manivannan Sadhasivam @ 2020-11-24 15:03 ` Bjorn Andersson 0 siblings, 0 replies; 5+ messages in thread From: Bjorn Andersson @ 2020-11-24 15:03 UTC (permalink / raw) To: Manivannan Sadhasivam Cc: agross, robh+dt, vkoul, linux-arm-msm, devicetree, linux-kernel On Tue 24 Nov 08:00 CST 2020, Manivannan Sadhasivam wrote: > Add basic devicetree support for SDX55 Modem and MTP board from Again, let's call is "SDX55 platform". > Qualcomm. The SDX55 modem features an ARM Cortex A7 CPU which forms the > Application Processor Sub System (APSS) along with standard Qualcomm > peripherals like GCC, TLMM, BLSP, QPIC, BAM etc... Along with these, > there exists the networking parts such as IPA, MHI, PCIE-EP, EMAC > etc.. And here you can mention that there's a modem. > > Currently, this basic devicetree support includes GCC, RPMh clock, INTC > and Debug UART. > > Co-developed-by: Vinod Koul <vkoul@kernel.org> > Signed-off-by: Vinod Koul <vkoul@kernel.org> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- > arch/arm/boot/dts/Makefile | 3 +- > arch/arm/boot/dts/qcom-sdx55-mtp.dts | 27 ++++ > arch/arm/boot/dts/qcom-sdx55.dtsi | 205 +++++++++++++++++++++++++++ > 3 files changed, 234 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/boot/dts/qcom-sdx55-mtp.dts > create mode 100644 arch/arm/boot/dts/qcom-sdx55.dtsi > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index ce66ffd5a1bb..1505c6cdc5ca 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -917,7 +917,8 @@ dtb-$(CONFIG_ARCH_QCOM) += \ > qcom-msm8974-sony-xperia-amami.dtb \ > qcom-msm8974-sony-xperia-castor.dtb \ > qcom-msm8974-sony-xperia-honami.dtb \ > - qcom-mdm9615-wp8548-mangoh-green.dtb > + qcom-mdm9615-wp8548-mangoh-green.dtb \ > + qcom-sdx55-mtp.dtb > dtb-$(CONFIG_ARCH_RDA) += \ > rda8810pl-orangepi-2g-iot.dtb \ > rda8810pl-orangepi-i96.dtb > diff --git a/arch/arm/boot/dts/qcom-sdx55-mtp.dts b/arch/arm/boot/dts/qcom-sdx55-mtp.dts > new file mode 100644 > index 000000000000..8c39db4ae792 > --- /dev/null > +++ b/arch/arm/boot/dts/qcom-sdx55-mtp.dts > @@ -0,0 +1,27 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. > + * Copyright (c) 2020, Linaro Ltd. > + */ > + > +/dts-v1/; > + > +#include "qcom-sdx55.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. SDX55 MTP"; > + compatible = "qcom,sdx55-mtp", "qcom,sdx55", "qcom,mtp"; Do we need "qcom,mtp"? > + qcom,board-id = <0x5010008 0x0>; > + > + aliases { > + serial0 = &blsp1_uart3; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > +}; > + > +&blsp1_uart3 { > + status = "ok"; > +}; > diff --git a/arch/arm/boot/dts/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom-sdx55.dtsi > new file mode 100644 > index 000000000000..9e0b964e4c57 > --- /dev/null > +++ b/arch/arm/boot/dts/qcom-sdx55.dtsi > @@ -0,0 +1,205 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * SDX55 SoC device tree source > + * > + * Copyright (c) 2018, The Linux Foundation. All rights reserved. > + * Copyright (c) 2020, Linaro Ltd. > + */ > + > +/dts-v1/; We seem to mix a little bit in the arm/qcom dts files, but the general pattern is to put this only in the dts files. > + > +#include <dt-bindings/clock/qcom,gcc-sdx55.h> > +#include <dt-bindings/clock/qcom,rpmh.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > +#include <dt-bindings/soc/qcom,rpmh-rsc.h> > + > +/ { > + #address-cells = <1>; > + #size-cells = <1>; > + model = "Qualcomm Technologies, Inc. SDX55"; > + compatible = "qcom,sdx55"; model and compatible should always be specified in the including .dts (as you do), so I would prefer if you omit these. > + qcom,msm-id = <357 0x10000>, <368 0x10000>, <418 0x10000>; > + interrupt-parent = <&intc>; > + > + memory { > + device_type = "memory"; > + reg = <0 0>; > + }; > + > + clocks { > + xo_board: xo-board { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <38400000>; > + clock-output-names = "xo_board"; > + }; > + > + sleep_clk: sleep-clk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <32000>; > + }; > + > + pll_test_clk: pll-test-clk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <400000000>; > + }; > + }; > + > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + > + cpu0: cpu@0 { > + device_type = "cpu"; > + compatible = "arm,cortex-a7"; > + reg = <0x0>; > + enable-method = "psci"; > + }; > + }; > + > + psci { > + compatible = "arm,psci-1.0"; > + method = "smc"; > + }; > + > + soc: soc { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + compatible = "simple-bus"; > + > + timer { If timer doesn't have a reg, it should go outside soc {} Regards, Bjorn ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-11-24 15:04 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-11-24 14:00 [PATCH 0/2] Add devicetree support for SDX55 Modem and MTP Manivannan Sadhasivam 2020-11-24 14:00 ` [PATCH 1/2] dt-bindings: arm: qcom: Document SDX55 Modem and boards Manivannan Sadhasivam 2020-11-24 14:57 ` Bjorn Andersson 2020-11-24 14:00 ` [PATCH 2/2] ARM: dts: qcom: Add SDX55 Modem and MTP board support Manivannan Sadhasivam 2020-11-24 15:03 ` Bjorn Andersson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).