Lines Matching full:vbus
34 struct regulator *vbus; member
49 * "DEVICE" = VBUS and "HOST" = !ID, so we have:
52 * even if VBUS is on.
54 * Role | ID | VBUS
62 * - VBUS only - we want to distinguish between [1] and [2], so ID is always 1
63 * - ID only - we want to distinguish between [1] and [4], so VBUS = ID
69 int id, vbus, ret; in usb_conn_detect_cable() local
74 /* check ID and VBUS */ in usb_conn_detect_cable()
77 vbus = info->vbus_gpiod ? in usb_conn_detect_cable()
82 else if (vbus) in usb_conn_detect_cable()
87 dev_dbg(info->dev, "role %d/%d, gpios: id %d, vbus %d\n", in usb_conn_detect_cable()
88 info->last_role, role, id, vbus); in usb_conn_detect_cable()
97 if (info->last_role == USB_ROLE_HOST && info->vbus) in usb_conn_detect_cable()
98 regulator_disable(info->vbus); in usb_conn_detect_cable()
104 if (role == USB_ROLE_HOST && info->vbus) { in usb_conn_detect_cable()
105 ret = regulator_enable(info->vbus); in usb_conn_detect_cable()
107 dev_err(info->dev, "enable vbus regulator failed\n"); in usb_conn_detect_cable()
112 if (info->vbus) in usb_conn_detect_cable()
113 dev_dbg(info->dev, "vbus regulator is %s\n", in usb_conn_detect_cable()
114 regulator_is_enabled(info->vbus) ? "enabled" : "disabled"); in usb_conn_detect_cable()
193 info->vbus_gpiod = devm_gpiod_get_optional(dev, "vbus", GPIOD_IN); in usb_conn_probe()
212 * If the USB connector is a child of a USB port and that port already provides the VBUS in usb_conn_probe()
216 if (of_find_property(dev->parent->of_node, "vbus-supply", NULL)) in usb_conn_probe()
221 info->vbus = devm_regulator_get_optional(dev, "vbus"); in usb_conn_probe()
222 if (PTR_ERR(info->vbus) == -ENODEV) in usb_conn_probe()
223 info->vbus = NULL; in usb_conn_probe()
225 info->vbus = devm_regulator_get(dev, "vbus"); in usb_conn_probe()
228 if (IS_ERR(info->vbus)) { in usb_conn_probe()
229 if (PTR_ERR(info->vbus) != -EPROBE_DEFER) in usb_conn_probe()
230 dev_err(dev, "failed to get vbus: %ld\n", PTR_ERR(info->vbus)); in usb_conn_probe()
231 return PTR_ERR(info->vbus); in usb_conn_probe()
266 dev_err(dev, "failed to get VBUS IRQ\n"); in usb_conn_probe()
275 dev_err(dev, "failed to request VBUS IRQ\n"); in usb_conn_probe()
299 if (info->last_role == USB_ROLE_HOST && info->vbus) in usb_conn_remove()
300 regulator_disable(info->vbus); in usb_conn_remove()