Samsung Galaxy S5 has many variants. Currently, the only supported one
is klte. Samsung Galaxy S5 China (kltechn) is the China edition of
klte, and it can mostly work with the klte DTB, with only LEDs and WiFi
missing.
This patchset splits out the common part of klte DTS into klte-common
DTSI, and adds DTS for kltechn by fixing up the GPIO pins for the LEDs
and GPIO expander connected by the WiFi module. A "brcm,board-type"
property is added into the wifi@1 node of the common DTSI to allow all
klte* variants to load the same NVRAM file.
Signed-off-by: Rong Zhang <[email protected]>
---
Changes in v3:
- Regenerate the patchset with code move detection (-B -M -C).
- Fix "changes in v2" below to state why a tag was not added.
- Link to v2: https://lore.kernel.org/r/[email protected]/
Changes in v2:
- Split out the common part of klte DTS into klte-common DTSI.
- Fix dt-binding to make it consistent with the compatible chain in
kltechn DTS. In other words, make kltechn a subvariant of klte.
- [PATCH 3/4] in v1 had received "Acked-by: Krzysztof Kozlowski
<[email protected]>" but this was not added in the v2
patch due to the change.
- Link to v1: https://lore.kernel.org/r/[email protected]/
Rong Zhang (4):
ARM: dts: qcom: msm8974: Split out common part of samsung-klte
ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type
dt-bindings: arm: qcom: Add Samsung Galaxy S5 China (kltechn)
ARM: dts: qcom: msm8974: Add DTS for Samsung Galaxy S5 China (kltechn)
.../devicetree/bindings/arm/qcom.yaml | 7 +
arch/arm/boot/dts/qcom/Makefile | 1 +
... qcom-msm8974pro-samsung-klte-common.dtsi} | 13 +-
.../dts/qcom/qcom-msm8974pro-samsung-klte.dts | 833 +-----------------
.../qcom/qcom-msm8974pro-samsung-kltechn.dts | 16 +
5 files changed, 47 insertions(+), 823 deletions(-)
copy arch/arm/boot/dts/qcom/{qcom-msm8974pro-samsung-klte.dts => qcom-msm8974pro-samsung-klte-common.dtsi} (98%)
rewrite arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts (99%)
create mode 100644 arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-kltechn.dts
base-commit: c664e16bb1ba1c8cf1d7ecf3df5fd83bbb8ac15a
--
2.43.0
Samsung Galaxy S5 has many variants. Variants that support LTE use klte*
as their codename. Currently, the only supported one is the one without
any suffix, namely, klte. It is known that other klte* variants have
only minor differences compared to klte and can mostly work with the
klte DTB.
Split the common part into a common DTSI so that it can be imported in
the DTS of klte and other klte* variants.
Signed-off-by: Rong Zhang <[email protected]>
---
... qcom-msm8974pro-samsung-klte-common.dtsi} | 7 +-
.../dts/qcom/qcom-msm8974pro-samsung-klte.dts | 833 +-----------------
2 files changed, 17 insertions(+), 823 deletions(-)
copy arch/arm/boot/dts/qcom/{qcom-msm8974pro-samsung-klte.dts => qcom-msm8974pro-samsung-klte-common.dtsi} (98%)
rewrite arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts (99%)
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi
similarity index 98%
copy from arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
copy to arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi
index b93539e2b87e..11e35b34ebd6 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi
@@ -6,8 +6,6 @@
#include <dt-bindings/leds/common.h>
/ {
- model = "Samsung Galaxy S5";
- compatible = "samsung,klte", "qcom,msm8974pro", "qcom,msm8974";
chassis-type = "handset";
aliases {
@@ -77,12 +75,10 @@ touchkey@20 {
};
};
- i2c-gpio-led {
+ i2c_led_gpio: i2c-gpio-led {
compatible = "i2c-gpio";
#address-cells = <1>;
#size-cells = <0>;
- scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&i2c_led_gpioex_pins>;
@@ -770,7 +766,6 @@ i2c_touchkey_pins: i2c-touchkey-state {
};
i2c_led_gpioex_pins: i2c-led-gpioex-state {
- pins = "gpio120", "gpio121";
function = "gpio";
bias-pull-down;
};
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
dissimilarity index 99%
index b93539e2b87e..954665f3a9dd 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
@@ -1,817 +1,16 @@
-// SPDX-License-Identifier: GPL-2.0
-#include "qcom-msm8974pro.dtsi"
-#include "pma8084.dtsi"
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
-#include <dt-bindings/leds/common.h>
-
-/ {
- model = "Samsung Galaxy S5";
- compatible = "samsung,klte", "qcom,msm8974pro", "qcom,msm8974";
- chassis-type = "handset";
-
- aliases {
- serial0 = &blsp1_uart1;
- mmc0 = &sdhc_1; /* SDC1 eMMC slot */
- mmc1 = &sdhc_3; /* SDC2 SD card slot */
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-
- gpio-keys {
- compatible = "gpio-keys";
-
- pinctrl-names = "default";
- pinctrl-0 = <&gpio_keys_pin_a>;
-
- key-volume-down {
- label = "volume_down";
- gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
- linux,input-type = <1>;
- linux,code = <KEY_VOLUMEDOWN>;
- debounce-interval = <15>;
- };
-
- key-home {
- label = "home_key";
- gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
- linux,input-type = <1>;
- linux,code = <KEY_HOMEPAGE>;
- wakeup-source;
- debounce-interval = <15>;
- };
-
- key-volume-up {
- label = "volume_up";
- gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
- linux,input-type = <1>;
- linux,code = <KEY_VOLUMEUP>;
- debounce-interval = <15>;
- };
- };
-
- i2c-gpio-touchkey {
- compatible = "i2c-gpio";
- #address-cells = <1>;
- #size-cells = <0>;
- sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- pinctrl-names = "default";
- pinctrl-0 = <&i2c_touchkey_pins>;
-
- touchkey@20 {
- compatible = "cypress,tm2-touchkey";
- reg = <0x20>;
-
- interrupt-parent = <&pma8084_gpios>;
- interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
- pinctrl-names = "default";
- pinctrl-0 = <&touchkey_pin>;
-
- vcc-supply = <&max77826_ldo15>;
- vdd-supply = <&pma8084_l19>;
-
- linux,keycodes = <KEY_APPSELECT KEY_BACK>;
- };
- };
-
- i2c-gpio-led {
- compatible = "i2c-gpio";
- #address-cells = <1>;
- #size-cells = <0>;
- scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- pinctrl-names = "default";
- pinctrl-0 = <&i2c_led_gpioex_pins>;
-
- i2c-gpio,delay-us = <2>;
-
- gpio_expander: gpio@20 {
- compatible = "nxp,pcal6416";
- reg = <0x20>;
-
- gpio-controller;
- #gpio-cells = <2>;
-
- vcc-supply = <&pma8084_s4>;
-
- pinctrl-names = "default";
- pinctrl-0 = <&gpioex_pin>;
-
- reset-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
- };
-
- led-controller@30 {
- compatible = "panasonic,an30259a";
- reg = <0x30>;
-
- #address-cells = <1>;
- #size-cells = <0>;
-
- led@1 {
- reg = <1>;
- function = LED_FUNCTION_STATUS;
- color = <LED_COLOR_ID_RED>;
- };
-
- led@2 {
- reg = <2>;
- function = LED_FUNCTION_STATUS;
- color = <LED_COLOR_ID_GREEN>;
- };
-
- led@3 {
- reg = <3>;
- function = LED_FUNCTION_STATUS;
- color = <LED_COLOR_ID_BLUE>;
- };
- };
- };
-
- vreg_wlan: wlan-regulator {
- compatible = "regulator-fixed";
-
- regulator-name = "wl-reg";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- };
-
- vreg_panel: panel-regulator {
- compatible = "regulator-fixed";
-
- pinctrl-names = "default";
- pinctrl-0 = <&panel_en_pin>;
-
- regulator-name = "panel-vddr-reg";
- regulator-min-microvolt = <1500000>;
- regulator-max-microvolt = <1500000>;
-
- gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- };
-
- vreg_vph_pwr: vreg-vph-pwr {
- compatible = "regulator-fixed";
- regulator-name = "vph-pwr";
-
- regulator-min-microvolt = <3600000>;
- regulator-max-microvolt = <3600000>;
-
- regulator-always-on;
- };
-};
-
-&blsp1_i2c2 {
- status = "okay";
-
- touchscreen@20 {
- compatible = "syna,rmi4-i2c";
- reg = <0x20>;
-
- interrupt-parent = <&pma8084_gpios>;
- interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
-
- vdd-supply = <&max77826_ldo13>;
- vio-supply = <&pma8084_lvs2>;
-
- pinctrl-names = "default";
- pinctrl-0 = <&touch_pin>;
-
- syna,startup-delay-ms = <100>;
-
- #address-cells = <1>;
- #size-cells = <0>;
-
- rmi4-f01@1 {
- reg = <0x1>;
- syna,nosleep-mode = <1>;
- };
-
- rmi4-f12@12 {
- reg = <0x12>;
- syna,sensor-type = <1>;
- };
- };
-};
-
-&blsp1_i2c6 {
- status = "okay";
-
- pmic@60 {
- reg = <0x60>;
- compatible = "maxim,max77826";
-
- regulators {
- max77826_ldo1: LDO1 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- };
-
- max77826_ldo2: LDO2 {
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;
- };
-
- max77826_ldo3: LDO3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- };
-
- max77826_ldo4: LDO4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- max77826_ldo5: LDO5 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- max77826_ldo6: LDO6 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3300000>;
- };
-
- max77826_ldo7: LDO7 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- max77826_ldo8: LDO8 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3300000>;
- };
-
- max77826_ldo9: LDO9 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- max77826_ldo10: LDO10 {
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2950000>;
- };
-
- max77826_ldo11: LDO11 {
- regulator-min-microvolt = <2700000>;
- regulator-max-microvolt = <2950000>;
- };
-
- max77826_ldo12: LDO12 {
- regulator-min-microvolt = <2500000>;
- regulator-max-microvolt = <3300000>;
- };
-
- max77826_ldo13: LDO13 {
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
-
- max77826_ldo14: LDO14 {
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
-
- max77826_ldo15: LDO15 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- max77826_buck: BUCK {
- regulator-min-microvolt = <1225000>;
- regulator-max-microvolt = <1225000>;
- };
-
- max77826_buckboost: BUCKBOOST {
- regulator-min-microvolt = <3400000>;
- regulator-max-microvolt = <3400000>;
- };
- };
- };
-};
-
-&blsp1_uart2 {
- status = "okay";
-};
-
-&blsp2_i2c6 {
- status = "okay";
-
- fuelgauge@36 {
- compatible = "maxim,max17048";
- reg = <0x36>;
-
- maxim,double-soc;
- maxim,rcomp = /bits/ 8 <0x56>;
-
- interrupt-parent = <&pma8084_gpios>;
- interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
-
- pinctrl-names = "default";
- pinctrl-0 = <&fuelgauge_pin>;
- };
-};
-
-&blsp2_uart2 {
- status = "okay";
-
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&blsp2_uart2_pins_active>;
- pinctrl-1 = <&blsp2_uart2_pins_sleep>;
-
- bluetooth {
- compatible = "brcm,bcm43540-bt";
- max-speed = <3000000>;
- pinctrl-names = "default";
- pinctrl-0 = <&bt_pins>;
- device-wakeup-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
- shutdown-gpios = <&gpio_expander 9 GPIO_ACTIVE_HIGH>;
- interrupt-parent = <&tlmm>;
- interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "host-wakeup";
- };
-};
-
-&gpu {
- status = "okay";
-};
-
-&mdss {
- status = "okay";
-};
-
-&mdss_dsi0 {
- status = "okay";
-
- vdda-supply = <&pma8084_l2>;
- vdd-supply = <&pma8084_l22>;
- vddio-supply = <&pma8084_l12>;
-
- panel: panel@0 {
- reg = <0>;
- compatible = "samsung,s6e3fa2";
-
- pinctrl-names = "default";
- pinctrl-0 = <&panel_te_pin &panel_rst_pin>;
-
- iovdd-supply = <&pma8084_lvs4>;
- vddr-supply = <&vreg_panel>;
-
- reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>;
-
- port {
- panel_in: endpoint {
- remote-endpoint = <&mdss_dsi0_out>;
- };
- };
- };
-};
-
-&mdss_dsi0_out {
- remote-endpoint = <&panel_in>;
- data-lanes = <0 1 2 3>;
-};
-
-&mdss_dsi0_phy {
- status = "okay";
-
- vddio-supply = <&pma8084_l12>;
-};
-
-&pma8084_gpios {
- gpio_keys_pin_a: gpio-keys-active-state {
- pins = "gpio2", "gpio3", "gpio5";
- function = "normal";
-
- bias-pull-up;
- power-source = <PMA8084_GPIO_S4>;
- };
-
- touchkey_pin: touchkey-int-state {
- pins = "gpio6";
- function = "normal";
- bias-disable;
- input-enable;
- power-source = <PMA8084_GPIO_S4>;
- };
-
- touch_pin: touchscreen-int-state {
- pins = "gpio8";
- function = "normal";
- bias-disable;
- input-enable;
- power-source = <PMA8084_GPIO_S4>;
- };
-
- panel_en_pin: panel-en-state {
- pins = "gpio14";
- function = "normal";
- bias-pull-up;
- power-source = <PMA8084_GPIO_S4>;
- qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
- };
-
- wlan_sleep_clk_pin: wlan-sleep-clk-state {
- pins = "gpio16";
- function = "func2";
-
- output-high;
- power-source = <PMA8084_GPIO_S4>;
- qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
- };
-
- panel_rst_pin: panel-rst-state {
- pins = "gpio17";
- function = "normal";
- bias-disable;
- power-source = <PMA8084_GPIO_S4>;
- qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
- };
-
- fuelgauge_pin: fuelgauge-int-state {
- pins = "gpio21";
- function = "normal";
- bias-disable;
- input-enable;
- power-source = <PMA8084_GPIO_S4>;
- };
-};
-
-&remoteproc_adsp {
- status = "okay";
- cx-supply = <&pma8084_s2>;
-};
-
-&remoteproc_mss {
- status = "okay";
- cx-supply = <&pma8084_s2>;
- mss-supply = <&pma8084_s6>;
- mx-supply = <&pma8084_s1>;
- pll-supply = <&pma8084_l12>;
-};
-
-&rpm_requests {
- regulators-0 {
- compatible = "qcom,rpm-pma8084-regulators";
-
- pma8084_s1: s1 {
- regulator-min-microvolt = <675000>;
- regulator-max-microvolt = <1050000>;
- regulator-always-on;
- };
-
- pma8084_s2: s2 {
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1050000>;
- };
-
- pma8084_s3: s3 {
- regulator-min-microvolt = <1300000>;
- regulator-max-microvolt = <1300000>;
- };
-
- pma8084_s4: s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- pma8084_s5: s5 {
- regulator-min-microvolt = <2150000>;
- regulator-max-microvolt = <2150000>;
- };
-
- pma8084_s6: s6 {
- regulator-min-microvolt = <1050000>;
- regulator-max-microvolt = <1050000>;
- };
-
- pma8084_l1: l1 {
- regulator-min-microvolt = <1225000>;
- regulator-max-microvolt = <1225000>;
- };
-
- pma8084_l2: l2 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- };
-
- pma8084_l3: l3 {
- regulator-min-microvolt = <1050000>;
- regulator-max-microvolt = <1200000>;
- };
-
- pma8084_l4: l4 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1225000>;
- };
-
- pma8084_l5: l5 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- pma8084_l6: l6 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- pma8084_l7: l7 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- pma8084_l8: l8 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- pma8084_l9: l9 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2950000>;
- };
-
- pma8084_l10: l10 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2950000>;
- };
-
- pma8084_l11: l11 {
- regulator-min-microvolt = <1300000>;
- regulator-max-microvolt = <1300000>;
- };
-
- pma8084_l12: l12 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- };
-
- pma8084_l13: l13 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2950000>;
- };
-
- pma8084_l14: l14 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
-
- pma8084_l15: l15 {
- regulator-min-microvolt = <2050000>;
- regulator-max-microvolt = <2050000>;
- };
-
- pma8084_l16: l16 {
- regulator-min-microvolt = <2700000>;
- regulator-max-microvolt = <2700000>;
- };
-
- pma8084_l17: l17 {
- regulator-min-microvolt = <2850000>;
- regulator-max-microvolt = <2850000>;
- };
-
- pma8084_l18: l18 {
- regulator-min-microvolt = <2850000>;
- regulator-max-microvolt = <2850000>;
- };
-
- pma8084_l19: l19 {
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
-
- pma8084_l20: l20 {
- regulator-min-microvolt = <2950000>;
- regulator-max-microvolt = <2950000>;
- regulator-system-load = <200000>;
- regulator-allow-set-load;
- };
-
- pma8084_l21: l21 {
- regulator-min-microvolt = <2950000>;
- regulator-max-microvolt = <2950000>;
- regulator-system-load = <200000>;
- regulator-allow-set-load;
- };
-
- pma8084_l22: l22 {
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3300000>;
- };
-
- pma8084_l23: l23 {
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- };
-
- pma8084_l24: l24 {
- regulator-min-microvolt = <3075000>;
- regulator-max-microvolt = <3075000>;
- };
-
- pma8084_l25: l25 {
- regulator-min-microvolt = <2100000>;
- regulator-max-microvolt = <2100000>;
- };
-
- pma8084_l26: l26 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2050000>;
- };
-
- pma8084_l27: l27 {
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1225000>;
- };
-
- pma8084_lvs1: lvs1 {};
- pma8084_lvs2: lvs2 {};
- pma8084_lvs3: lvs3 {};
- pma8084_lvs4: lvs4 {};
-
- pma8084_5vs1: 5vs1 {};
- };
-};
-
-&sdhc_1 {
- status = "okay";
-
- vmmc-supply = <&pma8084_l20>;
- vqmmc-supply = <&pma8084_s4>;
-
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&sdc1_on>;
- pinctrl-1 = <&sdc1_off>;
-};
-
-&sdhc_2 {
- status = "okay";
- max-frequency = <100000000>;
- vmmc-supply = <&vreg_wlan>;
- vqmmc-supply = <&pma8084_s4>;
- non-removable;
-
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&sdc2_on>;
- pinctrl-1 = <&sdc2_off>;
-
- wifi@1 {
- reg = <1>;
- compatible = "brcm,bcm4329-fmac";
-
- interrupt-parent = <&tlmm>;
- interrupts = <92 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "host-wake";
-
- pinctrl-names = "default";
- pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>;
- };
-};
-
-&sdhc_3 {
- status = "okay";
- max-frequency = <100000000>;
- vmmc-supply = <&pma8084_l21>;
- vqmmc-supply = <&pma8084_l13>;
-
- /*
- * cd-gpio is intentionally disabled. If enabled, an SD card
- * present during boot is not initialized correctly. Without
- * cd-gpios the driver resorts to polling, so hotplug works.
- */
- pinctrl-names = "default";
- pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>;
- /* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */
-};
-
-&tlmm {
- /* This seems suspicious, but somebody with this device should look into it. */
- blsp2_uart2_pins_active: blsp2-uart2-pins-active-state {
- pins = "gpio45", "gpio46", "gpio47", "gpio48";
- function = "blsp_uart8";
- drive-strength = <8>;
- bias-disable;
- };
-
- blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state {
- pins = "gpio45", "gpio46", "gpio47", "gpio48";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-down;
- };
-
- bt_pins: bt-pins-state {
- hostwake-pins {
- pins = "gpio75";
- function = "gpio";
- drive-strength = <16>;
- };
-
- devwake-pins {
- pins = "gpio91";
- function = "gpio";
- drive-strength = <2>;
- };
- };
-
- sdc1_on: sdhc1-on-state {
- clk-pins {
- pins = "sdc1_clk";
- drive-strength = <4>;
- bias-disable;
- };
-
- cmd-data-pins {
- pins = "sdc1_cmd", "sdc1_data";
- drive-strength = <4>;
- bias-pull-up;
- };
- };
-
- sdc3_on: sdc3-on-state {
- pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
- function = "sdc3";
- drive-strength = <8>;
- bias-disable;
- };
-
- sdhc3_cd_pin: sdc3-cd-on-state {
- pins = "gpio62";
- function = "gpio";
-
- drive-strength = <2>;
- bias-disable;
- };
-
- sdc2_on: sdhc2-on-state {
- clk-pins {
- pins = "sdc2_clk";
- drive-strength = <6>;
- bias-disable;
- };
-
- cmd-data-pins {
- pins = "sdc2_cmd", "sdc2_data";
- drive-strength = <6>;
- bias-pull-up;
- };
- };
-
- i2c_touchkey_pins: i2c-touchkey-state {
- pins = "gpio95", "gpio96";
- function = "gpio";
- bias-pull-up;
- };
-
- i2c_led_gpioex_pins: i2c-led-gpioex-state {
- pins = "gpio120", "gpio121";
- function = "gpio";
- bias-pull-down;
- };
-
- gpioex_pin: gpioex-state {
- pins = "gpio145";
- function = "gpio";
- bias-pull-up;
- drive-strength = <2>;
- };
-
- wifi_pin: wifi-state {
- pins = "gpio92";
- function = "gpio";
- bias-pull-down;
- };
-
- panel_te_pin: panel-state {
- pins = "gpio12";
- function = "mdp_vsync";
- drive-strength = <2>;
- bias-disable;
- };
-};
-
-&usb {
- status = "okay";
-
- phys = <&usb_hs1_phy>;
- phy-select = <&tcsr 0xb000 0>;
-
- hnp-disable;
- srp-disable;
- adp-disable;
-};
-
-&usb_hs1_phy {
- status = "okay";
-
- v1p8-supply = <&pma8084_l6>;
- v3p3-supply = <&pma8084_l24>;
-
- qcom,init-seq = /bits/ 8 <0x1 0x64>;
-};
+// SPDX-License-Identifier: GPL-2.0
+#include "qcom-msm8974pro-samsung-klte-common.dtsi"
+
+/ {
+ model = "Samsung Galaxy S5";
+ compatible = "samsung,klte", "qcom,msm8974pro", "qcom,msm8974";
+};
+
+&i2c_led_gpio {
+ scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+};
+
+&i2c_led_gpioex_pins {
+ pins = "gpio120", "gpio121";
+};
--
2.43.0
Document Samsung Galaxy S5 China (kltechn) as a klte variant based on
msm8974pro. Also including "samsung,klte" in the compatible chain as
kltechn works fine with the klte DTB except for LEDs and WiFi missing.
Signed-off-by: Rong Zhang <[email protected]>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 1a5fb889a444..4979ccae2b64 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -227,6 +227,13 @@ properties:
- const: qcom,msm8974pro
- const: qcom,msm8974
+ - items:
+ - enum:
+ - samsung,kltechn
+ - const: samsung,klte
+ - const: qcom,msm8974pro
+ - const: qcom,msm8974
+
- items:
- const: qcom,msm8916-mtp
- const: qcom,msm8916-mtp/1
--
2.43.0
The only difference between Samsung Galaxy S5 China (kltechn) and klte
is the gpio pins of i2c_led_gpio. With pins corrected, the LEDs and WiFi
are able to work properly.
Signed-off-by: Rong Zhang <[email protected]>
---
arch/arm/boot/dts/qcom/Makefile | 1 +
.../dts/qcom/qcom-msm8974pro-samsung-kltechn.dts | 16 ++++++++++++++++
2 files changed, 17 insertions(+)
create mode 100644 arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-kltechn.dts
diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
index 9cc1e14e6cd0..5d7a34adf826 100644
--- a/arch/arm/boot/dts/qcom/Makefile
+++ b/arch/arm/boot/dts/qcom/Makefile
@@ -44,6 +44,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-msm8974pro-fairphone-fp2.dtb \
qcom-msm8974pro-oneplus-bacon.dtb \
qcom-msm8974pro-samsung-klte.dtb \
+ qcom-msm8974pro-samsung-kltechn.dtb \
qcom-msm8974pro-sony-xperia-shinano-castor.dtb \
qcom-mdm9615-wp8548-mangoh-green.dtb \
qcom-sdx55-mtp.dtb \
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-kltechn.dts b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-kltechn.dts
new file mode 100644
index 000000000000..b902e31b16c2
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-kltechn.dts
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0
+#include "qcom-msm8974pro-samsung-klte-common.dtsi"
+
+/ {
+ model = "Samsung Galaxy S5 China";
+ compatible = "samsung,kltechn", "samsung,klte", "qcom,msm8974pro", "qcom,msm8974";
+};
+
+&i2c_led_gpio {
+ scl-gpios = <&tlmm 61 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&tlmm 60 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+};
+
+&i2c_led_gpioex_pins {
+ pins = "gpio60", "gpio61";
+};
--
2.43.0
On 13/02/2024 11:58, Rong Zhang wrote:
> Document Samsung Galaxy S5 China (kltechn) as a klte variant based on
> msm8974pro. Also including "samsung,klte" in the compatible chain as
> kltechn works fine with the klte DTB except for LEDs and WiFi missing.
>
> Signed-off-by: Rong Zhang <[email protected]>
> ---
Acked-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof
On 13/02/2024 11:58, Rong Zhang wrote:
> Samsung Galaxy S5 has many variants. Variants that support LTE use klte*
> as their codename. Currently, the only supported one is the one without
> any suffix, namely, klte. It is known that other klte* variants have
> only minor differences compared to klte and can mostly work with the
> klte DTB.
>
> Split the common part into a common DTSI so that it can be imported in
> the DTS of klte and other klte* variants.
>
> Signed-off-by: Rong Zhang <[email protected]>
> ---
> ... qcom-msm8974pro-samsung-klte-common.dtsi} | 7 +-
> .../dts/qcom/qcom-msm8974pro-samsung-klte.dts | 833 +-----------------
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof
On 13/02/2024 11:58, Rong Zhang wrote:
> The only difference between Samsung Galaxy S5 China (kltechn) and klte
> is the gpio pins of i2c_led_gpio. With pins corrected, the LEDs and WiFi
> are able to work properly.
>
> Signed-off-by: Rong Zhang <[email protected]>
> ---
> arch/arm/boot/dts/qcom/Makefile | 1 +
> .../dts/qcom/qcom-msm8974pro-samsung-kltechn.dts | 16 ++++++++++++++++
> 2 files changed, 17 insertions(+)
> create mode 100644 arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-kltechn.dts
>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof
在 2024-02-13星期二的 18:58 +0800,Rong Zhang写道:
> Samsung Galaxy S5 has many variants. Variants that support LTE use
> klte*
> as their codename. Currently, the only supported one is the one
> without
> any suffix, namely, klte. It is known that other klte* variants have
> only minor differences compared to klte and can mostly work with the
> klte DTB.
>
> Split the common part into a common DTSI so that it can be imported
> in
> the DTS of klte and other klte* variants.
>
> Signed-off-by: Rong Zhang <[email protected]>
> ---
> ... qcom-msm8974pro-samsung-klte-common.dtsi} | 7 +-
> .../dts/qcom/qcom-msm8974pro-samsung-klte.dts | 833
Patched tested by picking into postmarketOS (a kltechn kernel variant
is already added there).
Tested-by: Icenowy Zheng <[email protected]>
> +-----------------
> 2 files changed, 17 insertions(+), 823 deletions(-)
> copy arch/arm/boot/dts/qcom/{qcom-msm8974pro-samsung-klte.dts =>
> qcom-msm8974pro-samsung-klte-common.dtsi} (98%)
> rewrite arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> (99%)
>
> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi
> similarity index 98%
> copy from arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> copy to arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-
> common.dtsi
> index b93539e2b87e..11e35b34ebd6 100644
> --- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi
> @@ -6,8 +6,6 @@
> #include <dt-bindings/leds/common.h>
>
> / {
> - model = "Samsung Galaxy S5";
> - compatible = "samsung,klte", "qcom,msm8974pro",
> "qcom,msm8974";
> chassis-type = "handset";
>
> aliases {
> @@ -77,12 +75,10 @@ touchkey@20 {
> };
> };
>
> - i2c-gpio-led {
> + i2c_led_gpio: i2c-gpio-led {
> compatible = "i2c-gpio";
> #address-cells = <1>;
> #size-cells = <0>;
> - scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> - sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> pinctrl-names = "default";
> pinctrl-0 = <&i2c_led_gpioex_pins>;
>
> @@ -770,7 +766,6 @@ i2c_touchkey_pins: i2c-touchkey-state {
> };
>
> i2c_led_gpioex_pins: i2c-led-gpioex-state {
> - pins = "gpio120", "gpio121";
> function = "gpio";
> bias-pull-down;
> };
> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> dissimilarity index 99%
> index b93539e2b87e..954665f3a9dd 100644
> --- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> @@ -1,817 +1,16 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include "qcom-msm8974pro.dtsi"
> -#include "pma8084.dtsi"
> -#include <dt-bindings/input/input.h>
> -#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> -#include <dt-bindings/leds/common.h>
> -
> -/ {
> - model = "Samsung Galaxy S5";
> - compatible = "samsung,klte", "qcom,msm8974pro",
> "qcom,msm8974";
> - chassis-type = "handset";
> -
> - aliases {
> - serial0 = &blsp1_uart1;
> - mmc0 = &sdhc_1; /* SDC1 eMMC slot */
> - mmc1 = &sdhc_3; /* SDC2 SD card slot */
> - };
> -
> - chosen {
> - stdout-path = "serial0:115200n8";
> - };
> -
> - gpio-keys {
> - compatible = "gpio-keys";
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&gpio_keys_pin_a>;
> -
> - key-volume-down {
> - label = "volume_down";
> - gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
> - linux,input-type = <1>;
> - linux,code = <KEY_VOLUMEDOWN>;
> - debounce-interval = <15>;
> - };
> -
> - key-home {
> - label = "home_key";
> - gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
> - linux,input-type = <1>;
> - linux,code = <KEY_HOMEPAGE>;
> - wakeup-source;
> - debounce-interval = <15>;
> - };
> -
> - key-volume-up {
> - label = "volume_up";
> - gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
> - linux,input-type = <1>;
> - linux,code = <KEY_VOLUMEUP>;
> - debounce-interval = <15>;
> - };
> - };
> -
> - i2c-gpio-touchkey {
> - compatible = "i2c-gpio";
> - #address-cells = <1>;
> - #size-cells = <0>;
> - sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> - scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c_touchkey_pins>;
> -
> - touchkey@20 {
> - compatible = "cypress,tm2-touchkey";
> - reg = <0x20>;
> -
> - interrupt-parent = <&pma8084_gpios>;
> - interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&touchkey_pin>;
> -
> - vcc-supply = <&max77826_ldo15>;
> - vdd-supply = <&pma8084_l19>;
> -
> - linux,keycodes = <KEY_APPSELECT KEY_BACK>;
> - };
> - };
> -
> - i2c-gpio-led {
> - compatible = "i2c-gpio";
> - #address-cells = <1>;
> - #size-cells = <0>;
> - scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> - sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c_led_gpioex_pins>;
> -
> - i2c-gpio,delay-us = <2>;
> -
> - gpio_expander: gpio@20 {
> - compatible = "nxp,pcal6416";
> - reg = <0x20>;
> -
> - gpio-controller;
> - #gpio-cells = <2>;
> -
> - vcc-supply = <&pma8084_s4>;
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&gpioex_pin>;
> -
> - reset-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
> - };
> -
> - led-controller@30 {
> - compatible = "panasonic,an30259a";
> - reg = <0x30>;
> -
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - led@1 {
> - reg = <1>;
> - function = LED_FUNCTION_STATUS;
> - color = <LED_COLOR_ID_RED>;
> - };
> -
> - led@2 {
> - reg = <2>;
> - function = LED_FUNCTION_STATUS;
> - color = <LED_COLOR_ID_GREEN>;
> - };
> -
> - led@3 {
> - reg = <3>;
> - function = LED_FUNCTION_STATUS;
> - color = <LED_COLOR_ID_BLUE>;
> - };
> - };
> - };
> -
> - vreg_wlan: wlan-regulator {
> - compatible = "regulator-fixed";
> -
> - regulator-name = "wl-reg";
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> -
> - gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>;
> - enable-active-high;
> - };
> -
> - vreg_panel: panel-regulator {
> - compatible = "regulator-fixed";
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&panel_en_pin>;
> -
> - regulator-name = "panel-vddr-reg";
> - regulator-min-microvolt = <1500000>;
> - regulator-max-microvolt = <1500000>;
> -
> - gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>;
> - enable-active-high;
> - };
> -
> - vreg_vph_pwr: vreg-vph-pwr {
> - compatible = "regulator-fixed";
> - regulator-name = "vph-pwr";
> -
> - regulator-min-microvolt = <3600000>;
> - regulator-max-microvolt = <3600000>;
> -
> - regulator-always-on;
> - };
> -};
> -
> -&blsp1_i2c2 {
> - status = "okay";
> -
> - touchscreen@20 {
> - compatible = "syna,rmi4-i2c";
> - reg = <0x20>;
> -
> - interrupt-parent = <&pma8084_gpios>;
> - interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
> -
> - vdd-supply = <&max77826_ldo13>;
> - vio-supply = <&pma8084_lvs2>;
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&touch_pin>;
> -
> - syna,startup-delay-ms = <100>;
> -
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - rmi4-f01@1 {
> - reg = <0x1>;
> - syna,nosleep-mode = <1>;
> - };
> -
> - rmi4-f12@12 {
> - reg = <0x12>;
> - syna,sensor-type = <1>;
> - };
> - };
> -};
> -
> -&blsp1_i2c6 {
> - status = "okay";
> -
> - pmic@60 {
> - reg = <0x60>;
> - compatible = "maxim,max77826";
> -
> - regulators {
> - max77826_ldo1: LDO1 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - max77826_ldo2: LDO2 {
> - regulator-min-microvolt = <1000000>;
> - regulator-max-microvolt = <1000000>;
> - };
> -
> - max77826_ldo3: LDO3 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - max77826_ldo4: LDO4 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - max77826_ldo5: LDO5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - max77826_ldo6: LDO6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - max77826_ldo7: LDO7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - max77826_ldo8: LDO8 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - max77826_ldo9: LDO9 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - max77826_ldo10: LDO10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - max77826_ldo11: LDO11 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - max77826_ldo12: LDO12 {
> - regulator-min-microvolt = <2500000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - max77826_ldo13: LDO13 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - max77826_ldo14: LDO14 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - max77826_ldo15: LDO15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - max77826_buck: BUCK {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - max77826_buckboost: BUCKBOOST {
> - regulator-min-microvolt = <3400000>;
> - regulator-max-microvolt = <3400000>;
> - };
> - };
> - };
> -};
> -
> -&blsp1_uart2 {
> - status = "okay";
> -};
> -
> -&blsp2_i2c6 {
> - status = "okay";
> -
> - fuelgauge@36 {
> - compatible = "maxim,max17048";
> - reg = <0x36>;
> -
> - maxim,double-soc;
> - maxim,rcomp = /bits/ 8 <0x56>;
> -
> - interrupt-parent = <&pma8084_gpios>;
> - interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&fuelgauge_pin>;
> - };
> -};
> -
> -&blsp2_uart2 {
> - status = "okay";
> -
> - pinctrl-names = "default", "sleep";
> - pinctrl-0 = <&blsp2_uart2_pins_active>;
> - pinctrl-1 = <&blsp2_uart2_pins_sleep>;
> -
> - bluetooth {
> - compatible = "brcm,bcm43540-bt";
> - max-speed = <3000000>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&bt_pins>;
> - device-wakeup-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
> - shutdown-gpios = <&gpio_expander 9 GPIO_ACTIVE_HIGH>;
> - interrupt-parent = <&tlmm>;
> - interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
> - interrupt-names = "host-wakeup";
> - };
> -};
> -
> -&gpu {
> - status = "okay";
> -};
> -
> -&mdss {
> - status = "okay";
> -};
> -
> -&mdss_dsi0 {
> - status = "okay";
> -
> - vdda-supply = <&pma8084_l2>;
> - vdd-supply = <&pma8084_l22>;
> - vddio-supply = <&pma8084_l12>;
> -
> - panel: panel@0 {
> - reg = <0>;
> - compatible = "samsung,s6e3fa2";
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&panel_te_pin &panel_rst_pin>;
> -
> - iovdd-supply = <&pma8084_lvs4>;
> - vddr-supply = <&vreg_panel>;
> -
> - reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>;
> -
> - port {
> - panel_in: endpoint {
> - remote-endpoint = <&mdss_dsi0_out>;
> - };
> - };
> - };
> -};
> -
> -&mdss_dsi0_out {
> - remote-endpoint = <&panel_in>;
> - data-lanes = <0 1 2 3>;
> -};
> -
> -&mdss_dsi0_phy {
> - status = "okay";
> -
> - vddio-supply = <&pma8084_l12>;
> -};
> -
> -&pma8084_gpios {
> - gpio_keys_pin_a: gpio-keys-active-state {
> - pins = "gpio2", "gpio3", "gpio5";
> - function = "normal";
> -
> - bias-pull-up;
> - power-source = <PMA8084_GPIO_S4>;
> - };
> -
> - touchkey_pin: touchkey-int-state {
> - pins = "gpio6";
> - function = "normal";
> - bias-disable;
> - input-enable;
> - power-source = <PMA8084_GPIO_S4>;
> - };
> -
> - touch_pin: touchscreen-int-state {
> - pins = "gpio8";
> - function = "normal";
> - bias-disable;
> - input-enable;
> - power-source = <PMA8084_GPIO_S4>;
> - };
> -
> - panel_en_pin: panel-en-state {
> - pins = "gpio14";
> - function = "normal";
> - bias-pull-up;
> - power-source = <PMA8084_GPIO_S4>;
> - qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> - };
> -
> - wlan_sleep_clk_pin: wlan-sleep-clk-state {
> - pins = "gpio16";
> - function = "func2";
> -
> - output-high;
> - power-source = <PMA8084_GPIO_S4>;
> - qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
> - };
> -
> - panel_rst_pin: panel-rst-state {
> - pins = "gpio17";
> - function = "normal";
> - bias-disable;
> - power-source = <PMA8084_GPIO_S4>;
> - qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> - };
> -
> - fuelgauge_pin: fuelgauge-int-state {
> - pins = "gpio21";
> - function = "normal";
> - bias-disable;
> - input-enable;
> - power-source = <PMA8084_GPIO_S4>;
> - };
> -};
> -
> -&remoteproc_adsp {
> - status = "okay";
> - cx-supply = <&pma8084_s2>;
> -};
> -
> -&remoteproc_mss {
> - status = "okay";
> - cx-supply = <&pma8084_s2>;
> - mss-supply = <&pma8084_s6>;
> - mx-supply = <&pma8084_s1>;
> - pll-supply = <&pma8084_l12>;
> -};
> -
> -&rpm_requests {
> - regulators-0 {
> - compatible = "qcom,rpm-pma8084-regulators";
> -
> - pma8084_s1: s1 {
> - regulator-min-microvolt = <675000>;
> - regulator-max-microvolt = <1050000>;
> - regulator-always-on;
> - };
> -
> - pma8084_s2: s2 {
> - regulator-min-microvolt = <500000>;
> - regulator-max-microvolt = <1050000>;
> - };
> -
> - pma8084_s3: s3 {
> - regulator-min-microvolt = <1300000>;
> - regulator-max-microvolt = <1300000>;
> - };
> -
> - pma8084_s4: s4 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - pma8084_s5: s5 {
> - regulator-min-microvolt = <2150000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - pma8084_s6: s6 {
> - regulator-min-microvolt = <1050000>;
> - regulator-max-microvolt = <1050000>;
> - };
> -
> - pma8084_l1: l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - pma8084_l2: l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - pma8084_l3: l3 {
> - regulator-min-microvolt = <1050000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - pma8084_l4: l4 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - pma8084_l5: l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - pma8084_l6: l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - pma8084_l7: l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - pma8084_l8: l8 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - pma8084_l9: l9 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - pma8084_l10: l10 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - pma8084_l11: l11 {
> - regulator-min-microvolt = <1300000>;
> - regulator-max-microvolt = <1300000>;
> - };
> -
> - pma8084_l12: l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - regulator-always-on;
> - };
> -
> - pma8084_l13: l13 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - pma8084_l14: l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - pma8084_l15: l15 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - pma8084_l16: l16 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -
> - pma8084_l17: l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - pma8084_l18: l18 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - pma8084_l19: l19 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - pma8084_l20: l20 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-system-load = <200000>;
> - regulator-allow-set-load;
> - };
> -
> - pma8084_l21: l21 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-system-load = <200000>;
> - regulator-allow-set-load;
> - };
> -
> - pma8084_l22: l22 {
> - regulator-min-microvolt = <3000000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - pma8084_l23: l23 {
> - regulator-min-microvolt = <3000000>;
> - regulator-max-microvolt = <3000000>;
> - };
> -
> - pma8084_l24: l24 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - pma8084_l25: l25 {
> - regulator-min-microvolt = <2100000>;
> - regulator-max-microvolt = <2100000>;
> - };
> -
> - pma8084_l26: l26 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - pma8084_l27: l27 {
> - regulator-min-microvolt = <1000000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - pma8084_lvs1: lvs1 {};
> - pma8084_lvs2: lvs2 {};
> - pma8084_lvs3: lvs3 {};
> - pma8084_lvs4: lvs4 {};
> -
> - pma8084_5vs1: 5vs1 {};
> - };
> -};
> -
> -&sdhc_1 {
> - status = "okay";
> -
> - vmmc-supply = <&pma8084_l20>;
> - vqmmc-supply = <&pma8084_s4>;
> -
> - pinctrl-names = "default", "sleep";
> - pinctrl-0 = <&sdc1_on>;
> - pinctrl-1 = <&sdc1_off>;
> -};
> -
> -&sdhc_2 {
> - status = "okay";
> - max-frequency = <100000000>;
> - vmmc-supply = <&vreg_wlan>;
> - vqmmc-supply = <&pma8084_s4>;
> - non-removable;
> -
> - pinctrl-names = "default", "sleep";
> - pinctrl-0 = <&sdc2_on>;
> - pinctrl-1 = <&sdc2_off>;
> -
> - wifi@1 {
> - reg = <1>;
> - compatible = "brcm,bcm4329-fmac";
> -
> - interrupt-parent = <&tlmm>;
> - interrupts = <92 IRQ_TYPE_LEVEL_HIGH>;
> - interrupt-names = "host-wake";
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>;
> - };
> -};
> -
> -&sdhc_3 {
> - status = "okay";
> - max-frequency = <100000000>;
> - vmmc-supply = <&pma8084_l21>;
> - vqmmc-supply = <&pma8084_l13>;
> -
> - /*
> - * cd-gpio is intentionally disabled. If enabled, an SD card
> - * present during boot is not initialized correctly. Without
> - * cd-gpios the driver resorts to polling, so hotplug works.
> - */
> - pinctrl-names = "default";
> - pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>;
> - /* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */
> -};
> -
> -&tlmm {
> - /* This seems suspicious, but somebody with this device
> should look into it. */
> - blsp2_uart2_pins_active: blsp2-uart2-pins-active-state {
> - pins = "gpio45", "gpio46", "gpio47", "gpio48";
> - function = "blsp_uart8";
> - drive-strength = <8>;
> - bias-disable;
> - };
> -
> - blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state {
> - pins = "gpio45", "gpio46", "gpio47", "gpio48";
> - function = "gpio";
> - drive-strength = <2>;
> - bias-pull-down;
> - };
> -
> - bt_pins: bt-pins-state {
> - hostwake-pins {
> - pins = "gpio75";
> - function = "gpio";
> - drive-strength = <16>;
> - };
> -
> - devwake-pins {
> - pins = "gpio91";
> - function = "gpio";
> - drive-strength = <2>;
> - };
> - };
> -
> - sdc1_on: sdhc1-on-state {
> - clk-pins {
> - pins = "sdc1_clk";
> - drive-strength = <4>;
> - bias-disable;
> - };
> -
> - cmd-data-pins {
> - pins = "sdc1_cmd", "sdc1_data";
> - drive-strength = <4>;
> - bias-pull-up;
> - };
> - };
> -
> - sdc3_on: sdc3-on-state {
> - pins = "gpio35", "gpio36", "gpio37", "gpio38",
> "gpio39", "gpio40";
> - function = "sdc3";
> - drive-strength = <8>;
> - bias-disable;
> - };
> -
> - sdhc3_cd_pin: sdc3-cd-on-state {
> - pins = "gpio62";
> - function = "gpio";
> -
> - drive-strength = <2>;
> - bias-disable;
> - };
> -
> - sdc2_on: sdhc2-on-state {
> - clk-pins {
> - pins = "sdc2_clk";
> - drive-strength = <6>;
> - bias-disable;
> - };
> -
> - cmd-data-pins {
> - pins = "sdc2_cmd", "sdc2_data";
> - drive-strength = <6>;
> - bias-pull-up;
> - };
> - };
> -
> - i2c_touchkey_pins: i2c-touchkey-state {
> - pins = "gpio95", "gpio96";
> - function = "gpio";
> - bias-pull-up;
> - };
> -
> - i2c_led_gpioex_pins: i2c-led-gpioex-state {
> - pins = "gpio120", "gpio121";
> - function = "gpio";
> - bias-pull-down;
> - };
> -
> - gpioex_pin: gpioex-state {
> - pins = "gpio145";
> - function = "gpio";
> - bias-pull-up;
> - drive-strength = <2>;
> - };
> -
> - wifi_pin: wifi-state {
> - pins = "gpio92";
> - function = "gpio";
> - bias-pull-down;
> - };
> -
> - panel_te_pin: panel-state {
> - pins = "gpio12";
> - function = "mdp_vsync";
> - drive-strength = <2>;
> - bias-disable;
> - };
> -};
> -
> -&usb {
> - status = "okay";
> -
> - phys = <&usb_hs1_phy>;
> - phy-select = <&tcsr 0xb000 0>;
> -
> - hnp-disable;
> - srp-disable;
> - adp-disable;
> -};
> -
> -&usb_hs1_phy {
> - status = "okay";
> -
> - v1p8-supply = <&pma8084_l6>;
> - v3p3-supply = <&pma8084_l24>;
> -
> - qcom,init-seq = /bits/ 8 <0x1 0x64>;
> -};
> +// SPDX-License-Identifier: GPL-2.0
> +#include "qcom-msm8974pro-samsung-klte-common.dtsi"
> +
> +/ {
> + model = "Samsung Galaxy S5";
> + compatible = "samsung,klte", "qcom,msm8974pro",
> "qcom,msm8974";
> +};
> +
> +&i2c_led_gpio {
> + scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> +};
> +
> +&i2c_led_gpioex_pins {
> + pins = "gpio120", "gpio121";
> +};
在 2024-04-14星期日的 21:58 +0800,Icenowy Zheng写道:
> 在 2024-02-13星期二的 18:58 +0800,Rong Zhang写道:
> > Samsung Galaxy S5 has many variants. Variants that support LTE use
> > klte*
> > as their codename. Currently, the only supported one is the one
> > without
> > any suffix, namely, klte. It is known that other klte* variants
> > have
> > only minor differences compared to klte and can mostly work with
> > the
> > klte DTB.
> >
> > Split the common part into a common DTSI so that it can be imported
> > in
> > the DTS of klte and other klte* variants.
> >
> > Signed-off-by: Rong Zhang <[email protected]>
> > ---
> > ... qcom-msm8974pro-samsung-klte-common.dtsi} | 7 +-
> > .../dts/qcom/qcom-msm8974pro-samsung-klte.dts | 833
>
> Patched tested by picking into postmarketOS (a kltechn kernel variant
> is already added there).
>
> Tested-by: Icenowy Zheng <[email protected]>
Sorry I wrongly sent it to the 1/4 patch, this should be sent to the
cover letter, and this Tested-by tag applies to all 4 patches.
>
> > +-----------------
> > 2 files changed, 17 insertions(+), 823 deletions(-)
> > copy arch/arm/boot/dts/qcom/{qcom-msm8974pro-samsung-klte.dts =>
> > qcom-msm8974pro-samsung-klte-common.dtsi} (98%)
> > rewrite arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> > (99%)
> >
> > diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-
> > klte.dts
> > b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi
> > similarity index 98%
> > copy from arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> > copy to arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-
> > common.dtsi
> > index b93539e2b87e..11e35b34ebd6 100644
> > --- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> > +++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-
> > common.dtsi
> > @@ -6,8 +6,6 @@
> > #include <dt-bindings/leds/common.h>
> >
> > / {
> > - model = "Samsung Galaxy S5";
> > - compatible = "samsung,klte", "qcom,msm8974pro",
> > "qcom,msm8974";
> > chassis-type = "handset";
> >
> > aliases {
> > @@ -77,12 +75,10 @@ touchkey@20 {
> > };
> > };
> >
> > - i2c-gpio-led {
> > + i2c_led_gpio: i2c-gpio-led {
> > compatible = "i2c-gpio";
> > #address-cells = <1>;
> > #size-cells = <0>;
> > - scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > - sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > pinctrl-names = "default";
> > pinctrl-0 = <&i2c_led_gpioex_pins>;
> >
> > @@ -770,7 +766,6 @@ i2c_touchkey_pins: i2c-touchkey-state {
> > };
> >
> > i2c_led_gpioex_pins: i2c-led-gpioex-state {
> > - pins = "gpio120", "gpio121";
> > function = "gpio";
> > bias-pull-down;
> > };
> > diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-
> > klte.dts
> > b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> > dissimilarity index 99%
> > index b93539e2b87e..954665f3a9dd 100644
> > --- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> > +++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts
> > @@ -1,817 +1,16 @@
> > -// SPDX-License-Identifier: GPL-2.0
> > -#include "qcom-msm8974pro.dtsi"
> > -#include "pma8084.dtsi"
> > -#include <dt-bindings/input/input.h>
> > -#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> > -#include <dt-bindings/leds/common.h>
> > -
> > -/ {
> > - model = "Samsung Galaxy S5";
> > - compatible = "samsung,klte", "qcom,msm8974pro",
> > "qcom,msm8974";
> > - chassis-type = "handset";
> > -
> > - aliases {
> > - serial0 = &blsp1_uart1;
> > - mmc0 = &sdhc_1; /* SDC1 eMMC slot */
> > - mmc1 = &sdhc_3; /* SDC2 SD card slot */
> > - };
> > -
> > - chosen {
> > - stdout-path = "serial0:115200n8";
> > - };
> > -
> > - gpio-keys {
> > - compatible = "gpio-keys";
> > -
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&gpio_keys_pin_a>;
> > -
> > - key-volume-down {
> > - label = "volume_down";
> > - gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
> > - linux,input-type = <1>;
> > - linux,code = <KEY_VOLUMEDOWN>;
> > - debounce-interval = <15>;
> > - };
> > -
> > - key-home {
> > - label = "home_key";
> > - gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
> > - linux,input-type = <1>;
> > - linux,code = <KEY_HOMEPAGE>;
> > - wakeup-source;
> > - debounce-interval = <15>;
> > - };
> > -
> > - key-volume-up {
> > - label = "volume_up";
> > - gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
> > - linux,input-type = <1>;
> > - linux,code = <KEY_VOLUMEUP>;
> > - debounce-interval = <15>;
> > - };
> > - };
> > -
> > - i2c-gpio-touchkey {
> > - compatible = "i2c-gpio";
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > - sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > - scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&i2c_touchkey_pins>;
> > -
> > - touchkey@20 {
> > - compatible = "cypress,tm2-touchkey";
> > - reg = <0x20>;
> > -
> > - interrupt-parent = <&pma8084_gpios>;
> > - interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&touchkey_pin>;
> > -
> > - vcc-supply = <&max77826_ldo15>;
> > - vdd-supply = <&pma8084_l19>;
> > -
> > - linux,keycodes = <KEY_APPSELECT KEY_BACK>;
> > - };
> > - };
> > -
> > - i2c-gpio-led {
> > - compatible = "i2c-gpio";
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > - scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > - sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&i2c_led_gpioex_pins>;
> > -
> > - i2c-gpio,delay-us = <2>;
> > -
> > - gpio_expander: gpio@20 {
> > - compatible = "nxp,pcal6416";
> > - reg = <0x20>;
> > -
> > - gpio-controller;
> > - #gpio-cells = <2>;
> > -
> > - vcc-supply = <&pma8084_s4>;
> > -
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&gpioex_pin>;
> > -
> > - reset-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
> > - };
> > -
> > - led-controller@30 {
> > - compatible = "panasonic,an30259a";
> > - reg = <0x30>;
> > -
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > -
> > - led@1 {
> > - reg = <1>;
> > - function = LED_FUNCTION_STATUS;
> > - color = <LED_COLOR_ID_RED>;
> > - };
> > -
> > - led@2 {
> > - reg = <2>;
> > - function = LED_FUNCTION_STATUS;
> > - color = <LED_COLOR_ID_GREEN>;
> > - };
> > -
> > - led@3 {
> > - reg = <3>;
> > - function = LED_FUNCTION_STATUS;
> > - color = <LED_COLOR_ID_BLUE>;
> > - };
> > - };
> > - };
> > -
> > - vreg_wlan: wlan-regulator {
> > - compatible = "regulator-fixed";
> > -
> > - regulator-name = "wl-reg";
> > - regulator-min-microvolt = <3300000>;
> > - regulator-max-microvolt = <3300000>;
> > -
> > - gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>;
> > - enable-active-high;
> > - };
> > -
> > - vreg_panel: panel-regulator {
> > - compatible = "regulator-fixed";
> > -
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&panel_en_pin>;
> > -
> > - regulator-name = "panel-vddr-reg";
> > - regulator-min-microvolt = <1500000>;
> > - regulator-max-microvolt = <1500000>;
> > -
> > - gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>;
> > - enable-active-high;
> > - };
> > -
> > - vreg_vph_pwr: vreg-vph-pwr {
> > - compatible = "regulator-fixed";
> > - regulator-name = "vph-pwr";
> > -
> > - regulator-min-microvolt = <3600000>;
> > - regulator-max-microvolt = <3600000>;
> > -
> > - regulator-always-on;
> > - };
> > -};
> > -
> > -&blsp1_i2c2 {
> > - status = "okay";
> > -
> > - touchscreen@20 {
> > - compatible = "syna,rmi4-i2c";
> > - reg = <0x20>;
> > -
> > - interrupt-parent = <&pma8084_gpios>;
> > - interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
> > -
> > - vdd-supply = <&max77826_ldo13>;
> > - vio-supply = <&pma8084_lvs2>;
> > -
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&touch_pin>;
> > -
> > - syna,startup-delay-ms = <100>;
> > -
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > -
> > - rmi4-f01@1 {
> > - reg = <0x1>;
> > - syna,nosleep-mode = <1>;
> > - };
> > -
> > - rmi4-f12@12 {
> > - reg = <0x12>;
> > - syna,sensor-type = <1>;
> > - };
> > - };
> > -};
> > -
> > -&blsp1_i2c6 {
> > - status = "okay";
> > -
> > - pmic@60 {
> > - reg = <0x60>;
> > - compatible = "maxim,max77826";
> > -
> > - regulators {
> > - max77826_ldo1: LDO1 {
> > - regulator-min-microvolt =
> > <1200000>;
> > - regulator-max-microvolt =
> > <1200000>;
> > - };
> > -
> > - max77826_ldo2: LDO2 {
> > - regulator-min-microvolt =
> > <1000000>;
> > - regulator-max-microvolt =
> > <1000000>;
> > - };
> > -
> > - max77826_ldo3: LDO3 {
> > - regulator-min-microvolt =
> > <1200000>;
> > - regulator-max-microvolt =
> > <1200000>;
> > - };
> > -
> > - max77826_ldo4: LDO4 {
> > - regulator-min-microvolt =
> > <1800000>;
> > - regulator-max-microvolt =
> > <1800000>;
> > - };
> > -
> > - max77826_ldo5: LDO5 {
> > - regulator-min-microvolt =
> > <1800000>;
> > - regulator-max-microvolt =
> > <1800000>;
> > - };
> > -
> > - max77826_ldo6: LDO6 {
> > - regulator-min-microvolt =
> > <1800000>;
> > - regulator-max-microvolt =
> > <3300000>;
> > - };
> > -
> > - max77826_ldo7: LDO7 {
> > - regulator-min-microvolt =
> > <1800000>;
> > - regulator-max-microvolt =
> > <1800000>;
> > - };
> > -
> > - max77826_ldo8: LDO8 {
> > - regulator-min-microvolt =
> > <1800000>;
> > - regulator-max-microvolt =
> > <3300000>;
> > - };
> > -
> > - max77826_ldo9: LDO9 {
> > - regulator-min-microvolt =
> > <1800000>;
> > - regulator-max-microvolt =
> > <1800000>;
> > - };
> > -
> > - max77826_ldo10: LDO10 {
> > - regulator-min-microvolt =
> > <2800000>;
> > - regulator-max-microvolt =
> > <2950000>;
> > - };
> > -
> > - max77826_ldo11: LDO11 {
> > - regulator-min-microvolt =
> > <2700000>;
> > - regulator-max-microvolt =
> > <2950000>;
> > - };
> > -
> > - max77826_ldo12: LDO12 {
> > - regulator-min-microvolt =
> > <2500000>;
> > - regulator-max-microvolt =
> > <3300000>;
> > - };
> > -
> > - max77826_ldo13: LDO13 {
> > - regulator-min-microvolt =
> > <3300000>;
> > - regulator-max-microvolt =
> > <3300000>;
> > - };
> > -
> > - max77826_ldo14: LDO14 {
> > - regulator-min-microvolt =
> > <3300000>;
> > - regulator-max-microvolt =
> > <3300000>;
> > - };
> > -
> > - max77826_ldo15: LDO15 {
> > - regulator-min-microvolt =
> > <1800000>;
> > - regulator-max-microvolt =
> > <1800000>;
> > - };
> > -
> > - max77826_buck: BUCK {
> > - regulator-min-microvolt =
> > <1225000>;
> > - regulator-max-microvolt =
> > <1225000>;
> > - };
> > -
> > - max77826_buckboost: BUCKBOOST {
> > - regulator-min-microvolt =
> > <3400000>;
> > - regulator-max-microvolt =
> > <3400000>;
> > - };
> > - };
> > - };
> > -};
> > -
> > -&blsp1_uart2 {
> > - status = "okay";
> > -};
> > -
> > -&blsp2_i2c6 {
> > - status = "okay";
> > -
> > - fuelgauge@36 {
> > - compatible = "maxim,max17048";
> > - reg = <0x36>;
> > -
> > - maxim,double-soc;
> > - maxim,rcomp = /bits/ 8 <0x56>;
> > -
> > - interrupt-parent = <&pma8084_gpios>;
> > - interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
> > -
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&fuelgauge_pin>;
> > - };
> > -};
> > -
> > -&blsp2_uart2 {
> > - status = "okay";
> > -
> > - pinctrl-names = "default", "sleep";
> > - pinctrl-0 = <&blsp2_uart2_pins_active>;
> > - pinctrl-1 = <&blsp2_uart2_pins_sleep>;
> > -
> > - bluetooth {
> > - compatible = "brcm,bcm43540-bt";
> > - max-speed = <3000000>;
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&bt_pins>;
> > - device-wakeup-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
> > - shutdown-gpios = <&gpio_expander 9
> > GPIO_ACTIVE_HIGH>;
> > - interrupt-parent = <&tlmm>;
> > - interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
> > - interrupt-names = "host-wakeup";
> > - };
> > -};
> > -
> > -&gpu {
> > - status = "okay";
> > -};
> > -
> > -&mdss {
> > - status = "okay";
> > -};
> > -
> > -&mdss_dsi0 {
> > - status = "okay";
> > -
> > - vdda-supply = <&pma8084_l2>;
> > - vdd-supply = <&pma8084_l22>;
> > - vddio-supply = <&pma8084_l12>;
> > -
> > - panel: panel@0 {
> > - reg = <0>;
> > - compatible = "samsung,s6e3fa2";
> > -
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&panel_te_pin &panel_rst_pin>;
> > -
> > - iovdd-supply = <&pma8084_lvs4>;
> > - vddr-supply = <&vreg_panel>;
> > -
> > - reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>;
> > -
> > - port {
> > - panel_in: endpoint {
> > - remote-endpoint = <&mdss_dsi0_out>;
> > - };
> > - };
> > - };
> > -};
> > -
> > -&mdss_dsi0_out {
> > - remote-endpoint = <&panel_in>;
> > - data-lanes = <0 1 2 3>;
> > -};
> > -
> > -&mdss_dsi0_phy {
> > - status = "okay";
> > -
> > - vddio-supply = <&pma8084_l12>;
> > -};
> > -
> > -&pma8084_gpios {
> > - gpio_keys_pin_a: gpio-keys-active-state {
> > - pins = "gpio2", "gpio3", "gpio5";
> > - function = "normal";
> > -
> > - bias-pull-up;
> > - power-source = <PMA8084_GPIO_S4>;
> > - };
> > -
> > - touchkey_pin: touchkey-int-state {
> > - pins = "gpio6";
> > - function = "normal";
> > - bias-disable;
> > - input-enable;
> > - power-source = <PMA8084_GPIO_S4>;
> > - };
> > -
> > - touch_pin: touchscreen-int-state {
> > - pins = "gpio8";
> > - function = "normal";
> > - bias-disable;
> > - input-enable;
> > - power-source = <PMA8084_GPIO_S4>;
> > - };
> > -
> > - panel_en_pin: panel-en-state {
> > - pins = "gpio14";
> > - function = "normal";
> > - bias-pull-up;
> > - power-source = <PMA8084_GPIO_S4>;
> > - qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> > - };
> > -
> > - wlan_sleep_clk_pin: wlan-sleep-clk-state {
> > - pins = "gpio16";
> > - function = "func2";
> > -
> > - output-high;
> > - power-source = <PMA8084_GPIO_S4>;
> > - qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
> > - };
> > -
> > - panel_rst_pin: panel-rst-state {
> > - pins = "gpio17";
> > - function = "normal";
> > - bias-disable;
> > - power-source = <PMA8084_GPIO_S4>;
> > - qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> > - };
> > -
> > - fuelgauge_pin: fuelgauge-int-state {
> > - pins = "gpio21";
> > - function = "normal";
> > - bias-disable;
> > - input-enable;
> > - power-source = <PMA8084_GPIO_S4>;
> > - };
> > -};
> > -
> > -&remoteproc_adsp {
> > - status = "okay";
> > - cx-supply = <&pma8084_s2>;
> > -};
> > -
> > -&remoteproc_mss {
> > - status = "okay";
> > - cx-supply = <&pma8084_s2>;
> > - mss-supply = <&pma8084_s6>;
> > - mx-supply = <&pma8084_s1>;
> > - pll-supply = <&pma8084_l12>;
> > -};
> > -
> > -&rpm_requests {
> > - regulators-0 {
> > - compatible = "qcom,rpm-pma8084-regulators";
> > -
> > - pma8084_s1: s1 {
> > - regulator-min-microvolt = <675000>;
> > - regulator-max-microvolt = <1050000>;
> > - regulator-always-on;
> > - };
> > -
> > - pma8084_s2: s2 {
> > - regulator-min-microvolt = <500000>;
> > - regulator-max-microvolt = <1050000>;
> > - };
> > -
> > - pma8084_s3: s3 {
> > - regulator-min-microvolt = <1300000>;
> > - regulator-max-microvolt = <1300000>;
> > - };
> > -
> > - pma8084_s4: s4 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <1800000>;
> > - };
> > -
> > - pma8084_s5: s5 {
> > - regulator-min-microvolt = <2150000>;
> > - regulator-max-microvolt = <2150000>;
> > - };
> > -
> > - pma8084_s6: s6 {
> > - regulator-min-microvolt = <1050000>;
> > - regulator-max-microvolt = <1050000>;
> > - };
> > -
> > - pma8084_l1: l1 {
> > - regulator-min-microvolt = <1225000>;
> > - regulator-max-microvolt = <1225000>;
> > - };
> > -
> > - pma8084_l2: l2 {
> > - regulator-min-microvolt = <1200000>;
> > - regulator-max-microvolt = <1200000>;
> > - };
> > -
> > - pma8084_l3: l3 {
> > - regulator-min-microvolt = <1050000>;
> > - regulator-max-microvolt = <1200000>;
> > - };
> > -
> > - pma8084_l4: l4 {
> > - regulator-min-microvolt = <1200000>;
> > - regulator-max-microvolt = <1225000>;
> > - };
> > -
> > - pma8084_l5: l5 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <1800000>;
> > - };
> > -
> > - pma8084_l6: l6 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <1800000>;
> > - };
> > -
> > - pma8084_l7: l7 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <1800000>;
> > - };
> > -
> > - pma8084_l8: l8 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <1800000>;
> > - };
> > -
> > - pma8084_l9: l9 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <2950000>;
> > - };
> > -
> > - pma8084_l10: l10 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <2950000>;
> > - };
> > -
> > - pma8084_l11: l11 {
> > - regulator-min-microvolt = <1300000>;
> > - regulator-max-microvolt = <1300000>;
> > - };
> > -
> > - pma8084_l12: l12 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <1800000>;
> > - regulator-always-on;
> > - };
> > -
> > - pma8084_l13: l13 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <2950000>;
> > - };
> > -
> > - pma8084_l14: l14 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <1800000>;
> > - };
> > -
> > - pma8084_l15: l15 {
> > - regulator-min-microvolt = <2050000>;
> > - regulator-max-microvolt = <2050000>;
> > - };
> > -
> > - pma8084_l16: l16 {
> > - regulator-min-microvolt = <2700000>;
> > - regulator-max-microvolt = <2700000>;
> > - };
> > -
> > - pma8084_l17: l17 {
> > - regulator-min-microvolt = <2850000>;
> > - regulator-max-microvolt = <2850000>;
> > - };
> > -
> > - pma8084_l18: l18 {
> > - regulator-min-microvolt = <2850000>;
> > - regulator-max-microvolt = <2850000>;
> > - };
> > -
> > - pma8084_l19: l19 {
> > - regulator-min-microvolt = <3300000>;
> > - regulator-max-microvolt = <3300000>;
> > - };
> > -
> > - pma8084_l20: l20 {
> > - regulator-min-microvolt = <2950000>;
> > - regulator-max-microvolt = <2950000>;
> > - regulator-system-load = <200000>;
> > - regulator-allow-set-load;
> > - };
> > -
> > - pma8084_l21: l21 {
> > - regulator-min-microvolt = <2950000>;
> > - regulator-max-microvolt = <2950000>;
> > - regulator-system-load = <200000>;
> > - regulator-allow-set-load;
> > - };
> > -
> > - pma8084_l22: l22 {
> > - regulator-min-microvolt = <3000000>;
> > - regulator-max-microvolt = <3300000>;
> > - };
> > -
> > - pma8084_l23: l23 {
> > - regulator-min-microvolt = <3000000>;
> > - regulator-max-microvolt = <3000000>;
> > - };
> > -
> > - pma8084_l24: l24 {
> > - regulator-min-microvolt = <3075000>;
> > - regulator-max-microvolt = <3075000>;
> > - };
> > -
> > - pma8084_l25: l25 {
> > - regulator-min-microvolt = <2100000>;
> > - regulator-max-microvolt = <2100000>;
> > - };
> > -
> > - pma8084_l26: l26 {
> > - regulator-min-microvolt = <1800000>;
> > - regulator-max-microvolt = <2050000>;
> > - };
> > -
> > - pma8084_l27: l27 {
> > - regulator-min-microvolt = <1000000>;
> > - regulator-max-microvolt = <1225000>;
> > - };
> > -
> > - pma8084_lvs1: lvs1 {};
> > - pma8084_lvs2: lvs2 {};
> > - pma8084_lvs3: lvs3 {};
> > - pma8084_lvs4: lvs4 {};
> > -
> > - pma8084_5vs1: 5vs1 {};
> > - };
> > -};
> > -
> > -&sdhc_1 {
> > - status = "okay";
> > -
> > - vmmc-supply = <&pma8084_l20>;
> > - vqmmc-supply = <&pma8084_s4>;
> > -
> > - pinctrl-names = "default", "sleep";
> > - pinctrl-0 = <&sdc1_on>;
> > - pinctrl-1 = <&sdc1_off>;
> > -};
> > -
> > -&sdhc_2 {
> > - status = "okay";
> > - max-frequency = <100000000>;
> > - vmmc-supply = <&vreg_wlan>;
> > - vqmmc-supply = <&pma8084_s4>;
> > - non-removable;
> > -
> > - pinctrl-names = "default", "sleep";
> > - pinctrl-0 = <&sdc2_on>;
> > - pinctrl-1 = <&sdc2_off>;
> > -
> > - wifi@1 {
> > - reg = <1>;
> > - compatible = "brcm,bcm4329-fmac";
> > -
> > - interrupt-parent = <&tlmm>;
> > - interrupts = <92 IRQ_TYPE_LEVEL_HIGH>;
> > - interrupt-names = "host-wake";
> > -
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>;
> > - };
> > -};
> > -
> > -&sdhc_3 {
> > - status = "okay";
> > - max-frequency = <100000000>;
> > - vmmc-supply = <&pma8084_l21>;
> > - vqmmc-supply = <&pma8084_l13>;
> > -
> > - /*
> > - * cd-gpio is intentionally disabled. If enabled, an SD
> > card
> > - * present during boot is not initialized correctly.
> > Without
> > - * cd-gpios the driver resorts to polling, so hotplug
> > works.
> > - */
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>;
> > - /* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */
> > -};
> > -
> > -&tlmm {
> > - /* This seems suspicious, but somebody with this device
> > should look into it. */
> > - blsp2_uart2_pins_active: blsp2-uart2-pins-active-state {
> > - pins = "gpio45", "gpio46", "gpio47", "gpio48";
> > - function = "blsp_uart8";
> > - drive-strength = <8>;
> > - bias-disable;
> > - };
> > -
> > - blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state {
> > - pins = "gpio45", "gpio46", "gpio47", "gpio48";
> > - function = "gpio";
> > - drive-strength = <2>;
> > - bias-pull-down;
> > - };
> > -
> > - bt_pins: bt-pins-state {
> > - hostwake-pins {
> > - pins = "gpio75";
> > - function = "gpio";
> > - drive-strength = <16>;
> > - };
> > -
> > - devwake-pins {
> > - pins = "gpio91";
> > - function = "gpio";
> > - drive-strength = <2>;
> > - };
> > - };
> > -
> > - sdc1_on: sdhc1-on-state {
> > - clk-pins {
> > - pins = "sdc1_clk";
> > - drive-strength = <4>;
> > - bias-disable;
> > - };
> > -
> > - cmd-data-pins {
> > - pins = "sdc1_cmd", "sdc1_data";
> > - drive-strength = <4>;
> > - bias-pull-up;
> > - };
> > - };
> > -
> > - sdc3_on: sdc3-on-state {
> > - pins = "gpio35", "gpio36", "gpio37", "gpio38",
> > "gpio39", "gpio40";
> > - function = "sdc3";
> > - drive-strength = <8>;
> > - bias-disable;
> > - };
> > -
> > - sdhc3_cd_pin: sdc3-cd-on-state {
> > - pins = "gpio62";
> > - function = "gpio";
> > -
> > - drive-strength = <2>;
> > - bias-disable;
> > - };
> > -
> > - sdc2_on: sdhc2-on-state {
> > - clk-pins {
> > - pins = "sdc2_clk";
> > - drive-strength = <6>;
> > - bias-disable;
> > - };
> > -
> > - cmd-data-pins {
> > - pins = "sdc2_cmd", "sdc2_data";
> > - drive-strength = <6>;
> > - bias-pull-up;
> > - };
> > - };
> > -
> > - i2c_touchkey_pins: i2c-touchkey-state {
> > - pins = "gpio95", "gpio96";
> > - function = "gpio";
> > - bias-pull-up;
> > - };
> > -
> > - i2c_led_gpioex_pins: i2c-led-gpioex-state {
> > - pins = "gpio120", "gpio121";
> > - function = "gpio";
> > - bias-pull-down;
> > - };
> > -
> > - gpioex_pin: gpioex-state {
> > - pins = "gpio145";
> > - function = "gpio";
> > - bias-pull-up;
> > - drive-strength = <2>;
> > - };
> > -
> > - wifi_pin: wifi-state {
> > - pins = "gpio92";
> > - function = "gpio";
> > - bias-pull-down;
> > - };
> > -
> > - panel_te_pin: panel-state {
> > - pins = "gpio12";
> > - function = "mdp_vsync";
> > - drive-strength = <2>;
> > - bias-disable;
> > - };
> > -};
> > -
> > -&usb {
> > - status = "okay";
> > -
> > - phys = <&usb_hs1_phy>;
> > - phy-select = <&tcsr 0xb000 0>;
> > -
> > - hnp-disable;
> > - srp-disable;
> > - adp-disable;
> > -};
> > -
> > -&usb_hs1_phy {
> > - status = "okay";
> > -
> > - v1p8-supply = <&pma8084_l6>;
> > - v3p3-supply = <&pma8084_l24>;
> > -
> > - qcom,init-seq = /bits/ 8 <0x1 0x64>;
> > -};
> > +// SPDX-License-Identifier: GPL-2.0
> > +#include "qcom-msm8974pro-samsung-klte-common.dtsi"
> > +
> > +/ {
> > + model = "Samsung Galaxy S5";
> > + compatible = "samsung,klte", "qcom,msm8974pro",
> > "qcom,msm8974";
> > +};
> > +
> > +&i2c_led_gpio {
> > + scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > + sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > +};
> > +
> > +&i2c_led_gpioex_pins {
> > + pins = "gpio120", "gpio121";
> > +};
>
On 13.02.2024 13:58, Rong Zhang wrote:
> Samsung Galaxy S5 has many variants. Variants that support LTE use klte*
> as their codename. Currently, the only supported one is the one without
> any suffix, namely, klte. It is known that other klte* variants have
> only minor differences compared to klte and can mostly work with the
> klte DTB.
>
> Split the common part into a common DTSI so that it can be imported in
> the DTS of klte and other klte* variants.
>
> Signed-off-by: Rong Zhang <[email protected]>
> ---
> ... qcom-msm8974pro-samsung-klte-common.dtsi} | 7 +-
> .../dts/qcom/qcom-msm8974pro-samsung-klte.dts | 833 +-----------------
> 2 files changed, 17 insertions(+), 823 deletions(-)
> copy arch/arm/boot/dts/qcom/{qcom-msm8974pro-samsung-klte.dts => qcom-msm8974pro-samsung-klte-common.dtsi} (98%)
> rewrite arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts (99%)
>
Tested on regular Samsung Galaxy S5 (qcom-msm8974pro-samsung-klte).
Tested-by: Alexey Minnekhanov <[email protected]>
--
Regards,
Alexey Minnekhanov
postmarketOS developer
On Tue, 13 Feb 2024 18:58:35 +0800, Rong Zhang wrote:
> Samsung Galaxy S5 has many variants. Currently, the only supported one
> is klte. Samsung Galaxy S5 China (kltechn) is the China edition of
> klte, and it can mostly work with the klte DTB, with only LEDs and WiFi
> missing.
>
> This patchset splits out the common part of klte DTS into klte-common
> DTSI, and adds DTS for kltechn by fixing up the GPIO pins for the LEDs
> and GPIO expander connected by the WiFi module. A "brcm,board-type"
> property is added into the wifi@1 node of the common DTSI to allow all
> klte* variants to load the same NVRAM file.
>
> [...]
Applied, thanks!
[1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte
commit: 16dcf57734620edea32339df2ff8875da00a34c1
[2/4] ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type
commit: a730364f16ddc65268d828acdbf17f2a762e84be
[4/4] ARM: dts: qcom: msm8974: Add DTS for Samsung Galaxy S5 China (kltechn)
commit: 01088e255a27f396dcbc412e10b26cd14be5ff19
Best regards,
--
Bjorn Andersson <[email protected]>