* [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support @ 2024-02-13 10:58 Rong Zhang 2024-02-13 10:58 ` [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte Rong Zhang ` (4 more replies) 0 siblings, 5 replies; 13+ messages in thread From: Rong Zhang @ 2024-02-13 10:58 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Rong Zhang, linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> --- 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/20240127172155.63624-1-i@rong.moe/ 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 <krzysztof.kozlowski@linaro.org>" but this was not added in the v2 patch due to the change. - Link to v1: https://lore.kernel.org/r/20240121154010.168440-1-i@rong.moe/ 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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte 2024-02-13 10:58 [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Rong Zhang @ 2024-02-13 10:58 ` Rong Zhang 2024-02-13 11:21 ` Krzysztof Kozlowski ` (2 more replies) 2024-02-13 10:58 ` [PATCH v3 2/4] ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type Rong Zhang ` (3 subsequent siblings) 4 siblings, 3 replies; 13+ messages in thread From: Rong Zhang @ 2024-02-13 10:58 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Rong Zhang, linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> --- ... 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 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte 2024-02-13 10:58 ` [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte Rong Zhang @ 2024-02-13 11:21 ` Krzysztof Kozlowski 2024-04-14 13:58 ` Icenowy Zheng 2024-04-17 20:25 ` Alexey Minnekhanov 2 siblings, 0 replies; 13+ messages in thread From: Krzysztof Kozlowski @ 2024-02-13 11:21 UTC (permalink / raw) To: Rong Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> > --- > ... qcom-msm8974pro-samsung-klte-common.dtsi} | 7 +- > .../dts/qcom/qcom-msm8974pro-samsung-klte.dts | 833 +----------------- Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte 2024-02-13 10:58 ` [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte Rong Zhang 2024-02-13 11:21 ` Krzysztof Kozlowski @ 2024-04-14 13:58 ` Icenowy Zheng 2024-04-14 14:48 ` Icenowy Zheng 2024-04-17 20:25 ` Alexey Minnekhanov 2 siblings, 1 reply; 13+ messages in thread From: Icenowy Zheng @ 2024-04-14 13:58 UTC (permalink / raw) To: Rong Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel 在 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 <i@rong.moe> > --- > ... 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 <uwu@icenowy.me> > +----------------- > 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"; > +}; ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte 2024-04-14 13:58 ` Icenowy Zheng @ 2024-04-14 14:48 ` Icenowy Zheng 0 siblings, 0 replies; 13+ messages in thread From: Icenowy Zheng @ 2024-04-14 14:48 UTC (permalink / raw) To: Rong Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel 在 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 <i@rong.moe> > > --- > > ... 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 <uwu@icenowy.me> 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"; > > +}; > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte 2024-02-13 10:58 ` [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte Rong Zhang 2024-02-13 11:21 ` Krzysztof Kozlowski 2024-04-14 13:58 ` Icenowy Zheng @ 2024-04-17 20:25 ` Alexey Minnekhanov 2 siblings, 0 replies; 13+ messages in thread From: Alexey Minnekhanov @ 2024-04-17 20:25 UTC (permalink / raw) To: Rong Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> > --- > ... 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 <alexeymin@postmarketos.org> -- Regards, Alexey Minnekhanov postmarketOS developer ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 2/4] ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type 2024-02-13 10:58 [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Rong Zhang 2024-02-13 10:58 ` [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte Rong Zhang @ 2024-02-13 10:58 ` Rong Zhang 2024-02-14 21:25 ` Konrad Dybcio 2024-02-13 10:58 ` [PATCH v3 3/4] dt-bindings: arm: qcom: Add Samsung Galaxy S5 China (kltechn) Rong Zhang ` (2 subsequent siblings) 4 siblings, 1 reply; 13+ messages in thread From: Rong Zhang @ 2024-02-13 10:58 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Rong Zhang, linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng klte* variants have little difference in the WiFi part. Without "brcm,board-type", variant-specific NVRAM file will be probed (e.g., klte probes samsung,klte). Pin it to "samsung,klte" to allow klte* to load the same NVRAM file as klte. Signed-off-by: Rong Zhang <i@rong.moe> --- .../boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi index 11e35b34ebd6..b5443fd5b425 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi @@ -661,6 +661,12 @@ wifi@1 { reg = <1>; compatible = "brcm,bcm4329-fmac"; + /* + * Allow all klte* variants to load the same NVRAM file, + * as they have little difference in the WiFi part. + */ + brcm,board-type = "samsung,klte"; + interrupt-parent = <&tlmm>; interrupts = <92 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "host-wake"; -- 2.43.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 2/4] ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type 2024-02-13 10:58 ` [PATCH v3 2/4] ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type Rong Zhang @ 2024-02-14 21:25 ` Konrad Dybcio 0 siblings, 0 replies; 13+ messages in thread From: Konrad Dybcio @ 2024-02-14 21:25 UTC (permalink / raw) To: Rong Zhang, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng On 13.02.2024 11:58, Rong Zhang wrote: > klte* variants have little difference in the WiFi part. Without > "brcm,board-type", variant-specific NVRAM file will be probed (e.g., > klte probes samsung,klte). Pin it to "samsung,klte" to allow klte* to > load the same NVRAM file as klte. > > Signed-off-by: Rong Zhang <i@rong.moe> > --- Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 3/4] dt-bindings: arm: qcom: Add Samsung Galaxy S5 China (kltechn) 2024-02-13 10:58 [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Rong Zhang 2024-02-13 10:58 ` [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte Rong Zhang 2024-02-13 10:58 ` [PATCH v3 2/4] ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type Rong Zhang @ 2024-02-13 10:58 ` Rong Zhang 2024-02-13 11:17 ` Krzysztof Kozlowski 2024-02-13 10:58 ` [PATCH v3 4/4] ARM: dts: qcom: msm8974: Add DTS for " Rong Zhang 2024-04-23 13:17 ` (subset) [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Bjorn Andersson 4 siblings, 1 reply; 13+ messages in thread From: Rong Zhang @ 2024-02-13 10:58 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Rong Zhang, linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> --- 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 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 3/4] dt-bindings: arm: qcom: Add Samsung Galaxy S5 China (kltechn) 2024-02-13 10:58 ` [PATCH v3 3/4] dt-bindings: arm: qcom: Add Samsung Galaxy S5 China (kltechn) Rong Zhang @ 2024-02-13 11:17 ` Krzysztof Kozlowski 0 siblings, 0 replies; 13+ messages in thread From: Krzysztof Kozlowski @ 2024-02-13 11:17 UTC (permalink / raw) To: Rong Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> > --- Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 4/4] ARM: dts: qcom: msm8974: Add DTS for Samsung Galaxy S5 China (kltechn) 2024-02-13 10:58 [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Rong Zhang ` (2 preceding siblings ...) 2024-02-13 10:58 ` [PATCH v3 3/4] dt-bindings: arm: qcom: Add Samsung Galaxy S5 China (kltechn) Rong Zhang @ 2024-02-13 10:58 ` Rong Zhang 2024-02-13 11:22 ` Krzysztof Kozlowski 2024-04-23 13:17 ` (subset) [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Bjorn Andersson 4 siblings, 1 reply; 13+ messages in thread From: Rong Zhang @ 2024-02-13 10:58 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Rong Zhang, linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> --- 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 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: qcom: msm8974: Add DTS for Samsung Galaxy S5 China (kltechn) 2024-02-13 10:58 ` [PATCH v3 4/4] ARM: dts: qcom: msm8974: Add DTS for " Rong Zhang @ 2024-02-13 11:22 ` Krzysztof Kozlowski 0 siblings, 0 replies; 13+ messages in thread From: Krzysztof Kozlowski @ 2024-02-13 11:22 UTC (permalink / raw) To: Rong Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <i@rong.moe> > --- > 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 <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: (subset) [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support 2024-02-13 10:58 [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Rong Zhang ` (3 preceding siblings ...) 2024-02-13 10:58 ` [PATCH v3 4/4] ARM: dts: qcom: msm8974: Add DTS for " Rong Zhang @ 2024-04-23 13:17 ` Bjorn Andersson 4 siblings, 0 replies; 13+ messages in thread From: Bjorn Andersson @ 2024-04-23 13:17 UTC (permalink / raw) To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rong Zhang Cc: linux-arm-msm, devicetree, linux-kernel, Icenowy Zheng 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 <andersson@kernel.org> ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-04-23 13:17 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-02-13 10:58 [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Rong Zhang 2024-02-13 10:58 ` [PATCH v3 1/4] ARM: dts: qcom: msm8974: Split out common part of samsung-klte Rong Zhang 2024-02-13 11:21 ` Krzysztof Kozlowski 2024-04-14 13:58 ` Icenowy Zheng 2024-04-14 14:48 ` Icenowy Zheng 2024-04-17 20:25 ` Alexey Minnekhanov 2024-02-13 10:58 ` [PATCH v3 2/4] ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type Rong Zhang 2024-02-14 21:25 ` Konrad Dybcio 2024-02-13 10:58 ` [PATCH v3 3/4] dt-bindings: arm: qcom: Add Samsung Galaxy S5 China (kltechn) Rong Zhang 2024-02-13 11:17 ` Krzysztof Kozlowski 2024-02-13 10:58 ` [PATCH v3 4/4] ARM: dts: qcom: msm8974: Add DTS for " Rong Zhang 2024-02-13 11:22 ` Krzysztof Kozlowski 2024-04-23 13:17 ` (subset) [PATCH v3 0/4] ARM: dts: qcom: msm8974: Add Samsung Galaxy S5 China support Bjorn Andersson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).