]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: msm8916/39-samsung-a2015: Add PMIC and charger
authorRaymond Hackley <raymondhackley@protonmail.com>
Wed, 24 Apr 2024 14:32:10 +0000 (14:32 +0000)
committerBjorn Andersson <andersson@kernel.org>
Mon, 27 May 2024 00:12:02 +0000 (19:12 -0500)
The phones listed below have Richtek RT5033 PMIC and charger.
Add them to the device trees.

- Samsung Galaxy A3/A5/A7 2015
- Samsung Galaxy E5/E7
- Samsung Galaxy Grand Max

Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com>
Link: https://lore.kernel.org/r/20240424143158.24358-1-raymondhackley@protonmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dts
arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts
arch/arm64/boot/dts/qcom/msm8916-samsung-e5.dts
arch/arm64/boot/dts/qcom/msm8916-samsung-e7.dts
arch/arm64/boot/dts/qcom/msm8916-samsung-grandmax.dts
arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dts

index 4bbbee80b5e4bbb2e5ddcc75b35131ee98a8db3c..e6355e5e2177df9e3beba6b2d96a15fb069ce57a 100644 (file)
                };
        };
 
+       battery: battery {
+               compatible = "simple-battery";
+               precharge-current-microamp = <450000>;
+               precharge-upper-limit-microvolt = <3500000>;
+       };
+
        clk_pwm: pwm {
                compatible = "clk-pwm";
                #pwm-cells = <2>;
 &blsp_i2c4 {
        status = "okay";
 
-       battery@35 {
+       fuel-gauge@35 {
                compatible = "richtek,rt5033-battery";
                reg = <0x35>;
                interrupt-parent = <&tlmm>;
 
                pinctrl-names = "default";
                pinctrl-0 = <&fg_alert_default>;
+
+               power-supplies = <&charger>;
+       };
+};
+
+&blsp_i2c6 {
+       status = "okay";
+
+       pmic@34 {
+               compatible = "richtek,rt5033";
+               reg = <0x34>;
+
+               interrupts-extended = <&tlmm 62 IRQ_TYPE_EDGE_FALLING>;
+
+               pinctrl-0 = <&pmic_int_default>;
+               pinctrl-names = "default";
+
+               regulators {
+                       rt5033_reg_safe_ldo: SAFE_LDO {
+                               regulator-min-microvolt = <4900000>;
+                               regulator-max-microvolt = <4900000>;
+                               regulator-always-on;
+                       };
+
+                       /*
+                        * Needed for camera, but not used yet.
+                        * Define empty nodes to allow disabling the unused
+                        * regulators.
+                        */
+                       LDO {};
+                       BUCK {};
+               };
+
+               charger: charger {
+                       compatible = "richtek,rt5033-charger";
+                       monitored-battery = <&battery>;
+                       richtek,usb-connector = <&usb_con>;
+               };
        };
 };
 
                bias-disable;
        };
 
+       pmic_int_default: pmic-int-default-state {
+               pins = "gpio62";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        sdc2_cd_default: sdc2-cd-default-state {
                pins = "gpio38";
                function = "gpio";
index 3b934f5eba473247298bdccd90a47f1bf6424130..906d31f1ea21fb75fbeeeb5c24cfb62f8f0e254e 100644 (file)
                       "0", "0", "1";
 };
 
+&battery {
+       charge-term-current-microamp = <150000>;
+       constant-charge-current-max-microamp = <1000000>;
+       constant-charge-voltage-max-microvolt = <4350000>;
+};
+
 &blsp_i2c5 {
        status = "okay";
 
index 391befa22bb42757bbb5982ff03dc437c6c6139c..fe39be7a742bbc44eef54f56acb9d693a2824904 100644 (file)
                        "0", "0", "1";
 };
 
+&battery {
+       charge-term-current-microamp = <200000>;
+       constant-charge-current-max-microamp = <1500000>;
+       constant-charge-voltage-max-microvolt = <4350000>;
+};
+
 &blsp_i2c5 {
        status = "okay";
 
index fad2535255f771e167c8f9e44f76e33711abbde5..800cb1038da0e875aab2c7b02e9aa721f132f3ac 100644 (file)
        chassis-type = "handset";
 };
 
+&battery {
+       charge-term-current-microamp = <200000>;
+       constant-charge-current-max-microamp = <1500000>;
+       constant-charge-voltage-max-microvolt = <4350000>;
+};
+
 &blsp_i2c5 {
        status = "okay";
 
index b412b61ca25853d69049becfd8b50daa656b5876..ec1debd2e2453e729e8cd9e7715c62544d2e197a 100644 (file)
        chassis-type = "handset";
 };
 
+&battery {
+       charge-term-current-microamp = <200000>;
+       constant-charge-current-max-microamp = <1500000>;
+       constant-charge-voltage-max-microvolt = <4350000>;
+};
+
+
 &pm8916_l17 {
        regulator-min-microvolt = <3000000>;
        regulator-max-microvolt = <3000000>;
index 5882b3a593b8c9cf850690ece85f7a0802b32e16..135df1739dbda1e4a2f3415881671d5d21e8eb50 100644 (file)
        };
 };
 
+&battery {
+       charge-term-current-microamp = <150000>;
+       constant-charge-current-max-microamp = <1000000>;
+       constant-charge-voltage-max-microvolt = <4400000>;
+};
+
 &reg_motor_vdd {
        gpio = <&tlmm 72 GPIO_ACTIVE_HIGH>;
 };
index 0c599e71a464b59448a1281590143da1dbe423aa..91acdb160227114e0961ce06f1b3a1a0602bc00b 100644 (file)
                };
        };
 
