Lines Matching refs:ci

19 static int ci_ulpi_wait(struct ci_hdrc *ci, u32 mask)  in ci_ulpi_wait()  argument
24 if (!hw_read(ci, OP_ULPI_VIEWPORT, mask)) in ci_ulpi_wait()
35 struct ci_hdrc *ci = dev_get_drvdata(dev); in ci_ulpi_read() local
38 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_read()
39 ret = ci_ulpi_wait(ci, ULPI_WAKEUP); in ci_ulpi_read()
43 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_RUN | ULPI_ADDR(addr)); in ci_ulpi_read()
44 ret = ci_ulpi_wait(ci, ULPI_RUN); in ci_ulpi_read()
48 return hw_read(ci, OP_ULPI_VIEWPORT, GENMASK(15, 8)) >> 8; in ci_ulpi_read()
53 struct ci_hdrc *ci = dev_get_drvdata(dev); in ci_ulpi_write() local
56 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_write()
57 ret = ci_ulpi_wait(ci, ULPI_WAKEUP); in ci_ulpi_write()
61 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, in ci_ulpi_write()
63 return ci_ulpi_wait(ci, ULPI_RUN); in ci_ulpi_write()
66 int ci_ulpi_init(struct ci_hdrc *ci) in ci_ulpi_init() argument
68 if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI) in ci_ulpi_init()
75 hw_phymode_configure(ci); in ci_ulpi_init()
77 ci->ulpi_ops.read = ci_ulpi_read; in ci_ulpi_init()
78 ci->ulpi_ops.write = ci_ulpi_write; in ci_ulpi_init()
79 ci->ulpi = ulpi_register_interface(ci->dev, &ci->ulpi_ops); in ci_ulpi_init()
80 if (IS_ERR(ci->ulpi)) in ci_ulpi_init()
81 dev_err(ci->dev, "failed to register ULPI interface"); in ci_ulpi_init()
83 return PTR_ERR_OR_ZERO(ci->ulpi); in ci_ulpi_init()
86 void ci_ulpi_exit(struct ci_hdrc *ci) in ci_ulpi_exit() argument
88 if (ci->ulpi) { in ci_ulpi_exit()
89 ulpi_unregister_interface(ci->ulpi); in ci_ulpi_exit()
90 ci->ulpi = NULL; in ci_ulpi_exit()
94 int ci_ulpi_resume(struct ci_hdrc *ci) in ci_ulpi_resume() argument
98 if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI) in ci_ulpi_resume()
102 if (hw_read(ci, OP_ULPI_VIEWPORT, ULPI_SYNC_STATE)) in ci_ulpi_resume()