Lines Matching refs:ci

20 #include "ci.h"
37 struct ci_hdrc *ci = dev_get_drvdata(dev);
60 if (enable && (ci->platdata->phy_mode == USBPHY_INTERFACE_MODE_HSIC)) {
65 hw_port_test_set(ci, 5);
66 hw_port_test_set(ci, 0);
74 struct ci_hdrc *ci = dev_get_drvdata(dev);
84 if (ci->platdata->notify_event) {
85 ret = ci->platdata->notify_event(ci,
91 ci_platform_configure(ci);
102 static irqreturn_t host_irq(struct ci_hdrc *ci)
104 return usb_hcd_irq(ci->irq, ci->hcd);
107 static int host_start(struct ci_hdrc *ci)
117 hcd = __usb_create_hcd(&ci_ehci_hc_driver, ci->dev->parent,
118 ci->dev, dev_name(ci->dev), NULL);
122 dev_set_drvdata(ci->dev, ci);
123 hcd->rsrc_start = ci->hw_bank.phys;
124 hcd->rsrc_len = ci->hw_bank.size;
125 hcd->regs = ci->hw_bank.abs;
128 hcd->power_budget = ci->platdata->power_budget;
129 hcd->tpl_support = ci->platdata->tpl_support;
130 if (ci->phy || ci->usb_phy) {
132 if (ci->usb_phy)
133 hcd->usb_phy = ci->usb_phy;
137 ehci->caps = ci->hw_bank.cap;
138 ehci->has_hostpc = ci->hw_bank.lpm;
139 ehci->has_tdi_phy_lpm = ci->hw_bank.lpm;
140 ehci->imx28_write_fix = ci->imx28_write_fix;
145 if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci)) {
146 if (ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON) {
147 ret = regulator_enable(ci->platdata->reg_vbus);
149 dev_err(ci->dev,
155 priv->reg_vbus = ci->platdata->reg_vbus;
159 if (ci->platdata->pins_host)
160 pinctrl_select_state(ci->platdata->pctl,
161 ci->platdata->pins_host);
167 struct usb_otg *otg = &ci->otg;
169 ci->hcd = hcd;
171 if (ci_otg_is_fsm_mode(ci)) {
176 if (ci->platdata->notify_event &&
177 (ci->platdata->flags & CI_HDRC_IMX_IS_HSIC))
178 ci->platdata->notify_event
179 (ci, CI_HDRC_IMX_HSIC_ACTIVE_EVENT);
185 if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci) &&
186 (ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON))
187 regulator_disable(ci->platdata->reg_vbus);
194 static void host_stop(struct ci_hdrc *ci)
196 struct usb_hcd *hcd = ci->hcd;
199 if (ci->platdata->notify_event)
200 ci->platdata->notify_event(ci,
203 ci->role = CI_ROLE_END;
204 synchronize_irq(ci->irq);
206 if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci) &&
207 (ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON))
208 regulator_disable(ci->platdata->reg_vbus);
210 ci->hcd = NULL;
211 ci->otg.host = NULL;
213 if (ci->platdata->pins_host && ci->platdata->pins_default)
214 pinctrl_select_state(ci->platdata->pctl,
215 ci->platdata->pins_default);
219 void ci_hdrc_host_destroy(struct ci_hdrc *ci)
221 if (ci->role == CI_ROLE_HOST && ci->hcd)
222 host_stop(ci);
242 struct ci_hdrc *ci = dev_get_drvdata(dev);
274 if (ci->platdata->flags & CI_HDRC_IMX_IS_HSIC) {
275 if (ci->platdata->notify_event)
276 ci->platdata->notify_event(ci,
311 struct ci_hdrc *ci = dev_get_drvdata(dev);
347 if (ci->platdata->flags & CI_HDRC_IMX_IS_HSIC) {
360 int ci_hdrc_host_init(struct ci_hdrc *ci)
364 if (!hw_read(ci, CAP_DCCPARAMS, DCCPARAMS_HC))
367 rdrv = devm_kzalloc(ci->dev, sizeof(struct ci_role_driver), GFP_KERNEL);
375 ci->roles[CI_ROLE_HOST] = rdrv;