| /linux/drivers/usb/mtu3/ |
| H A D | mtu3_plat.c | 23 int ssusb_check_clocks(struct ssusb_mtk *ssusb, u32 ex_clks) in ssusb_check_clocks() argument 25 void __iomem *ibase = ssusb->ippc_base; in ssusb_check_clocks() 35 dev_err(ssusb->dev, "clks of sts1 are not stable!\n"); in ssusb_check_clocks() 42 dev_err(ssusb->dev, "mac2 clock is not stable\n"); in ssusb_check_clocks() 49 static int wait_for_ip_sleep(struct ssusb_mtk *ssusb) in wait_for_ip_sleep() argument 55 if (!ssusb->is_host) in wait_for_ip_sleep() 56 sleep_check = ssusb_gadget_ip_sleep_check(ssusb); in wait_for_ip_sleep() 62 ret = readl_poll_timeout(ssusb->ippc_base + U3D_SSUSB_IP_PW_STS1, value, in wait_for_ip_sleep() 65 dev_err(ssusb->dev, "ip sleep failed!!!\n"); in wait_for_ip_sleep() 75 static int ssusb_phy_init(struct ssusb_mtk *ssusb) in ssusb_phy_init() argument [all …]
|
| H A D | mtu3_host.c | 68 static void ssusb_wakeup_ip_sleep_set(struct ssusb_mtk *ssusb, bool enable) in ssusb_wakeup_ip_sleep_set() argument 72 switch (ssusb->uwk_vers) { in ssusb_wakeup_ip_sleep_set() 74 reg = ssusb->uwk_reg_base + PERI_WK_CTRL1; in ssusb_wakeup_ip_sleep_set() 79 reg = ssusb->uwk_reg_base + PERI_WK_CTRL0; in ssusb_wakeup_ip_sleep_set() 84 reg = ssusb->uwk_reg_base + PERI_WK_CTRL0; in ssusb_wakeup_ip_sleep_set() 89 reg = ssusb->uwk_reg_base + PERI_WK_CTRL1_8195; in ssusb_wakeup_ip_sleep_set() 94 reg = ssusb->uwk_reg_base + PERI_WK_CTRL0_8195; in ssusb_wakeup_ip_sleep_set() 99 reg = ssusb->uwk_reg_base + PERI_WK_CTRL0_8195; in ssusb_wakeup_ip_sleep_set() 104 reg = ssusb->uwk_reg_base + PERI_SSUSB_SPM_CTRL; in ssusb_wakeup_ip_sleep_set() 111 regmap_update_bits(ssusb->uwk, reg, msk, val); in ssusb_wakeup_ip_sleep_set() [all …]
|
| H A D | mtu3_dr.h | 15 int ssusb_host_init(struct ssusb_mtk *ssusb, struct device_node *parent_dn); 16 void ssusb_host_exit(struct ssusb_mtk *ssusb); 17 int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb, 19 int ssusb_host_resume(struct ssusb_mtk *ssusb, bool p0_skipped); 20 int ssusb_host_suspend(struct ssusb_mtk *ssusb); 21 void ssusb_wakeup_set(struct ssusb_mtk *ssusb, bool enable); 25 static inline int ssusb_host_init(struct ssusb_mtk *ssusb, in ssusb_host_init() argument 32 static inline void ssusb_host_exit(struct ssusb_mtk *ssusb) in ssusb_host_exit() argument 36 struct ssusb_mtk *ssusb, struct device_node *dn) in ssusb_wakeup_of_property_parse() argument 41 static inline int ssusb_host_resume(struct ssusb_mtk *ssusb, bool p0_skipped) in ssusb_host_resume() argument [all …]
|
| H A D | mtu3_debug.h | 30 void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb); 31 void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb); 32 void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb); 33 void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb); 36 static inline void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb) {} in ssusb_dev_debugfs_init() argument 37 static inline void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb) {} in ssusb_dr_debugfs_init() argument 38 static inline void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb) {} in ssusb_debugfs_create_root() argument 39 static inline void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb) {} in ssusb_debugfs_remove_root() argument
|
| H A D | mtu3_core.c | 113 if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG) { in mtu3_device_enable() 120 return ssusb_check_clocks(mtu->ssusb, check_clk); in mtu3_device_enable() 134 if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG) { in mtu3_device_disable() 825 if (mtu->u3_capable && (mtu->ssusb->u3p_dis_msk & BIT(0))) in mtu3_check_params() 922 int ssusb_gadget_init(struct ssusb_mtk *ssusb) in ssusb_gadget_init() argument 924 struct device *dev = ssusb->dev; in ssusb_gadget_init() 953 mtu->ippc_base = ssusb->ippc_base; in ssusb_gadget_init() 954 ssusb->mac_base = mtu->mac_base; in ssusb_gadget_init() 955 ssusb->u3d = mtu; in ssusb_gadget_init() 956 mtu->ssusb = ssusb; in ssusb_gadget_init() [all …]
|
| H A D | mtu3.h | 246 * @uwk: syscon including usb wakeup glue layer between SSUSB IP and SPM 333 struct ssusb_mtk *ssusb; member 425 int ssusb_check_clocks(struct ssusb_mtk *ssusb, u32 ex_clks);
|
| H A D | mtu3_gadget.c | 536 if (mtu->ssusb->dr_mode == USB_DR_MODE_PERIPHERAL) in mtu3_gadget_start() 591 if (mtu->ssusb->dr_mode == USB_DR_MODE_PERIPHERAL) in mtu3_gadget_stop()
|
| /linux/include/dt-bindings/reset/ |
| H A D | mt7629-resets.h | 56 /* SSUSB Subsystem resets */
|
| H A D | mt7622-reset.h | 72 /* SSUSB Subsystem resets */
|
| /linux/arch/arm64/boot/dts/mediatek/ |
| H A D | mt7986b-rfb.dts | 196 &ssusb {
|
| H A D | mt7986a-rfb.dts | 269 &ssusb {
|
| H A D | mt7986a-bananapi-bpi-r3-mini.dts | 459 &ssusb {
|
| H A D | mt7622-rfb1.dts | 563 &ssusb {
|
| H A D | mt7986a-bananapi-bpi-r3.dts | 402 &ssusb {
|
| H A D | mt7622-bananapi-bpi-r64.dts | 618 &ssusb {
|
| H A D | mt7622.dtsi | 745 ssusb: usb@1a0c0000 { label
|
| H A D | mt2712e.dtsi | 797 ssusb: usb@11271000 { label
|
| /linux/arch/arm/boot/dts/mediatek/ |
| H A D | mt7629-rfb.dts | 255 &ssusb {
|
| H A D | mt7629.dtsi | 307 ssusb: usb@1a0c0000 { label
|
| /linux/drivers/usb/host/ |
| H A D | xhci-mtk.h | 130 * struct mu3c_ippc_regs - MTK ssusb ip port control registers
|
| H A D | xhci-mtk.c | 199 /* workaround for SoCs using SSUSB about before IPM v1.6.0 */ in xhci_mtk_init_quirk()
|
| /linux/Documentation/devicetree/bindings/usb/ |
| H A D | mediatek,mtu3.yaml | 50 - description: SSUSB device controller interrupt
|