arm64: dts: qcom: Add msm8939 Sony Xperia M4 Aqua
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Fri, 7 Apr 2023 19:49:05 +0000 (20:49 +0100)
committerBjorn Andersson <andersson@kernel.org>
Thu, 25 May 2023 14:39:00 +0000 (07:39 -0700)
Add a basic booting DTS for the Sony Xperia M4 Aqua aka "tulip".

Tulip is paired with:

- wcn3660
- smb1360 battery charger
- 720p Truly NT35521 Panel

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230407194905.611461-6-bryan.odonoghue@linaro.org
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dts [new file with mode: 0644]

index 6f3bd93..f8e8a4a 100644 (file)
@@ -33,6 +33,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += msm8916-thwc-uf896.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-thwc-ufi001c.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-wingtech-wt88047.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-yiming-uz801v3.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += msm8939-sony-xperia-kanuti-tulip.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8953-motorola-potter.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8953-xiaomi-daisy.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8953-xiaomi-mido.dtb
diff --git a/arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dts b/arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dts
new file mode 100644 (file)
index 0000000..951d016
--- /dev/null
@@ -0,0 +1,183 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022-2023, Bryan O'Donoghue.
+ *
+ */
+
+/dts-v1/;
+
+#include "msm8939.dtsi"
+#include "msm8939-pm8916.dtsi"
+#include <dt-bindings/arm/qcom,ids.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+/ {
+       model = "Sony Xperia M4 Aqua";
+       compatible = "sony,kanuti-tulip", "qcom,msm8939";
+
+       qcom,board-id = <QCOM_BOARD_ID_MTP 0>;
+       qcom,msm-id = <QCOM_ID_MSM8939 0>, <QCOM_ID_MSM8939 0x30000>;
+
+       aliases {
+               mmc0 = &sdhc_1; /* SDC1 eMMC slot */
+               mmc1 = &sdhc_2; /* SDC2 SD card slot */
+               serial0 = &blsp1_uart2;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       usb_id: usb-id {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&usb_id_default>;
+               pinctrl-names = "default";
+       };
+};
+
+&mdss {
+       status = "okay";
+};
+
+&tlmm {
+       usb_id_default: usb-id-default-state {
+               pins = "gpio110";
+               function = "gpio";
+               bias-pull-up;
+               drive-strength = <8>;
+       };
+};
+
+&smd_rpm_regulators {
+       vdd_l1_l2_l3-supply = <&pm8916_s3>;
+       vdd_l4_l5_l6-supply = <&pm8916_s4>;
+       vdd_l7-supply = <&pm8916_s4>;
+
+       pm8916_s3: s3 {
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <1300000>;
+       };
+
+       pm8916_s4: s4 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <2100000>;
+       };
+
+       pm8916_l2: l2 {
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <1200000>;
+       };
+
+       pm8916_l4: l4 {
+               regulator-min-microvolt = <2050000>;
+               regulator-max-microvolt = <2050000>;
+       };
+
+       pm8916_l5: l5 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       pm8916_l6: l6 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-always-on;
+       };
+
+       pm8916_l7: l7 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       pm8916_l8: l8 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2900000>;
+       };
+
+       pm8916_l9: l9 {
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       pm8916_l10: l10 {
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       pm8916_l11: l11 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-system-load = <200000>;
+               regulator-allow-set-load;
+       };
+
+       pm8916_l12: l12 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       pm8916_l13: l13 {
+               regulator-min-microvolt = <3075000>;
+               regulator-max-microvolt = <3075000>;
+       };
+
+       pm8916_l14: l14 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       pm8916_l15: l15 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       pm8916_l16: l16 {
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+
+       pm8916_l18: l18 {
+               regulator-min-microvolt = <2700000>;
+               regulator-max-microvolt = <2700000>;
+       };
+};
+
+&sdhc_1 {
+       pinctrl-0 = <&sdc1_default_state>;
+       pinctrl-1 = <&sdc1_sleep_state>;
+       pinctrl-names = "default", "sleep";
+       status = "okay";
+};
+
+&sdhc_2 {
+       pinctrl-0 = <&sdc2_default_state>;
+       pinctrl-1 = <&sdc2_sleep_state>;
+       pinctrl-names = "default", "sleep";
+       cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+};
+
+&usb {
+       extcon = <&usb_id>, <&usb_id>;
+       status = "okay";
+};
+
+&usb_hs_phy {
+       extcon = <&usb_id>;
+};
+
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3660";
+};