Lines Matching full:vbus
39 struct regulator *vbus; member
54 * "DEVICE" = VBUS and "HOST" = !ID, so we have:
57 * even if VBUS is on.
59 * Role | ID | VBUS
67 * - VBUS only - we want to distinguish between [1] and [2], so ID is always 1
68 * - ID only - we want to distinguish between [1] and [4], so VBUS = ID
74 int id, vbus, ret; in usb_conn_detect_cable() local
79 /* check ID and VBUS */ in usb_conn_detect_cable()
82 vbus = info->vbus_gpiod ? in usb_conn_detect_cable()
87 else if (vbus) in usb_conn_detect_cable()
92 dev_dbg(info->dev, "role %s -> %s, gpios: id %d, vbus %d\n", in usb_conn_detect_cable()
93 usb_role_string(info->last_role), usb_role_string(role), id, vbus); in usb_conn_detect_cable()
102 if (info->last_role == USB_ROLE_HOST && info->vbus) in usb_conn_detect_cable()
103 regulator_disable(info->vbus); in usb_conn_detect_cable()
109 if (role == USB_ROLE_HOST && info->vbus) { in usb_conn_detect_cable()
110 ret = regulator_enable(info->vbus); in usb_conn_detect_cable()
112 dev_err(info->dev, "enable vbus regulator failed\n"); in usb_conn_detect_cable()
117 if (info->vbus) in usb_conn_detect_cable()
118 dev_dbg(info->dev, "vbus regulator is %s\n", in usb_conn_detect_cable()
119 str_enabled_disabled(regulator_is_enabled(info->vbus))); in usb_conn_detect_cable()
209 info->vbus_gpiod = devm_gpiod_get_optional(dev, "vbus", GPIOD_IN); in usb_conn_probe()
227 info->vbus = devm_regulator_get_optional(dev, "vbus"); in usb_conn_probe()
228 if (PTR_ERR(info->vbus) == -ENODEV) in usb_conn_probe()
229 info->vbus = NULL; in usb_conn_probe()
231 if (IS_ERR(info->vbus)) in usb_conn_probe()
232 return dev_err_probe(dev, PTR_ERR(info->vbus), "failed to get vbus\n"); in usb_conn_probe()
263 dev_err(dev, "failed to get VBUS IRQ\n"); in usb_conn_probe()
272 dev_err(dev, "failed to request VBUS IRQ\n"); in usb_conn_probe()
300 if (info->last_role == USB_ROLE_HOST && info->vbus) in usb_conn_remove()
301 regulator_disable(info->vbus); in usb_conn_remove()