Lines Matching refs:ci
102 struct ci_hdrc *ci; member
138 void (*suspend)(struct ci_hdrc *ci);
139 void (*resume)(struct ci_hdrc *ci, bool power_lost);
268 static inline struct ci_role_driver *ci_role(struct ci_hdrc *ci) in ci_role() argument
270 BUG_ON(ci->role >= CI_ROLE_END || !ci->roles[ci->role]); in ci_role()
271 return ci->roles[ci->role]; in ci_role()
274 static inline int ci_role_start(struct ci_hdrc *ci, enum ci_role role) in ci_role_start() argument
281 if (!ci->roles[role]) in ci_role_start()
284 ret = ci->roles[role]->start(ci); in ci_role_start()
288 ci->role = role; in ci_role_start()
290 if (ci->usb_phy) { in ci_role_start()
292 usb_phy_set_event(ci->usb_phy, USB_EVENT_ID); in ci_role_start()
295 usb_phy_set_event(ci->usb_phy, USB_EVENT_NONE); in ci_role_start()
301 static inline void ci_role_stop(struct ci_hdrc *ci) in ci_role_stop() argument
303 enum ci_role role = ci->role; in ci_role_stop()
308 ci->role = CI_ROLE_END; in ci_role_stop()
310 ci->roles[role]->stop(ci); in ci_role_stop()
312 if (ci->usb_phy) in ci_role_stop()
313 usb_phy_set_event(ci->usb_phy, USB_EVENT_NONE); in ci_role_stop()
316 static inline enum usb_role ci_role_to_usb_role(struct ci_hdrc *ci) in ci_role_to_usb_role() argument
318 if (ci->role == CI_ROLE_HOST) in ci_role_to_usb_role()
320 else if (ci->role == CI_ROLE_GADGET && ci->vbus_active) in ci_role_to_usb_role()
344 static inline u32 hw_read_id_reg(struct ci_hdrc *ci, u32 offset, u32 mask) in hw_read_id_reg() argument
346 return ioread32(ci->hw_bank.abs + offset) & mask; in hw_read_id_reg()
356 static inline void hw_write_id_reg(struct ci_hdrc *ci, u32 offset, in hw_write_id_reg() argument
360 data = (ioread32(ci->hw_bank.abs + offset) & ~mask) in hw_write_id_reg()
363 iowrite32(data, ci->hw_bank.abs + offset); in hw_write_id_reg()
374 static inline u32 hw_read(struct ci_hdrc *ci, enum ci_hw_regs reg, u32 mask) in hw_read() argument
376 return ioread32(ci->hw_bank.regmap[reg]) & mask; in hw_read()
390 static inline void __hw_write(struct ci_hdrc *ci, u32 val, in __hw_write() argument
393 if (ci->imx28_write_fix) in __hw_write()
406 static inline void hw_write(struct ci_hdrc *ci, enum ci_hw_regs reg, in hw_write() argument
410 data = (ioread32(ci->hw_bank.regmap[reg]) & ~mask) in hw_write()
413 __hw_write(ci, data, ci->hw_bank.regmap[reg]); in hw_write()
424 static inline u32 hw_test_and_clear(struct ci_hdrc *ci, enum ci_hw_regs reg, in hw_test_and_clear() argument
427 u32 val = ioread32(ci->hw_bank.regmap[reg]) & mask; in hw_test_and_clear()
429 __hw_write(ci, val, ci->hw_bank.regmap[reg]); in hw_test_and_clear()
442 static inline u32 hw_test_and_write(struct ci_hdrc *ci, enum ci_hw_regs reg, in hw_test_and_write() argument
445 u32 val = hw_read(ci, reg, ~0); in hw_test_and_write()
447 hw_write(ci, reg, mask, data); in hw_test_and_write()
457 static inline bool ci_otg_is_fsm_mode(struct ci_hdrc *ci) in ci_otg_is_fsm_mode() argument
460 struct usb_otg_caps *otg_caps = &ci->platdata->ci_otg_caps; in ci_otg_is_fsm_mode()
462 return ci->is_otg && ci->roles[CI_ROLE_HOST] && in ci_otg_is_fsm_mode()
463 ci->roles[CI_ROLE_GADGET] && (otg_caps->srp_support || in ci_otg_is_fsm_mode()
470 int ci_ulpi_init(struct ci_hdrc *ci);
471 void ci_ulpi_exit(struct ci_hdrc *ci);
472 int ci_ulpi_resume(struct ci_hdrc *ci);
474 u32 hw_read_intr_enable(struct ci_hdrc *ci);
476 u32 hw_read_intr_status(struct ci_hdrc *ci);
478 int hw_device_reset(struct ci_hdrc *ci);
480 int hw_port_test_set(struct ci_hdrc *ci, u8 mode);
482 u8 hw_port_test_get(struct ci_hdrc *ci);
484 void hw_phymode_configure(struct ci_hdrc *ci);
486 void ci_platform_configure(struct ci_hdrc *ci);
488 void dbg_create_files(struct ci_hdrc *ci);
490 void dbg_remove_files(struct ci_hdrc *ci);