Lines Matching refs:role
3 * drd.c - DesignWare USB2 DRD Controller Dual-role support
13 #include <linux/usb/role.h>
86 static int dwc2_drd_role_sw_set(struct usb_role_switch *sw, enum usb_role role)
93 if ((role == USB_ROLE_DEVICE && hsotg->dr_mode == USB_DR_MODE_HOST) ||
94 (role == USB_ROLE_HOST && hsotg->dr_mode == USB_DR_MODE_PERIPHERAL))
100 if (role == USB_ROLE_NONE && hsotg->test_mode) {
109 * If role-switch set is called before the udc_start, we need to enable
122 if (role == USB_ROLE_NONE) {
123 /* default operation mode when usb role is USB_ROLE_NONE */
125 role = USB_ROLE_HOST;
127 role = USB_ROLE_DEVICE;
130 if (role == USB_ROLE_HOST) {
132 } else if (role == USB_ROLE_DEVICE) {
152 dwc2_force_mode(hsotg, role == USB_ROLE_HOST);
158 role == USB_ROLE_NONE ? "No" :
159 role == USB_ROLE_HOST ? "A" : "B");
170 if (!device_property_read_bool(hsotg->dev, "usb-role-switch"))
183 "failed to register role switch: %d\n", ret);
211 enum usb_role role;
214 /* get last known role (as the get ops isn't implemented by this driver) */
215 role = usb_role_switch_get_role(hsotg->role_sw);
217 if (role == USB_ROLE_NONE) {
219 role = USB_ROLE_HOST;
221 role = USB_ROLE_DEVICE;
224 /* restore last role that may have been lost */
225 if (role == USB_ROLE_HOST)
227 else if (role == USB_ROLE_DEVICE)
230 dwc2_force_mode(hsotg, role == USB_ROLE_HOST);
233 role == USB_ROLE_NONE ? "No" :
234 role == USB_ROLE_HOST ? "A" : "B");