Home
last modified time | relevance | path

Searched refs:ssusb (Results 1 – 12 of 12) sorted by relevance

/Linux-v4.19/drivers/usb/mtu3/
Dmtu3_plat.c21 int ssusb_check_clocks(struct ssusb_mtk *ssusb, u32 ex_clks) in ssusb_check_clocks() argument
23 void __iomem *ibase = ssusb->ippc_base; in ssusb_check_clocks()
33 dev_err(ssusb->dev, "clks of sts1 are not stable!\n"); in ssusb_check_clocks()
40 dev_err(ssusb->dev, "mac2 clock is not stable\n"); in ssusb_check_clocks()
47 static int ssusb_phy_init(struct ssusb_mtk *ssusb) in ssusb_phy_init() argument
52 for (i = 0; i < ssusb->num_phys; i++) { in ssusb_phy_init()
53 ret = phy_init(ssusb->phys[i]); in ssusb_phy_init()
61 phy_exit(ssusb->phys[i - 1]); in ssusb_phy_init()
66 static int ssusb_phy_exit(struct ssusb_mtk *ssusb) in ssusb_phy_exit() argument
70 for (i = 0; i < ssusb->num_phys; i++) in ssusb_phy_exit()
[all …]
Dmtu3_host.c41 static void ssusb_wakeup_ip_sleep_set(struct ssusb_mtk *ssusb, bool enable) in ssusb_wakeup_ip_sleep_set() argument
45 switch (ssusb->uwk_vers) { in ssusb_wakeup_ip_sleep_set()
47 reg = ssusb->uwk_reg_base + PERI_WK_CTRL1; in ssusb_wakeup_ip_sleep_set()
52 reg = ssusb->uwk_reg_base + PERI_SSUSB_SPM_CTRL; in ssusb_wakeup_ip_sleep_set()
59 regmap_update_bits(ssusb->uwk, reg, msk, val); in ssusb_wakeup_ip_sleep_set()
62 int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb, in ssusb_wakeup_of_property_parse() argument
69 ssusb->uwk_en = of_property_read_bool(dn, "wakeup-source"); in ssusb_wakeup_of_property_parse()
70 if (!ssusb->uwk_en) in ssusb_wakeup_of_property_parse()
78 ssusb->uwk_reg_base = args.args[0]; in ssusb_wakeup_of_property_parse()
79 ssusb->uwk_vers = args.args[1]; in ssusb_wakeup_of_property_parse()
[all …]
Dmtu3_dr.c31 static void toggle_opstate(struct ssusb_mtk *ssusb) in toggle_opstate() argument
33 if (!ssusb->otg_switch.is_u3_drd) { in toggle_opstate()
34 mtu3_setbits(ssusb->mac_base, U3D_DEVICE_CONTROL, DC_SESSION); in toggle_opstate()
35 mtu3_setbits(ssusb->mac_base, U3D_POWER_MANAGEMENT, SOFT_CONN); in toggle_opstate()
40 static int ssusb_port0_switch(struct ssusb_mtk *ssusb, in ssusb_port0_switch() argument
43 void __iomem *ibase = ssusb->ippc_base; in ssusb_port0_switch()
46 dev_dbg(ssusb->dev, "%s (switch u%d port0 to %s)\n", __func__, in ssusb_port0_switch()
78 static void switch_port_to_host(struct ssusb_mtk *ssusb) in switch_port_to_host() argument
82 dev_dbg(ssusb->dev, "%s\n", __func__); in switch_port_to_host()
84 ssusb_port0_switch(ssusb, USB2_PORT, true); in switch_port_to_host()
[all …]
Dmtu3_dr.h15 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_enable(struct ssusb_mtk *ssusb);
20 int ssusb_host_disable(struct ssusb_mtk *ssusb, bool suspend);
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_enable(struct ssusb_mtk *ssusb) in ssusb_host_enable() argument
[all …]
Dmtu3_core.c110 if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG) { in mtu3_device_enable()
117 return ssusb_check_clocks(mtu->ssusb, check_clk); in mtu3_device_enable()
131 if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG) in mtu3_device_disable()
814 int ssusb_gadget_init(struct ssusb_mtk *ssusb) in ssusb_gadget_init() argument
816 struct device *dev = ssusb->dev; in ssusb_gadget_init()
842 mtu->ippc_base = ssusb->ippc_base; in ssusb_gadget_init()
843 ssusb->mac_base = mtu->mac_base; in ssusb_gadget_init()
844 ssusb->u3d = mtu; in ssusb_gadget_init()
845 mtu->ssusb = ssusb; in ssusb_gadget_init()
895 if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG) in ssusb_gadget_init()
[all …]
Dmtu3.h325 struct ssusb_mtk *ssusb; member
418 int ssusb_check_clocks(struct ssusb_mtk *ssusb, u32 ex_clks);
Dmtu3_gadget.c517 if (mtu->ssusb->dr_mode == USB_DR_MODE_PERIPHERAL) in mtu3_gadget_start()
571 if (mtu->ssusb->dr_mode == USB_DR_MODE_PERIPHERAL) in mtu3_gadget_stop()
/Linux-v4.19/Documentation/devicetree/bindings/usb/
Dmediatek,mtu3.txt65 ssusb: usb@11271000 {
/Linux-v4.19/arch/arm64/boot/dts/mediatek/
Dmt7622-rfb1.dts477 &ssusb {
Dmt8173-evb.dts521 &ssusb {
Dmt7622.dtsi655 ssusb: usb@1a0c0000 { label
Dmt8173.dtsi818 ssusb: usb@11271000 { label