[PATCH v6 5/5] arm64: dts: qcom: msm8916-samsung-j5-common: Add MUIC support
From: Lin, Meng-Bo
Date: Fri Jan 06 2023 - 09:33:01 EST
From: Markuss Broks <markuss.broks@xxxxxxxxx>
The MUIC installed is a part of SM5703 MFD, and it seems to work
the same as the SM5502 MUIC unit.
Signed-off-by: Markuss Broks <markuss.broks@xxxxxxxxx>
[Apply for msm8916-samsung-j5x]
Signed-off-by: Lin, Meng-Bo <linmengbo0689@xxxxxxxxxxxxxx>
---
.../dts/qcom/msm8916-samsung-j5-common.dtsi | 50 ++++++++++++++++---
.../boot/dts/qcom/msm8916-samsung-j5x.dts | 8 +++
2 files changed, 50 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
index 5755b360c6ed..f3b81b6f0a2f 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
@@ -3,6 +3,7 @@
#include "msm8916-pm8916.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
/ {
aliases {
@@ -58,6 +59,29 @@ button-home {
linux,code = <KEY_HOMEPAGE>;
};
};
+
+ i2c_muic: i2c-muic {
+ compatible = "i2c-gpio";
+ sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&muic_i2c_default>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ muic: extcon@25 {
+ compatible = "siliconmitus,sm5703-muic";
+ reg = <0x25>;
+
+ interrupt-parent = <&msmgpio>;
+ interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&muic_int_default>;
+ };
+ };
};
&blsp1_uart2 {
@@ -69,11 +93,6 @@ &pm8916_resin {
linux,code = <KEY_VOLUMEDOWN>;
};
-/* FIXME: Replace with SM5703 MUIC when driver is available */
-&pm8916_usbin {
- status = "okay";
-};
-
&pronto {
status = "okay";
};
@@ -97,13 +116,12 @@ &sdhc_2 {
};
&usb {
+ extcon = <&muic>, <&muic>;
status = "okay";
- dr_mode = "peripheral";
- extcon = <&pm8916_usbin>;
};
&usb_hs_phy {
- extcon = <&pm8916_usbin>;
+ extcon = <&muic>;
};
&smd_rpm_regulators {
@@ -225,4 +243,20 @@ gpio_keys_default: gpio-keys-default-state {
drive-strength = <2>;
bias-pull-up;
};
+
+ muic_i2c_default: muic-i2c-default-state {
+ pins = "gpio105", "gpio106";
+ function = "gpio";
+
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ muic_int_default: muic-int-default-state {
+ pins = "gpio12";
+ function = "gpio";
+
+ drive-strength = <2>;
+ bias-disable;
+ };
};
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5x.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5x.dts
index 7656ac4508cf..7e1326cc13c5 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5x.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5x.dts
@@ -9,3 +9,11 @@ / {
compatible = "samsung,j5x", "qcom,msm8916";
chassis-type = "handset";
};
+
+&muic {
+ interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
+};
+
+&muic_int_default {
+ pins = "gpio121";
+};
--
2.30.2