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 <vk...@kernel.org>
> Signed-off-by: Vinod Koul <vk...@kernel.org>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasi...@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

Reply via email to