diff mbox series

[7/8] arm64: dts: qcom: Add support for Sony Xperia XA2/Plus/Ultra (Nile platform)

Message ID 20200621213806.551879-8-konradybcio@gmail.com
State New
Headers show
Series Add support for Sony SDM630-based boards | expand

Commit Message

Konrad Dybcio June 21, 2020, 9:38 p.m. UTC
Add device tree support for the Sony Xperia XA2, XA2 Plus and
XA2 Ultra smartphones. They are all based on the Sony Nile
platform (sdm630) and share a lot of common code. The
differences are really minor, so a Nile-common DTSI
has been created to reduce clutter.

XA2 - Pioneer
XA2 Plus - Voyager
XA2 Ultra - Discovery

The boards currently support:
* Screen console
* SDHCI
* I2C
* pstore log dump
* GPIO keys
* PSCI idle states

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/Makefile             |   3 +
 .../sdm630-sony-xperia-nile-discovery.dts     |  13 ++
 .../qcom/sdm630-sony-xperia-nile-pioneer.dts  |  13 ++
 .../qcom/sdm630-sony-xperia-nile-voyager.dts  |  20 +++
 .../dts/qcom/sdm630-sony-xperia-nile.dtsi     | 136 ++++++++++++++++++
 5 files changed, 185 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-discovery.dts
 create mode 100644 arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-pioneer.dts
 create mode 100644 arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-voyager.dts
 create mode 100644 arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0f2c33d611df..1cad7cb07574 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -16,6 +16,9 @@  dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-hp-envy-x2.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-lenovo-miix-630.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sdm630-sony-xperia-nile-discovery.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sdm630-sony-xperia-nile-pioneer.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sdm630-sony-xperia-nile-voyager.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm660-xiaomi-lavender.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r1.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r2.dtb
diff --git a/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-discovery.dts b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-discovery.dts
new file mode 100644
index 000000000000..2d7f0ceca4aa
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-discovery.dts
@@ -0,0 +1,13 @@ 
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020, Konrad Dybcio
+ */
+
+/dts-v1/;
+
+#include "sdm630-sony-xperia-nile.dtsi"
+
+/ {
+    model = "SoMC Discovery-RoW";
+    compatible = "sony,discovery-row", "qcom,sdm630", "qcom,sdm630-mtp";
+};
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-pioneer.dts b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-pioneer.dts
new file mode 100644
index 000000000000..45f794440d19
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-pioneer.dts
@@ -0,0 +1,13 @@ 
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020, Konrad Dybcio
+ */
+
+/dts-v1/;
+
+#include "sdm630-sony-xperia-nile.dtsi"
+
+/ {
+    model = "SoMC Pioneer-RoW";
+    compatible = "sony,pioneer-row", "qcom,sdm630", "qcom,sdm630-mtp";
+};
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-voyager.dts b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-voyager.dts
new file mode 100644
index 000000000000..4c2b7fa9d0a4
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-voyager.dts
@@ -0,0 +1,20 @@ 
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020, Konrad Dybcio
+ */
+
+/dts-v1/;
+
+#include "sdm630-sony-xperia-nile.dtsi"
+
+/ {
+    model = "SoMC Voyager-RoW";
+    compatible = "sony,voyager-row", "qcom,sdm630", "qcom,sdm630-mtp";
+
+    chosen {
+        framebuffer@9d400000 {
+            reg = <0 0x9d400000 0 (2160 * 1080 * 4)>;
+            height = <2160>;
+        };
+    };
+};
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi
new file mode 100644
index 000000000000..39f1cffe9853
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi
@@ -0,0 +1,136 @@ 
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020, Konrad Dybcio
+ */
+
+/dts-v1/;
+
+#include "sdm630.dtsi"
+#include "pm660.dtsi"
+#include "pm660l.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/input/gpio-keys.h>
+
+/ {
+    /* required for bootloader to select correct board */
+    qcom,msm-id = <318 0>;
+    qcom,board-id = <8 1>;
+    qcom,pmic-id = <0x1001b 0x101011a 0x00 0x00 0x1001b 0x201011a 0x00 0x00>;
+
+    /* This part enables graphical output via bootloader-enabled display */
+	chosen {
+        bootargs = "earlycon=tty0 console=tty0";
+
+        #address-cells = <2>;
+        #size-cells = <2>;
+        ranges;
+
+        stdout-path = "framebuffer0";
+
+        framebuffer0: framebuffer@9d400000 {
+            compatible = "simple-framebuffer";
+            reg = <0 0x9d400000 0 (1920 * 1080 * 4)>;
+            width = <1080>;
+            height = <1920>;
+            stride = <(1080 * 4)>;
+            format = "a8r8g8b8";
+            status= "okay";
+        };
+	};
+
+    reserved-memory {
+        #address-cells = <2>;
+        #size-cells = <2>;
+        ranges;
+
+        ramoops@ffc00000 {
+            compatible = "ramoops";
+            reg = <0x0 0xffc00000 0x0 0x100000>;
+            record-size = <0x10000>;
+            console-size = <0x60000>;
+            ftrace-size = <0x10000>;
+            pmsg-size = <0x20000>;
+            ecc-size = <16>;
+            status = "okay";
+        };
+
+        debug_region@ffb00000 {
+            reg = <0x00 0xffb00000 0x00 0x100000>;
+            no-map;
+        };
+
+        removed_region@85800000 {
+            reg = <0x00 0x85800000 0x00 0x3700000>;
+            no-map;
+        };
+    };
+
+    soc {
+        gpio_keys {
+            status = "okay";
+            compatible = "gpio-keys";
+            input-name = "gpio-keys";
+            #address-cells = <1>;
+            #size-cells = <0>;
+            autorepeat;
+
+            camera_focus {
+                label = "Camera Focus";
+                gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
+                linux,input-type = <1>;
+                linux,code = <KEY_CAMERA_FOCUS>;
+                debounce-interval = <15>;
+            };
+
+            camera_snapshot {
+                label = "Camera Snapshot";
+                gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
+                linux,input-type = <1>;
+                linux,code = <KEY_CAMERA>;
+                debounce-interval = <15>;
+            };
+
+            vol_down {
+                label = "Volume Down";
+                gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
+                linux,input-type = <1>;
+                linux,code = <KEY_VOLUMEDOWN>;
+                gpio-key,wakeup;
+                debounce-interval = <15>;
+            };
+        };
+
+        sdhci@c0c4000 {
+            status = "okay";
+
+            /* SoMC Nile platform's eMMC doesn't support HS200 mode */
+            /delete-property/ mmc-hs200-1_8v;
+        };
+
+        i2c@c175000 {
+            status = "okay";
+
+            /* Synaptics touchscreen */
+        };
+
+        i2c@c176000 {
+            status = "okay";
+
+            /* SMB1351 charger */
+        };
+
+        /* I2C3, 4, 5, 7 and 8 are disabled on this board. */
+
+        i2c@c1b6000 {
+            status = "okay";
+
+            /* NXP NFC */
+        };
+
+        serial@c1af000 {
+            status = "okay";
+        };
+    };
+
+};
\ No newline at end of file