Lines Matching +full:ulpi +full:- +full:0
1 // SPDX-License-Identifier: GPL-2.0
8 #include <linux/ulpi/interface.h>
23 while (usec--) { in ci_ulpi_wait()
25 return 0; in ci_ulpi_wait()
30 return -ETIMEDOUT; in ci_ulpi_wait()
38 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_read()
43 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_RUN | ULPI_ADDR(addr)); in ci_ulpi_read()
56 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_write()
61 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, in ci_ulpi_write()
68 if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI) in ci_ulpi_init()
69 return 0; in ci_ulpi_init()
72 * Set PORTSC correctly so we can read/write ULPI registers for 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()
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()
98 if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI) in ci_ulpi_resume()
99 return 0; in ci_ulpi_resume()
101 while (cnt-- > 0) { in ci_ulpi_resume()
103 return 0; in ci_ulpi_resume()
107 return -ETIMEDOUT; in ci_ulpi_resume()