Home
last modified time | relevance | path

Searched full:ssusb (Results 1 – 22 of 22) sorted by relevance

/linux/drivers/usb/mtu3/
H A Dmtu3_plat.c23 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 Dmtu3_host.c68 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 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_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 Dmtu3_debug.h30 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 Dmtu3_core.c113 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 Dmtu3.h246 * @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 Dmtu3_gadget.c536 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 Dmt7629-resets.h56 /* SSUSB Subsystem resets */
H A Dmt7622-reset.h72 /* SSUSB Subsystem resets */
/linux/arch/arm64/boot/dts/mediatek/
H A Dmt7986b-rfb.dts196 &ssusb {
H A Dmt7986a-rfb.dts269 &ssusb {
H A Dmt7986a-bananapi-bpi-r3-mini.dts459 &ssusb {
H A Dmt7622-rfb1.dts563 &ssusb {
H A Dmt7986a-bananapi-bpi-r3.dts402 &ssusb {
H A Dmt7622-bananapi-bpi-r64.dts618 &ssusb {
H A Dmt7622.dtsi745 ssusb: usb@1a0c0000 { label
H A Dmt2712e.dtsi797 ssusb: usb@11271000 { label
/linux/arch/arm/boot/dts/mediatek/
H A Dmt7629-rfb.dts255 &ssusb {
H A Dmt7629.dtsi307 ssusb: usb@1a0c0000 { label
/linux/drivers/usb/host/
H A Dxhci-mtk.h130 * struct mu3c_ippc_regs - MTK ssusb ip port control registers
H A Dxhci-mtk.c199 /* workaround for SoCs using SSUSB about before IPM v1.6.0 */ in xhci_mtk_init_quirk()
/linux/Documentation/devicetree/bindings/usb/
H A Dmediatek,mtu3.yaml50 - description: SSUSB device controller interrupt