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
 
--- /dev/null
+// 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";
+               };
+       };
+
+       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>;
+               };
+       };
+
+       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 {
+               sdhci@c0c4000 {
+                       status = "okay";
+
+                       mmc-ddr-1_8v;
+                       /* SoMC Nile platform's eMMC doesn't support HS200 mode */
+                       mmc-hs400-1_8v;
+               };
+
+               i2c@c175000 {
+                       status = "okay";
+
+                       /* Synaptics touchscreen */
+               };
+
+               i2c@c176000 {
+                       status = "okay";
+
+                       /* SMB1351 charger */
+               };
+
+               serial@c1af000 {
+                       status = "okay";
+               };
+
+               /* I2C3, 4, 5, 7 and 8 are disabled on this board. */
+
+               i2c@c1b6000 {
+                       status = "okay";
+
+                       /* NXP NFC */
+               };
+       };
+};