Message ID | 20200622075749.21925-9-konradybcio@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Add support for Sony SDM630-based boards | expand |
On Mon 22 Jun 00:57 PDT 2020, Konrad Dybcio wrote: > From: Martin Botka <martin.botka1@gmail.com> > > Add device tree support for the Sony Xperia 10 and 10 > Plus smartphones. They are all based on the Sony Ganges > platform (sdm630/636) and share a lot of common code. > The differences are really minor, so a Ganges-common DTSI > has been created to reduce clutter. > > 10 - Kirin > 10 Plus - Mermaid > > This platform is based on SoMC Nile, but there are some > major differences when it comes to pin configuration and > panel setup (among others). > > The boards currently support: > * Screen console > * SDHCI > * I2C > * pstore log dump > * GPIO keys > * PSCI idle states > > Signed-off-by: Martin Botka <martin.botka1@gmail.com> > Signed-off-by: Konrad Dybcio <konradybcio@gmail.com> > Tested-by: Martin Botka <martin.botka1@gmail.com> Same comments as on patch 7 regarding the model, but apart from that this looks good. Happy to see these patches on the list, keep up the good work! Regards, Bjorn > --- > arch/arm64/boot/dts/qcom/Makefile | 2 + > .../qcom/sdm630-sony-xperia-ganges-kirin.dts | 13 ++++++ > .../dts/qcom/sdm630-sony-xperia-ganges.dtsi | 40 +++++++++++++++++++ > .../sdm636-sony-xperia-ganges-mermaid.dts | 20 ++++++++++ > 4 files changed, 75 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dts > create mode 100644 arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges.dtsi > create mode 100644 arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 1cad7cb07574..c98bafe03a96 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -16,9 +16,11 @@ 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-ganges-kirin.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) += sdm636-sony-xperia-ganges-mermaid.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-ganges-kirin.dts b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dts > new file mode 100644 > index 000000000000..246710a01046 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dts > @@ -0,0 +1,13 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2020, Martin Botka > + */ > + > +/dts-v1/; > + > +#include "sdm630-sony-xperia-ganges.dtsi" > + > +/ { > + model = "SoMC Kirin-RoW"; > + compatible = "sony,kirin-row", "qcom,sdm630", "qcom,sdm630-mtp"; > +}; > diff --git a/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges.dtsi b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges.dtsi > new file mode 100644 > index 000000000000..ea051b3d14b8 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges.dtsi > @@ -0,0 +1,40 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2020, Martin Botka > + */ > + > +/dts-v1/; > + > +/* Ganges is very similar to Nile, but > + * there are some differences that will need > + * to be addresed when more peripherals are > + * enabled upstream. Hence the separate DTSI. > + */ > +#include "sdm630-sony-xperia-nile.dtsi" > + > +/ { > + chosen { > + framebuffer@9d400000 { > + reg = <0 0x9d400000 0 (2520 * 1080 * 4)>; > + height = <2520>; > + }; > + }; > + > + soc { > + > + i2c@c175000 { > + status = "okay"; > + > + /* Novatek touchscreen */ > + }; > + > + /* Yes, this is intentional. > + * Ganges devices only use gpio-keys for > + * Volume Down, but currently there's an > + * issue with it that has to be resolved. > + * Until then, let's not make the kernel panic > + */ > + /delete-node/ gpio-keys; > + }; > + > +}; > diff --git a/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts b/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts > new file mode 100644 > index 000000000000..96b7782d58de > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts > @@ -0,0 +1,20 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2020, Martin Botka > + */ > + > +/dts-v1/; > + > +/* Mermaid uses sdm636, but it's different ever so slightly > + * that we can ignore it for the time being. Sony also commonizes > + * the Ganges platform as a whole in downstream kernels. > + */ > +#include "sdm630-sony-xperia-ganges.dtsi" > + > +/ { > + model = "SoMC Mermaid-RoW"; > + compatible = "sony,mermaid-row", "qcom,sdm636", "qcom,sdm636-mtp"; > + > + qcom,msm-id = <345 0>; > + qcom,pmic-id = <0x1001b 0x101011a 0x00 0x00 0x1001b 0x201011a 0x00 0x00 0x1001b 0x102001a 0x00 0x00>; > +}; > -- > 2.27.0 >
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 1cad7cb07574..c98bafe03a96 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -16,9 +16,11 @@ 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-ganges-kirin.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) += sdm636-sony-xperia-ganges-mermaid.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-ganges-kirin.dts b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dts new file mode 100644 index 000000000000..246710a01046 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dts @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2020, Martin Botka + */ + +/dts-v1/; + +#include "sdm630-sony-xperia-ganges.dtsi" + +/ { + model = "SoMC Kirin-RoW"; + compatible = "sony,kirin-row", "qcom,sdm630", "qcom,sdm630-mtp"; +}; diff --git a/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges.dtsi b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges.dtsi new file mode 100644 index 000000000000..ea051b3d14b8 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges.dtsi @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2020, Martin Botka + */ + +/dts-v1/; + +/* Ganges is very similar to Nile, but + * there are some differences that will need + * to be addresed when more peripherals are + * enabled upstream. Hence the separate DTSI. + */ +#include "sdm630-sony-xperia-nile.dtsi" + +/ { + chosen { + framebuffer@9d400000 { + reg = <0 0x9d400000 0 (2520 * 1080 * 4)>; + height = <2520>; + }; + }; + + soc { + + i2c@c175000 { + status = "okay"; + + /* Novatek touchscreen */ + }; + + /* Yes, this is intentional. + * Ganges devices only use gpio-keys for + * Volume Down, but currently there's an + * issue with it that has to be resolved. + * Until then, let's not make the kernel panic + */ + /delete-node/ gpio-keys; + }; + +}; diff --git a/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts b/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts new file mode 100644 index 000000000000..96b7782d58de --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2020, Martin Botka + */ + +/dts-v1/; + +/* Mermaid uses sdm636, but it's different ever so slightly + * that we can ignore it for the time being. Sony also commonizes + * the Ganges platform as a whole in downstream kernels. + */ +#include "sdm630-sony-xperia-ganges.dtsi" + +/ { + model = "SoMC Mermaid-RoW"; + compatible = "sony,mermaid-row", "qcom,sdm636", "qcom,sdm636-mtp"; + + qcom,msm-id = <345 0>; + qcom,pmic-id = <0x1001b 0x101011a 0x00 0x00 0x1001b 0x201011a 0x00 0x00 0x1001b 0x102001a 0x00 0x00>; +};