OSDN Git Service

arm64: dts: qcom: msm8916-longcheer-l8150: Use &pm8916_usbin extcon
authorStephan Gerhold <stephan@gerhold.net>
Tue, 28 Sep 2021 11:29:45 +0000 (13:29 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 28 Sep 2021 15:28:05 +0000 (10:28 -0500)
At the moment, longcheer-l8150 is using a dummy extcon-usb-gpio device
that permanently enables USB gadget mode. This workaround allows USB
to work but is actually wrong and confusing. The "vbus-gpio" used there
refers to an unused (floating) GPIO that is pulled up to make
extcon-usb-gpio report USB gadget mode permanently.

Replace this with the new &pm8916_usbin extcon device that actually
reports if an USB cable is attached or not. This allows the USB PHY
to be turned off when there is no USB cable attached and is much
cleaner overall.

Fixes: 16e8e8072108 ("arm64: dts: qcom: Add device tree for Longcheer L8150")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210928112945.25310-3-stephan@gerhold.net
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts

index 30716eb..285102f 100644 (file)
                };
        };
 
-       // FIXME: Use extcon device provided by charger driver when available
-       usb_vbus: usb-vbus {
-               compatible = "linux,extcon-usb-gpio";
-               vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&usb_vbus_default>;
-       };
-
        gpio-keys {
                compatible = "gpio-keys";
 
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_usbin {
+       status = "okay";
+};
+
 &pm8916_vib {
        status = "okay";
 };
 &usb {
        status = "okay";
        dr_mode = "peripheral";
-       extcon = <&usb_vbus>;
+       extcon = <&pm8916_usbin>;
 };
 
 &usb_hs_phy {
-       extcon = <&usb_vbus>;
+       extcon = <&pm8916_usbin>;
 };
 
 &smd_rpm_regulators {
                drive-strength = <2>;
                bias-disable;
        };
-
-       usb_vbus_default: usb-vbus-default {
-               pins = "gpio62";
-               function = "gpio";
-
-               bias-pull-up;
-       };
 };