Skip to content

Commit

Permalink
arm64: dts: qcom: Add support for Sony Xperia XA2/Plus/Ultra (Nile pl…
Browse files Browse the repository at this point in the history
…atform)

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>
Tested-by: Łukasz Patron <priv.luk@gmail.com>
Link: https://lore.kernel.org/r/20200622192558.152828-6-konradybcio@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
  • Loading branch information
Konrad Dybcio authored and Bjorn Andersson committed Jun 23, 2020
1 parent b190fb0 commit e781633
Show file tree
Hide file tree
Showing 5 changed files with 185 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/arm64/boot/dts/qcom/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
13 changes: 13 additions & 0 deletions arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-discovery.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// 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 changes: 13 additions & 0 deletions arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-pioneer.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// 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 changes: 20 additions & 0 deletions arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile-voyager.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// 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 changes: 136 additions & 0 deletions arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi
Original file line number Diff line number Diff line change
@@ -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";
};
};

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 */
};
};
};

0 comments on commit e781633

Please sign in to comment.