From 83a54e61b2bdfd81865bee12033b1d9d5af0016f Mon Sep 17 00:00:00 2001 From: Markuss Broks Date: Fri, 6 Jan 2023 14:31:49 +0000 Subject: [PATCH] arm64: dts: qcom: msm8916-samsung-j5-common: Add MUIC support 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 [Apply for msm8916-samsung-j5x] Signed-off-by: Lin, Meng-Bo Signed-off-by: Bjorn Andersson Link: https://lore.kernel.org/r/20230106143051.547302-1-linmengbo0689@protonmail.com --- .../boot/dts/qcom/msm8916-samsung-j5-common.dtsi | 50 ++++++++++++++++++---- arch/arm64/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 5755b36..f3b81b6 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 #include +#include / { aliases { @@ -58,6 +59,29 @@ linux,code = ; }; }; + + 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 @@ linux,code = ; }; -/* FIXME: Replace with SM5703 MUIC when driver is available */ -&pm8916_usbin { - status = "okay"; -}; - &pronto { status = "okay"; }; @@ -97,13 +116,12 @@ }; &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 @@ 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 7656ac4..7e1326cc 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.7.4