+       battery: battery {
+               compatible = "simple-battery";
+               charge-term-current-microamp = <150000>;
+               constant-charge-current-max-microamp = <1500000>;
+               constant-charge-voltage-max-microvolt = <4300000>;
+               precharge-current-microamp = <450000>;
+               precharge-upper-limit-microvolt = <3500000>;
+       };
+
        gpio-hall-sensor {
                compatible = "gpio-keys";
 
@@ -82,7 +91,7 @@
                #address-cells = <1>;
                #size-cells = <0>;
 
-               battery@35 {
+               fuel-gauge@35 {
                        compatible = "richtek,rt5033-battery";
                        reg = <0x35>;
 
 
                        pinctrl-0 = <&fg_alert_default>;
                        pinctrl-names = "default";
+
+                       power-supplies = <&charger>;
                };
        };
 
        };
 };
 
+&blsp_i2c6 {
+       status = "okay";
+
+       pmic@34 {
+               compatible = "richtek,rt5033";
+               reg = <0x34>;
+
+               interrupts-extended = <&tlmm 62 IRQ_TYPE_EDGE_FALLING>;
+
+               pinctrl-0 = <&pmic_int_default>;
+               pinctrl-names = "default";
+
+               regulators {
+                       rt5033_reg_safe_ldo: SAFE_LDO {
+                               regulator-min-microvolt = <4900000>;
+                               regulator-max-microvolt = <4900000>;
+                               regulator-always-on;
+                       };
+
+                       /*
+                        * Needed for camera, but not used yet.
+                        * Define empty nodes to allow disabling the unused
+                        * regulators.
+                        */
+                       LDO {};
+                       BUCK {};
+               };
+
+               charger: charger {
+                       compatible = "richtek,rt5033-charger";
+                       monitored-battery = <&battery>;
+                       richtek,usb-connector = <&usb_con>;
+               };
+       };
+};
+
 &blsp_uart2 {
        status = "okay";
 };
                bias-disable;
        };
 
+       pmic_int_default: pmic-int-default-state {
+               pins = "gpio62";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        reg_tsp_en_default: reg-tsp-en-default-state {
                pins = "gpio73";
                function = "gpio";