Message ID | 20200622192558.152828-6-konradybcio@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for Sony SDM630-based boards | expand |
On Mon 22 Jun 12:25 PDT 2020, Konrad Dybcio wrote: > 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> > --- > 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 --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..8fca0b69fa01 > --- /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 = "Sony Xperia XA2 Ultra"; > + compatible = "sony,discovery-row", "qcom,sdm630"; > +}; > 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..90dcd4ebaaed > --- /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 = "Sony Xperia XA2"; > + compatible = "sony,pioneer-row", "qcom,sdm630"; > +}; > 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..fae5f1bb6834 > --- /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 = "Sony Xperia XA2 Plus"; > + compatible = "sony,voyager-row", "qcom,sdm630"; > + > + chosen { > + framebuffer@9d400000 { > + reg = <0 0x9d400000 0 (2160 * 1080 * 4)>; > + height = <2160>; > + }; > + }; > +}; > 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..9ba359c848d0 > --- /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"; > + }; > + }; > + > + 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 { I believe I forgot to ask you to refer to these nodes by label instead of per their structure (i.e. &sdhc_1 { ... outside / {). As we do in e.g. sdm845-mtp.dts. But the patches looks good, so I applied them anyways. When it suits you (e.g. when you're populating the i2c nodes below) please update them accordingly. Thanks, Bjorn > + 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 */ > + }; > + }; > +}; > -- > 2.27.0 >
Thanks for applying them. In case I have some updates to these DTs, (they are being rapidly developed!) could I submit them now, or should I want for the next merge window? I saw that they are already applied to qcom/for-next, so I guess the former? Regards Konrad
On Tue 23 Jun 01:08 PDT 2020, Konrad Dybcio wrote: > Thanks for applying them. > > In case I have some updates to these DTs, > (they are being rapidly developed!) could I > submit them now, or should I want for the next > merge window? I saw that they are already > applied to qcom/for-next, so I guess the > former? > You can definitely continue to send patches on top of what has been merged already. Particularly useful for this purpose is the linux-next tree [1], which merges together the content of many maintainer's trees on a regular basis. [1] git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git Looking forward to see more of these devices! Regards, Bjorn
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..8fca0b69fa01 --- /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 = "Sony Xperia XA2 Ultra"; + compatible = "sony,discovery-row", "qcom,sdm630"; +}; 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..90dcd4ebaaed --- /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 = "Sony Xperia XA2"; + compatible = "sony,pioneer-row", "qcom,sdm630"; +}; 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..fae5f1bb6834 --- /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 = "Sony Xperia XA2 Plus"; + compatible = "sony,voyager-row", "qcom,sdm630"; + + chosen { + framebuffer@9d400000 { + reg = <0 0x9d400000 0 (2160 * 1080 * 4)>; + height = <2160>; + }; + }; +}; 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..9ba359c848d0 --- /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"; + }; + }; + + 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 */ + }; + }; +};