Commit e781633b authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Bjorn Andersson
Browse files

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



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: default avatarKonrad Dybcio <konradybcio@gmail.com>
Tested-by: default avatarŁukasz Patron <priv.luk@gmail.com>
Link: https://lore.kernel.org/r/20200622192558.152828-6-konradybcio@gmail.com


Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent b190fb01
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
+13 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2020, Konrad Dybcio
 */

/dts-v1/;

#include "sdm630-sony-xperia-nile.dtsi"

/ {
	model = "Sony Xperia XA2 Ultra";
	compatible = "sony,discovery-row", "qcom,sdm630";
};
+13 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2020, Konrad Dybcio
 */

/dts-v1/;

#include "sdm630-sony-xperia-nile.dtsi"

/ {
	model = "Sony Xperia XA2";
	compatible = "sony,pioneer-row", "qcom,sdm630";
};
+20 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2020, Konrad Dybcio
 */

/dts-v1/;

#include "sdm630-sony-xperia-nile.dtsi"

/ {
	model = "Sony Xperia XA2 Plus";
	compatible = "sony,voyager-row", "qcom,sdm630";

	chosen {
		framebuffer@9d400000 {
			reg = <0 0x9d400000 0 (2160 * 1080 * 4)>;
			height = <2160>;
		};
	};
};
+136 −0
Original line number Diff line number Diff line
// 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 */
		};
	};
};