[PATCH 1/3] arm64: dts: qcom: msm8916-samsung-fortuna: Move SM5504 from rossa and refactor MUIC

From: Raymond Hackley

Date: Mon Feb 23 2026 - 17:12:54 EST


From: Raymond Hackley <raymondhackley@xxxxxxxxxxxxxx>

MUIC varies on fortuna/rossa devices, which could be either SM5502 or
SM5504. Move SM5504 from msm8916-samsung-rossa-common to
msm8916-samsung-fortuna-common and refactor MUIC.

Disable MUIC by default in msm8916-samsung-fortuna-common, and explicitly
specify them in each fortuna/rossa board.

Signed-off-by: Raymond Hackley <raymondhackley@xxxxxxxxxxxxxx>
---
.../dts/qcom/msm8216-samsung-fortuna3g.dts | 18 +++++++++++
.../qcom/msm8916-samsung-fortuna-common.dtsi | 32 ++++++++++++-------
.../dts/qcom/msm8916-samsung-gprimeltecan.dts | 15 ++++++++-
.../qcom/msm8916-samsung-grandprimelte.dts | 18 +++++++++++
.../qcom/msm8916-samsung-rossa-common.dtsi | 19 -----------
.../boot/dts/qcom/msm8916-samsung-rossa.dts | 18 +++++++++++
6 files changed, 88 insertions(+), 32 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8216-samsung-fortuna3g.dts b/arch/arm64/boot/dts/qcom/msm8216-samsung-fortuna3g.dts
index fba68bf8bf79..aed90c8089aa 100644
--- a/arch/arm64/boot/dts/qcom/msm8216-samsung-fortuna3g.dts
+++ b/arch/arm64/boot/dts/qcom/msm8216-samsung-fortuna3g.dts
@@ -16,6 +16,15 @@ &battery {
constant-charge-voltage-max-microvolt = <4350000>;
};

+&charger {
+ richtek,usb-connector = <&usb_con_sm5502>;
+ status = "okay";
+};
+
+&muic_sm5502 {
+ status = "okay";
+};
+
&st_accel {
status = "okay";
};
@@ -23,3 +32,12 @@ &st_accel {
&st_magn {
status = "okay";
};
+
+&usb {
+ extcon = <&muic_sm5502>, <&muic_sm5502>;
+ status = "okay";
+};
+
+&usb_hs_phy {
+ extcon = <&muic_sm5502>;
+};
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna-common.dtsi
index fb790b02736a..fd62e82075c4 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna-common.dtsi
@@ -144,14 +144,31 @@ reg_vdd_tsp_a: regulator-vdd-tsp-a {
&blsp_i2c1 {
status = "okay";

- muic: extcon@25 {
+ /* MUIC/extcon varies depending on model variant */
+ muic_sm5504: extcon@14 {
+ compatible = "siliconmitus,sm5504-muic";
+ reg = <0x14>;
+ interrupts-extended = <&tlmm 12 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-0 = <&muic_int_default>;
+ pinctrl-names = "default";
+ status = "disabled";
+
+ usb_con_sm5504: connector {
+ compatible = "usb-b-connector";
+ label = "micro-USB";
+ type = "micro";
+ };
+ };
+
+ muic_sm5502: extcon@25 {
compatible = "siliconmitus,sm5502-muic";
reg = <0x25>;
interrupts-extended = <&tlmm 12 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&muic_int_default>;
pinctrl-names = "default";
+ status = "disabled";

- usb_con: connector {
+ usb_con_sm5502: connector {
compatible = "usb-b-connector";
label = "micro-USB";
type = "micro";
@@ -298,7 +315,7 @@ rt5033_reg_safe_ldo: SAFE_LDO {
charger: charger {
compatible = "richtek,rt5033-charger";
monitored-battery = <&battery>;
- richtek,usb-connector = <&usb_con>;
+ status = "disabled";
};
};
};
@@ -348,15 +365,6 @@ &sound {
"AMIC3", "MIC BIAS External1";
};

-&usb {
- extcon = <&muic>, <&muic>;
- status = "okay";
-};
-
-&usb_hs_phy {
- extcon = <&muic>;
-};
-
&venus {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts
index 677e4e286ac0..15dcfe8234d9 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-gprimeltecan.dts
@@ -86,7 +86,7 @@ rt5033_reg_safe_ldo: SAFE_LDO {
charger: charger {
compatible = "richtek,rt5033-charger";
monitored-battery = <&battery>;
- richtek,usb-connector = <&usb_con>;
+ richtek,usb-connector = <&usb_con_sm5502>;
};
};
};
@@ -95,3 +95,16 @@ &mpss_mem {
/* Firmware for gprimeltecan needs more space */
reg = <0x0 0x86800000 0x0 0x5400000>;
};
+
+&muic_sm5502 {
+ status = "okay";
+};
+
+&usb {
+ extcon = <&muic_sm5502>, <&muic_sm5502>;
+ status = "okay";
+};
+
+&usb_hs_phy {
+ extcon = <&muic_sm5502>;
+};
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-grandprimelte.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-grandprimelte.dts
index 582bfcb09684..268277c1caf4 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-grandprimelte.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-grandprimelte.dts
@@ -24,7 +24,25 @@ &bosch_magn {
status = "okay";
};

+&charger {
+ richtek,usb-connector = <&usb_con_sm5502>;
+ status = "okay";
+};
+
&mpss_mem {
/* Firmware for grandprimelte needs more space */
reg = <0x0 0x86800000 0x0 0x5400000>;
};
+
+&muic_sm5502 {
+ status = "okay";
+};
+
+&usb {
+ extcon = <&muic_sm5502>, <&muic_sm5502>;
+ status = "okay";
+};
+
+&usb_hs_phy {
+ extcon = <&muic_sm5502>;
+};
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa-common.dtsi
index e33453c3e51e..5b08f0e11105 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa-common.dtsi
@@ -2,28 +2,9 @@

#include "msm8916-samsung-fortuna-common.dtsi"

-/* SM5504 MUIC instead of SM5502 */
-/delete-node/ &muic;
-
/* IST3038 instead of Zinitix BT541 */
/delete-node/ &touchscreen;

-&blsp_i2c1 {
- muic: extcon@14 {
- compatible = "siliconmitus,sm5504-muic";
- reg = <0x14>;
- interrupts-extended = <&tlmm 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";
- };
- };
-};
-
&blsp_i2c5 {
touchscreen: touchscreen@50 {
compatible = "imagis,ist3038";
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa.dts
index 1981bb71f6a9..a5106afc3c59 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-rossa.dts
@@ -16,7 +16,25 @@ &battery {
constant-charge-voltage-max-microvolt = <4400000>;
};

+&charger {
+ richtek,usb-connector = <&usb_con_sm5504>;
+ status = "okay";
+};
+
&mpss_mem {
/* Firmware for rossa needs more space */
reg = <0x0 0x86800000 0x0 0x5800000>;
};
+
+&muic_sm5504 {
+ status = "okay";
+};
+
+&usb {
+ extcon = <&muic_sm5504>, <&muic_sm5504>;
+ status = "okay";
+};
+
+&usb_hs_phy {
+ extcon = <&muic_sm5504>;
+};
--
2.47.3