arm64: dts: qcom: Add support for Microsoft Lumia 950 XL (Cityman)
authorKonrad Dybcio <konradybcio@gmail.com>
Mon, 5 Oct 2020 15:03:11 +0000 (17:03 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 11 Nov 2020 04:55:42 +0000 (22:55 -0600)
Add device tree support for Microsoft Lumia 950 XL smartphone.
It is based on the msm8994 chipset and is able to boot Linux
using a custom EDK2 implementation. EL2 core startup is possible
with spin-table, but for now, we'll stick with PSCI.

The board currently supports:
* Screen console via EFIFB
* SDHCI
* I2C
* UART
* PSCI core bringup

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
Link: https://lore.kernel.org/r/20201005150313.149754-12-konradybcio@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/msm8994-msft-lumia-cityman.dts [new file with mode: 0644]

index 3573f7a..90887aa 100644 (file)
@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += msm8992-bullhead-rev-101.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8992-msft-lumia-talkman.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8992-xiaomi-libra.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8994-angler-rev-101.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += msm8994-msft-lumia-cityman.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8994-sony-xperia-kitakami-sumire.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8996-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8998-asus-novago-tp370ql.dtb
diff --git a/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-cityman.dts b/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-cityman.dts
new file mode 100644 (file)
index 0000000..ed9034b
--- /dev/null
@@ -0,0 +1,73 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020, Konrad Dybcio
+ */
+
+/dts-v1/;
+
+#include "msm8994.dtsi"
+#include "pm8994.dtsi"
+#include "pmi8994.dtsi"
+
+/ {
+       model = "Microsoft Lumia 950 XL";
+       compatible = "microsoft,cityman", "qcom,msm8994";
+
+       /*
+        * Most Lumia 950XL users use GRUB to load their kernels,
+        * hence there is no need for msm-id and friends.
+        */
+
+       /*
+        * This enables graphical output via bootloader-enabled display.
+        * acpi=no is required due to WP platforms having ACPI support, but
+        * only for Windows-based OSes.
+        */
+       chosen {
+               bootargs = "earlycon=efifb console=efifb acpi=no";
+
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+       };
+};
+
+&blsp_i2c1 {
+       status = "okay";
+
+       rmi4-i2c-dev@4b {
+               compatible = "syna,rmi4-i2c";
+               reg = <0x4b>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               interrupt-parent = <&tlmm>;
+               interrupts = <77 IRQ_TYPE_EDGE_FALLING>;
+
+               rmi4-f01@1 {
+                       reg = <0x01>;
+                       syna,nosleep-mode = <1>;
+               };
+
+               rmi4-f12@12 {
+                       reg = <0x12>;
+                       syna,sensor-type = <1>;
+                       syna,clip-x-low = <0>;
+                       syna,clip-x-high = <1440>;
+                       syna,clip-y-low = <0>;
+                       syna,clip-y-high = <2660>;
+               };
+       };
+};
+
+&blsp1_uart2 {
+       status = "okay";
+};
+
+&blsp2_uart2 {
+       status = "okay";
+};
+
+&sdhc1 {
+       status = "okay";
+};