From 6cc2342c6a7227a05ca94c836df42d5ba273eef2 Mon Sep 17 00:00:00 2001 From: Raymond Hackley Date: Sun, 8 Jan 2023 21:06:15 +0000 Subject: [PATCH] arm64: dts: qcom: msm8916-samsung-fortuna: Add PMIC and charger The phones listed below have Richtek RT5033 PMIC and charger. Add them to the device trees. - Samsung Galaxy Ace 4 - Samsung Galaxy Core Prime LTE - Samsung Galaxy Grand Prime Signed-off-by: Raymond Hackley --- .../qcom/msm8916-samsung-cprime-common.dtsi | 6 ++ .../boot/dts/qcom/msm8916-samsung-cprime.dts | 6 ++ .../dts/qcom/msm8916-samsung-fortuna3g.dts | 6 ++ .../dts/qcom/msm8916-samsung-fortunaltezt.dts | 6 ++ .../qcom/msm8916-samsung-gprime-common.dtsi | 59 ++++++++++++++++++- .../dts/qcom/msm8916-samsung-gprimeltecan.dts | 45 ++++++++++++++ .../dts/qcom/msm8916-samsung-heatqlte.dts | 6 ++ 7 files changed, 133 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime-common.dtsi index 3815af3bfc599f..d90c26145a19b8 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime-common.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime-common.dtsi @@ -25,6 +25,12 @@ interrupts = <12 IRQ_TYPE_EDGE_FALLING>; pinctrl-0 = <&muic_int_default>; pinctrl-names = "default"; + + usb_con: connector { + compatible = "usb-b-connector"; + label = "micro-USB"; + type = "micro"; + }; }; }; diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime.dts index 12f1d5f1c2e681..ed531c5b71eb72 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-cprime.dts @@ -10,6 +10,12 @@ chassis-type = "handset"; }; +&battery { + charge-term-current-microamp = <150000>; + constant-charge-current-max-microamp = <700000>; + constant-charge-voltage-max-microvolt = <4400000>; +}; + &blsp_i2c5 { status = "okay"; diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna3g.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna3g.dts index 211c51e14f4406..f42baa2104d5ad 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna3g.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna3g.dts @@ -18,6 +18,12 @@ }; }; +&battery { + charge-term-current-microamp = <200000>; + constant-charge-current-max-microamp = <1000000>; + constant-charge-voltage-max-microvolt = <4350000>; +}; + &mpss_mem { reg = <0x0 0x86800000 0x0 0x5000000>; }; diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-fortunaltezt.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-fortunaltezt.dts index 67a9f9dbf44491..8a8972cdfd2619 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-fortunaltezt.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-fortunaltezt.dts @@ -30,6 +30,12 @@ }; }; +&battery { + charge-term-current-microamp = <200000>; + constant-charge-current-max-microamp = <1000000>; + constant-charge-voltage-max-microvolt = <4350000>; +}; + /* On fortunaltezt backlight is controlled with MIPI DCS commands */ &clk_pwm { status = "disabled"; diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-gprime-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-gprime-common.dtsi index 7e17c9a7bfaf49..23485d990830ad 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-gprime-common.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-gprime-common.dtsi @@ -40,6 +40,12 @@ }; }; + battery: battery { + compatible = "simple-battery"; + precharge-current-microamp = <450000>; + precharge-upper-limit-microvolt = <3500000>; + }; + clk_pwm_backlight: backlight { compatible = "pwm-backlight"; pwms = <&clk_pwm 0 100000>; @@ -158,6 +164,12 @@ interrupts = <12 IRQ_TYPE_EDGE_FALLING>; pinctrl-0 = <&muic_int_default>; pinctrl-names = "default"; + + usb_con: connector { + compatible = "usb-b-connector"; + label = "micro-USB"; + type = "micro"; + }; }; }; @@ -237,7 +249,7 @@ &blsp_i2c4 { status = "okay"; - battery@35 { + fuel-gauge@35 { compatible = "richtek,rt5033-battery"; reg = <0x35>; @@ -246,6 +258,8 @@ pinctrl-0 = <&fg_alert_default>; pinctrl-names = "default"; + + power-supplies = <&charger>; }; }; @@ -272,6 +286,42 @@ }; }; +&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"; }; @@ -484,6 +534,13 @@ 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"; diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts index f35a01d9c3349f..3004f2cbfaa370 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts @@ -18,9 +18,18 @@ }; }; +&battery { + charge-term-current-microamp = <200000>; + constant-charge-current-max-microamp = <1000000>; + constant-charge-voltage-max-microvolt = <4350000>; +}; + &blsp_i2c6 { status = "okay"; + /* pmic@34 is on i2c_nfc instead */ + /delete-node/ pmic@34; + nfc@27 { compatible = "samsung,s3fwrn5-i2c"; reg = <0x27>; @@ -46,6 +55,42 @@ status = "okay"; }; +&i2c_nfc { + 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>; + }; + }; +}; + &mpss_mem { reg = <0x0 0x86800000 0x0 0x5400000>; }; diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-heatqlte.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-heatqlte.dts index 228d023201120a..839e67ec59118b 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-heatqlte.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-heatqlte.dts @@ -22,6 +22,12 @@ chassis-type = "handset"; }; +&battery { + charge-term-current-microamp = <150000>; + constant-charge-current-max-microamp = <700000>; + constant-charge-voltage-max-microvolt = <4350000>; +}; + &mpss_mem { reg = <0x0 0x86800000 0x0 0x5000000>; };