OSDN Git Service

arm64: dts: qcom: sm6125: Add support for Sony Xperia 10II
authorMartin Botka <martin.botka@somainline.org>
Mon, 21 Jun 2021 19:53:05 +0000 (21:53 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 5 Aug 2021 15:27:23 +0000 (10:27 -0500)
This commits add support for Sony Xperia 10II based on the SM6125 SoC.

Currently working features:
- dmesg output to bootloader preconfigured display
- USB
- eMMC
- Volume down button

Signed-off-by: Martin Botka <martin.botka@somainline.org>
Link: https://lore.kernel.org/r/20210621195308.654587-2-martin.botka@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts [new file with mode: 0644]

index d4a6205..d4a5997 100644 (file)
@@ -82,6 +82,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += sdm845-oneplus-enchilada.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-oneplus-fajita.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-xiaomi-beryllium.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm850-lenovo-yoga-c630.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += sm6125-sony-xperia-seine-pdx201.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8150-hdk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8150-microsoft-surface-duo.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8150-mtp.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts b/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts
new file mode 100644 (file)
index 0000000..58b6b27
--- /dev/null
@@ -0,0 +1,139 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2021, Martin Botka <martin.botka@somainline.org>
+ */
+
+/dts-v1/;
+
+#include "sm6125.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 = <394 0x10000>; /* sm6125 v1 */
+       qcom,board-id = <34 0>;
+
+       model = "Sony Xperia 10 II";
+       compatible = "sony,pdx201", "qcom,sm6125";
+
+       chosen {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               framebuffer0: framebuffer@5c000000 {
+                       compatible = "simple-framebuffer";
+                       reg = <0 0x5c000000 0 (2520 * 1080 * 4)>;
+                       width = <1080>;
+                       height = <2520>;
+                       stride = <(1080 * 4)>;
+                       format = "a8r8g8b8";
+               };
+       };
+
+       extcon_usb: extcon-usb {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>;
+       };
+
+       gpio-keys {
+               status = "okay";
+               compatible = "gpio-keys";
+               input-name = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               autorepeat;
+
+               vol-dn {
+                       label = "Volume Down";
+                       gpios = <&tlmm 47 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>;
+               debug_mem: memory@ffb00000 {
+                       reg = <0x0 0xffb00000 0x0 0xc0000>;
+                       no-map;
+               };
+
+               last_log_mem: memory@ffbc0000 {
+                       reg = <0x0 0xffbc0000 0x0 0x80000>;
+                       no-map;
+               };
+
+               pstore_mem: ramoops@ffc00000 {
+                       compatible = "ramoops";
+                       reg = <0x0 0xffc40000 0x0 0xc0000>;
+                       record-size = <0x1000>;
+                       console-size = <0x40000>;
+                       msg-size = <0x20000 0x20000>;
+               };
+
+               cmdline_mem: memory@ffd00000 {
+                       reg = <0x0 0xffd40000 0x0 0x1000>;
+                       no-map;
+               };
+       };
+};
+
+&hsusb_phy1 {
+       status = "okay";
+};
+
+&sdc2_state_off {
+       sd-cd {
+               pins = "gpio98";
+               bias-disable;
+               drive-strength = <2>;
+       };
+};
+
+&sdhc_1 {
+       status = "okay";
+};
+
+&tlmm {
+       gpio-reserved-ranges = <22 2>, <28 6>;
+
+       sdc2_state_on: sdc2-on {
+               clk {
+                       pins = "sdc2_clk";
+                       bias-disable;
+                       drive-strength = <16>;
+               };
+
+               cmd {
+                       pins = "sdc2_cmd";
+                       bias-pull-up;
+                       drive-strength = <10>;
+               };
+
+               data {
+                       pins = "sdc2_data";
+                       bias-pull-up;
+                       drive-strength = <10>;
+               };
+
+               sd-cd {
+                       pins = "gpio98";
+                       bias-pull-up;
+                       drive-strength = <2>;
+               };
+       };
+};
+
+&usb3 {
+       status = "okay";
+};
+
+&usb3_dwc3 {
+       extcon = <&extcon_usb>;
+};