summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-mtk.h
diff options
context:
space:
mode:
authorChunfeng Yun <chunfeng.yun@mediatek.com>2018-01-03 16:53:20 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-01-09 16:21:28 +0100
commita2ecc4df9f846434866ea73ef99cb08dd1f3947e (patch)
tree5c237760ade43edeebbf8ea72bce0ca6c42e9da2 /drivers/usb/host/xhci-mtk.h
parent99ca1f6f3be5f2587488514dbaeb1f39a547a9b6 (diff)
downloadlinux-a2ecc4df9f846434866ea73ef99cb08dd1f3947e.tar.gz
linux-a2ecc4df9f846434866ea73ef99cb08dd1f3947e.tar.bz2
linux-a2ecc4df9f846434866ea73ef99cb08dd1f3947e.zip
usb: xhci-mtk: supports remote wakeup for mt2712 with two xHCI IPs
The old way of usb wakeup only supports platform with single xHCI IP, such as mt8173, but mt2712 has two xHCI IPs, so rebuild its flow and supports the new glue layer of usb wakeup on mt2712 which is different from mt8173. Due to there is a hardware bug with the LINE STATE wakeup mode on mt8173 which causes wakeup failure by low speed devices, and also because IP SLEEP mode can cover all functions of LINE STATE mode, it is unused in fact, and will not support it later, so remove it at the same time. Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/xhci-mtk.h')
-rw-r--r--drivers/usb/host/xhci-mtk.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-mtk.h b/drivers/usb/host/xhci-mtk.h
index 6b74ce5b7564..cc59d80b663b 100644
--- a/drivers/usb/host/xhci-mtk.h
+++ b/drivers/usb/host/xhci-mtk.h
@@ -122,8 +122,12 @@ struct xhci_hcd_mtk {
struct regmap *pericfg;
struct phy **phys;
int num_phys;
- int wakeup_src;
bool lpm_support;
+ /* usb remote wakeup */
+ bool uwk_en;
+ struct regmap *uwk;
+ u32 uwk_reg_base;
+ u32 uwk_vers;
};
static inline struct xhci_hcd_mtk *hcd_to_mtk(struct usb_hcd *hcd)