Commit 6a5d3c61 authored by Manivannan Sadhasivam's avatar Manivannan Sadhasivam Committed by Bjorn Andersson
Browse files

ARM: dts: qcom: sdx55: Add basic devicetree support for Telit FN980 TLB



Telit FN980 TLB is the development platform based on the Qualcomm SDX55
chipset. This basic support includes support for debug serial, NAND
flash, BAM DMA, USB and regulators support.

Signed-off-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20210408170457.91409-12-manivannan.sadhasivam@linaro.org


Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 222ed6a2
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -929,7 +929,8 @@ dtb-$(CONFIG_ARCH_QCOM) += \
	qcom-msm8974-sony-xperia-castor.dtb \
	qcom-msm8974-sony-xperia-honami.dtb \
	qcom-mdm9615-wp8548-mangoh-green.dtb \
	qcom-sdx55-mtp.dtb
	qcom-sdx55-mtp.dtb \
	qcom-sdx55-telit-fn980-tlb.dtb
dtb-$(CONFIG_ARCH_RDA) += \
	rda8810pl-orangepi-2g-iot.dtb \
	rda8810pl-orangepi-i96.dtb
+282 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, Linaro Ltd.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "qcom-sdx55.dtsi"
#include "qcom-pmx55.dtsi"

/ {
	model = "Telit FN980 TLB";
	compatible = "qcom,sdx55-telit-fn980-tlb", "qcom,sdx55";
	qcom,board-id = <0xb010008 0x0>;

	aliases {
		serial0 = &blsp1_uart3;
	};

	chosen {
		stdout-path = "serial0:921600n8";
	};

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		mpss_debug_mem: memory@8ef00000 {
			no-map;
			reg = <0x8ef00000 0x800000>;
		};

		ipa_fw_mem: memory@8fced000 {
			no-map;
			reg = <0x8fced000 0x10000>;
		};

		mpss_adsp_mem: memory@90800000 {
			no-map;
			reg = <0x90800000 0xf800000>;
		};
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3700000>;
		regulator-max-microvolt = <3700000>;
	};

	vreg_bob_3p3: pmx55-bob {
		compatible = "regulator-fixed";
		regulator-name = "vreg_bob_3p3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		regulator-always-on;
		regulator-boot-on;

		vin-supply = <&vph_pwr>;
	};

	vreg_s7e_mx_0p752: pmx55-s7e {
		compatible = "regulator-fixed";
		regulator-name = "vreg_s7e_mx_0p752";
		regulator-min-microvolt = <752000>;
		regulator-max-microvolt = <752000>;

		vin-supply = <&vph_pwr>;
	};

	vreg_sd_vdd: sd-vdd {
		compatible = "regulator-fixed";
		regulator-name = "vreg_sd_vdd";
		regulator-min-microvolt = <2950000>;
		regulator-max-microvolt = <2950000>;

		vin-supply = <&vreg_vddpx_2>;
	};

	vreg_vddpx_2: vddpx-2 {
		compatible = "regulator-gpio";
		regulator-name = "vreg_vddpx_2";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <2850000>;
		enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
		gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
		states = <1800000 0>, <2850000 1>;
		startup-delay-us = <200000>;
		enable-active-high;
		regulator-boot-on;

		vin-supply = <&vph_pwr>;
	};
};

&apps_rsc {
	pmx55-rpmh-regulators {
		compatible = "qcom,pmx55-rpmh-regulators";
		qcom,pmic-id = "e";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-s6-supply = <&vph_pwr>;
		vdd-s7-supply = <&vph_pwr>;
		vdd-l1-l2-supply = <&vreg_s2e_1p224>;
		vdd-l3-l9-supply = <&vreg_s3e_0p824>;
		vdd-l4-l12-supply = <&vreg_s4e_1p904>;
		vdd-l5-l6-supply = <&vreg_s4e_1p904>;
		vdd-l7-l8-supply = <&vreg_s3e_0p824>;
		vdd-l10-l11-l13-supply = <&vreg_bob_3p3>;
		vdd-l14-supply = <&vreg_s7e_mx_0p752>;
		vdd-l15-supply = <&vreg_s2e_1p224>;
		vdd-l16-supply = <&vreg_s4e_1p904>;

		vreg_s2e_1p224: smps2 {
			regulator-min-microvolt = <1280000>;
			regulator-max-microvolt = <1400000>;
		};

		vreg_s3e_0p824: smps3 {
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <1000000>;
		};

		vreg_s4e_1p904: smps4 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1960000>;
		};

		vreg_l1e_bb_1p2: ldo1 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo2 {
			regulator-min-microvolt = <1128000>;
			regulator-max-microvolt = <1128000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo3 {
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		vreg_l4e_bb_0p875: ldo4 {
			regulator-min-microvolt = <872000>;
			regulator-max-microvolt = <872000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		vreg_l5e_bb_1p7: ldo5 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <1900000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo6 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo7 {
			regulator-min-microvolt = <480000>;
			regulator-max-microvolt = <900000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo8 {
			regulator-min-microvolt = <480000>;
			regulator-max-microvolt = <900000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo9 {
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		vreg_l10e_3p1: ldo10 {
			regulator-min-microvolt = <3088000>;
			regulator-max-microvolt = <3088000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo11 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo12 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo13 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo14 {
			regulator-min-microvolt = <600000>;
			regulator-max-microvolt = <800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo15 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		ldo16 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <1904000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};
	};
};

&blsp1_uart3 {
	status = "ok";
};

&qpic_bam {
	status = "ok";
};

&qpic_nand {
	status = "ok";

	nand@0 {
		reg = <0>;

		nand-ecc-strength = <8>;
		nand-ecc-step-size = <512>;
		nand-bus-width = <8>;
		/* ico and efs2 partitions are secured */
		secure-regions = <0x500000 0x500000
				  0xa00000 0xb00000>;
	};
};

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

&usb_hsphy {
	status = "okay";
	vdda-pll-supply = <&vreg_l4e_bb_0p875>;
	vdda33-supply = <&vreg_l10e_3p1>;
	vdda18-supply = <&vreg_l5e_bb_1p7>;
};

&usb_qmpphy {
	status = "okay";
	vdda-phy-supply = <&vreg_l4e_bb_0p875>;
	vdda-pll-supply = <&vreg_l1e_bb_1p2>;
};

&usb {
	status = "okay";
};

&usb_dwc3 {
	dr_mode = "peripheral";
};