From 7771fc68f02db40190cbf027116162a18c0c36a6 Mon Sep 17 00:00:00 2001 From: Frank Wang Date: Tue, 18 May 2021 17:29:18 +0800 Subject: [PATCH] Revert "phy: phy-rockchip-inno-usb2: drop reading the utmi-avalid property" This reverts commit 31926c217b5a7a5c2014c89f686b51ce9d1df2df. Change-Id: Ib90437e20a4fa9382515d415cfcfdab30780562e Signed-off-by: Frank Wang --- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index 9a032f8c4d06..ff499db93b9f 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -163,6 +163,9 @@ struct rockchip_usb2phy_cfg { * @phy: generic phy. * @port_id: flag for otg port or host port. * @suspended: phy suspended flag. + * @utmi_avalid: utmi avalid status usage flag. + * true - use avalid to get vbus status + * false - use bvalid to get vbus status * @vbus_attached: otg device vbus status. * @vbus_always_on: otg vbus is always powered on. * @bvalid_irq: IRQ number assigned for vbus valid rise detection. @@ -182,6 +185,7 @@ struct rockchip_usb2phy_port { struct phy *phy; unsigned int port_id; bool suspended; + bool utmi_avalid; bool vbus_attached; bool vbus_always_on; int bvalid_irq; @@ -541,8 +545,12 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work) unsigned long delay; bool vbus_attach, sch_work, notify_charger; - vbus_attach = property_enabled(rphy->grf, - &rport->port_cfg->utmi_bvalid); + if (rport->utmi_avalid) + vbus_attach = property_enabled(rphy->grf, + &rport->port_cfg->utmi_avalid); + else + vbus_attach = property_enabled(rphy->grf, + &rport->port_cfg->utmi_bvalid); sch_work = false; notify_charger = false; @@ -1036,6 +1044,9 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy, INIT_DELAYED_WORK(&rport->chg_work, rockchip_chg_detect_work); INIT_DELAYED_WORK(&rport->otg_sm_work, rockchip_usb2phy_otg_sm_work); + rport->utmi_avalid = + of_property_read_bool(child_np, "rockchip,utmi-avalid"); + /* * Some SoCs use one interrupt with otg-id/otg-bvalid/linestate * interrupts muxed together, so probe the otg-mux interrupt first,