]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: msm8916-samsung-j3ltetw: Add initial device tree
authorLin, Meng-Bo <linmengbo06890@proton.me>
Sun, 4 Aug 2024 06:59:32 +0000 (06:59 +0000)
committerBjorn Andersson <andersson@kernel.org>
Thu, 15 Aug 2024 02:51:50 +0000 (21:51 -0500)
The dts and dtsi add support for msm8916 variant of Samsung Galaxy J3
SM-J320YZ smartphone released in 2016.

Add a device tree for SM-J320YZ with initial support for:

- GPIO keys
- SDHCI (internal and external storage)
- USB Device Mode
- UART (on USB connector via the SM5703 MUIC)
- WCNSS (WiFi/BT)
- Regulators
- QDSP6 audio
- Speaker/earpiece/headphones/microphones via digital/analog codec in
  MSM8916/PM8916
- WWAN Internet via BAM-DMUX
- Touchscreen
- Accelerometer

There are different variants of J3, with some differences in MUIC, sensor,
NFC and touch key I2C buses.

The common parts are shared in msm8916-samsung-j3-common.dtsi to reduce
duplication.

Signed-off-by: Lin, Meng-Bo <linmengbo06890@proton.me>
Link: https://lore.kernel.org/r/20240804065854.42437-3-linmengbo06890@proton.me
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/msm8916-samsung-j3-common.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/qcom/msm8916-samsung-j3ltetw.dts [new file with mode: 0644]

index e534442620a185baf07ab69c3a093fd7654690c8..197ab325c0b9eb08344e72dfc33c00ad791d44c4 100644 (file)
@@ -48,6 +48,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += msm8916-samsung-grandmax.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-samsung-grandprimelte.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-samsung-gt510.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-samsung-gt58.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += msm8916-samsung-j3ltetw.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-samsung-j5.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-samsung-j5x.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-samsung-rossa.dtb
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j3-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-j3-common.dtsi
new file mode 100644 (file)
index 0000000..1d74ccc
--- /dev/null
@@ -0,0 +1,62 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include "msm8916-samsung-j5-common.dtsi"
+
+/ {
+       reserved-memory {
+               /delete-node/ tz-apps@85500000;
+
+               /* Additional memory used by Samsung firmware modifications */
+               tz-apps@85800000 {
+                       reg = <0x0 0x85800000 0x0 0x800000>;
+                       no-map;
+               };
+       };
+
+       reg_vdd_tsp_a: regulator-vdd-tsp-a {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_tsp_a";
+               regulator-min-microvolt = <3000000>;
+               regulator-max-microvolt = <3000000>;
+
+               gpio = <&tlmm 16 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&tsp_ldo_en_default>;
+               pinctrl-names = "default";
+       };
+};
+
+&accelerometer {
+       vdd-supply = <&pm8916_l5>;
+       vddio-supply = <&pm8916_l5>;
+
+       mount-matrix = "0", "-1", "0",
+                      "1", "0", "0",
+                      "0", "0", "-1";
+};
+
+&gpio_hall_sensor {
+       status = "disabled";
+};
+
+&i2c_muic {
+       /* GPIO pins vary depending on model variant */
+};
+
+&i2c_sensors {
+       /* GPIO pins vary depending on model variant */
+};
+
+&touchscreen {
+       vdd-supply = <&reg_vdd_tsp_a>;
+};
+
+&tlmm {
+       tsp_ldo_en_default: tsp-ldo-en-default-state {
+               pins = "gpio16";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+};
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j3ltetw.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-j3ltetw.dts
new file mode 100644 (file)
index 0000000..a26d2fd
--- /dev/null
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/dts-v1/;
+
+#include "msm8916-samsung-j3-common.dtsi"
+
+/ {
+       model = "Samsung Galaxy J3 (2016) (SM-J320YZ)";
+       compatible = "samsung,j3ltetw", "qcom,msm8916";
+       chassis-type = "handset";
+};
+
+&i2c_muic {
+       sda-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+       scl-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+};
+
+&i2c_sensors {
+       /* I2C2 */
+       sda-gpios = <&tlmm 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+       scl-gpios = <&tlmm 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+};
+
+&muic_i2c_default {
+       pins = "gpio0", "gpio1";
+};
+
+&sensors_i2c_default {
+       /* I2C2 */
+       pins = "gpio6", "gpio7";
+};