/Linux-v6.1/drivers/usb/common/ |
D | usb-conn-gpio.c | 34 struct regulator *vbus; member 48 * "DEVICE" = VBUS and "HOST" = !ID, so we have: 51 * even if VBUS is on. 53 * Role | ID | VBUS 61 * - VBUS only - we want to distinguish between [1] and [2], so ID is always 1 62 * - ID only - we want to distinguish between [1] and [4], so VBUS = ID 68 int id, vbus, ret; in usb_conn_detect_cable() local 73 /* check ID and VBUS */ in usb_conn_detect_cable() 76 vbus = info->vbus_gpiod ? in usb_conn_detect_cable() 81 else if (vbus) in usb_conn_detect_cable() [all …]
|
/Linux-v6.1/drivers/usb/phy/ |
D | phy-gpio-vbus-usb.c | 3 * gpio-vbus.c - simple GPIO VBUS sensing driver for B peripheral devices 24 * A simple GPIO VBUS sensing driver for B peripheral only devices 26 * a regulator to limit the current drawn from VBUS. 39 int vbus; member 45 * This driver relies on "both edges" triggering. VBUS has 100 msec to 96 int status, vbus; in gpio_vbus_work() local 101 vbus = is_vbus_powered(gpio_vbus); in gpio_vbus_work() 102 if ((vbus ^ gpio_vbus->vbus) == 0) in gpio_vbus_work() 104 gpio_vbus->vbus = vbus; in gpio_vbus_work() 112 if (vbus) { in gpio_vbus_work() [all …]
|
D | phy-omap-otg.c | 24 bool vbus; member 52 if (!otg_dev->id && otg_dev->vbus) in omap_otg_set_mode() 55 else if (otg_dev->vbus) in omap_otg_set_mode() 59 /* Set B-session end to indicate no VBUS. */ in omap_otg_set_mode() 80 otg_dev->vbus = event; in omap_otg_vbus_notifier() 125 otg_dev->vbus = extcon_get_state(extcon, EXTCON_USB); in omap_otg_probe() 131 "OMAP USB OTG controller rev %d.%d (%s, id=%d, vbus=%d)\n", in omap_otg_probe() 133 otg_dev->vbus); in omap_otg_probe()
|
D | phy-generic.c | 105 int vbus, status; in nop_gpio_vbus_thread() local 107 vbus = gpiod_get_value(nop->gpiod_vbus); in nop_gpio_vbus_thread() 108 if ((vbus ^ nop->vbus) == 0) in nop_gpio_vbus_thread() 110 nop->vbus = vbus; in nop_gpio_vbus_thread() 112 if (vbus) { in nop_gpio_vbus_thread() 228 "vbus-detect", in usb_phy_gen_create_phy() 235 "Error requesting RESET or VBUS GPIO\n"); in usb_phy_gen_create_phy() 268 nop->vbus_draw = devm_regulator_get_exclusive(dev, "vbus"); in usb_phy_gen_create_phy() 273 "could not get vbus regulator\n"); in usb_phy_gen_create_phy()
|
/Linux-v6.1/Documentation/devicetree/bindings/regulator/ |
D | qcom,usb-vbus-regulator.yaml | 4 $id: http://devicetree.org/schemas/regulator/qcom,usb-vbus-regulator.yaml# 7 title: The Qualcomm PMIC VBUS output regulator driver 13 This regulator driver controls the VBUS output by the Qualcomm PMIC. This 20 - qcom,pm8150b-vbus-reg 24 description: VBUS output base address 37 compatible = "qcom,pm8150b-vbus-reg";
|
/Linux-v6.1/drivers/extcon/ |
D | extcon-usb-gpio.c | 44 * "USB" = VBUS and "USB-HOST" = !ID, so we have: 47 * even if VBUS is on. 49 * State | ID | VBUS 57 * - VBUS only - we want to distinguish between [1] and [2], so ID is always 1. 58 * - ID only - we want to distinguish between [1] and [4], so VBUS = ID. 62 int id, vbus; in usb_extcon_detect_cable() local 67 /* check ID and VBUS and update cable state */ in usb_extcon_detect_cable() 70 vbus = info->vbus_gpiod ? in usb_extcon_detect_cable() 76 if (!vbus) in usb_extcon_detect_cable() 82 if (vbus) in usb_extcon_detect_cable() [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/usb/ |
D | usb-nop-xceiv.yaml | 33 vbus-detect-gpio: 34 description: Should specify the GPIO detecting a VBus insertion 37 vbus-regulator: 39 the VBus line. 59 vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; 60 vbus-regulator = <&vbus_regulator>;
|
D | atmel-usb.txt | 16 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 70 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 79 atmel,vbus-gpio = <&pioC 5 0>; 104 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether 105 vbus is present (USB is connected). 124 atmel,vbus-gpio = <&pioB 19 0>;
|
/Linux-v6.1/drivers/phy/socionext/ |
D | phy-uniphier-usb2.c | 42 struct regulator *vbus; member 52 if (priv->vbus) in uniphier_u2phy_power_on() 53 ret = regulator_enable(priv->vbus); in uniphier_u2phy_power_on() 62 if (priv->vbus) in uniphier_u2phy_power_off() 63 regulator_disable(priv->vbus); in uniphier_u2phy_power_off() 140 priv->vbus = devm_regulator_get_optional(dev, "vbus"); in uniphier_u2phy_probe() 141 if (IS_ERR(priv->vbus)) { in uniphier_u2phy_probe() 142 if (PTR_ERR(priv->vbus) == -EPROBE_DEFER) { in uniphier_u2phy_probe() 143 ret = PTR_ERR(priv->vbus); in uniphier_u2phy_probe() 146 priv->vbus = NULL; in uniphier_u2phy_probe()
|
D | phy-uniphier-usb3ss.c | 59 struct regulator *vbus; member 124 if (priv->vbus) { in uniphier_u3ssphy_power_on() 125 ret = regulator_enable(priv->vbus); in uniphier_u3ssphy_power_on() 146 if (priv->vbus) in uniphier_u3ssphy_power_off() 147 regulator_disable(priv->vbus); in uniphier_u3ssphy_power_off() 267 priv->vbus = devm_regulator_get_optional(dev, "vbus"); in uniphier_u3ssphy_probe() 268 if (IS_ERR(priv->vbus)) { in uniphier_u3ssphy_probe() 269 if (PTR_ERR(priv->vbus) == -EPROBE_DEFER) in uniphier_u3ssphy_probe() 270 return PTR_ERR(priv->vbus); in uniphier_u3ssphy_probe() 271 priv->vbus = NULL; in uniphier_u3ssphy_probe()
|
/Linux-v6.1/drivers/phy/allwinner/ |
D | phy-sun4i-usb.c | 60 /* sunxi has the phy id/vbus pins not connected, so we use the force bits */ 97 * otherwise we get Vbus errors 134 struct regulator *vbus; member 396 /* Fallback: report vbus as high */ in sun4i_usb_phy0_get_vbus_det() 413 * generate vbus change interrupts when the board is driving in sun4i_usb_phy0_poll() 414 * vbus using the N_VBUSEN pin on the pmic, so we must poll in sun4i_usb_phy0_poll() 415 * when using the pmic for vbus-det _and_ we're driving vbus. in sun4i_usb_phy0_poll() 431 if (!phy->vbus || phy->regulator_on) in sun4i_usb_phy_power_on() 434 /* For phy0 only turn on Vbus if we don't have an ext. Vbus */ in sun4i_usb_phy_power_on() 437 dev_warn(&_phy->dev, "External vbus detected, not enabling our own vbus\n"); in sun4i_usb_phy_power_on() [all …]
|
/Linux-v6.1/include/linux/usb/ |
D | tcpm.h | 61 * @get_vbus: Called to read current VBUS state 75 * @set_vbus: Called to enable or disable VBUS 93 * Optional; Called to notify that vbus is now being sourced. 97 * support hardware to autonomously dischrge vbus upon disconnecting 103 * vbus threshold voltage below which the vbus discharge circuit 104 * will be turned on. requested_vbus_voltage is set to 0 when vbus 109 * detect VSAFE0V voltage level at vbus. When detection of VSAFE0V 111 * whether vbus is at VSAFE0V when needed. 112 * Returns true when vbus is at VSAFE0V, false otherwise.
|
/Linux-v6.1/drivers/phy/samsung/ |
D | phy-samsung-usb2.c | 29 if (drv->vbus) { in samsung_usb2_phy_power_on() 30 ret = regulator_enable(drv->vbus); in samsung_usb2_phy_power_on() 56 if (drv->vbus) in samsung_usb2_phy_power_on() 57 regulator_disable(drv->vbus); in samsung_usb2_phy_power_on() 79 if (drv->vbus) in samsung_usb2_phy_power_off() 80 ret = regulator_disable(drv->vbus); in samsung_usb2_phy_power_off() 214 drv->vbus = devm_regulator_get(dev, "vbus"); in samsung_usb2_phy_probe() 215 if (IS_ERR(drv->vbus)) { in samsung_usb2_phy_probe() 216 ret = PTR_ERR(drv->vbus); in samsung_usb2_phy_probe() 219 drv->vbus = NULL; in samsung_usb2_phy_probe()
|
D | phy-exynos5-usbdrd.c | 190 * @vbus: VBUS regulator for phy 191 * @vbus_boost: Boost regulator for VBUS present on few Exynos boards 210 struct regulator *vbus; member 493 /* Enable VBUS supply */ in exynos5_usbdrd_phy_power_on() 498 "Failed to enable VBUS boost supply\n"); in exynos5_usbdrd_phy_power_on() 503 if (phy_drd->vbus) { in exynos5_usbdrd_phy_power_on() 504 ret = regulator_enable(phy_drd->vbus); in exynos5_usbdrd_phy_power_on() 506 dev_err(phy_drd->dev, "Failed to enable VBUS supply\n"); in exynos5_usbdrd_phy_power_on() 541 /* Disable VBUS supply */ in exynos5_usbdrd_phy_power_off() 542 if (phy_drd->vbus) in exynos5_usbdrd_phy_power_off() [all …]
|
/Linux-v6.1/drivers/phy/motorola/ |
D | phy-cpcap-usb.c | 124 struct iio_channel *vbus; member 136 error = iio_read_channel_processed(ddata->vbus, &value); in cpcap_usb_vbus_valid() 140 dev_err(ddata->dev, "error reading VBUS: %i\n", error); in cpcap_usb_vbus_valid() 220 bool vbus = false; in cpcap_usb_detect() local 229 vbus = cpcap_usb_vbus_valid(ddata); in cpcap_usb_detect() 231 /* We need to kick the VBUS as USB A-host */ in cpcap_usb_detect() 233 dev_dbg(ddata->dev, "still in USB A-host mode, kicking VBUS\n"); in cpcap_usb_detect() 247 if (vbus && s.id_ground && ddata->docked) { in cpcap_usb_detect() 255 /* No VBUS needed with docks */ in cpcap_usb_detect() 256 if (vbus && s.id_ground && !ddata->vbus_provider) { in cpcap_usb_detect() [all …]
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | sunxi-common-regulators.dtsi | 2 * sunxi boards common regulator (ahci target power supply, usb-vbus) code 59 reg_usb0_vbus: usb0-vbus { 61 regulator-name = "usb0-vbus"; 69 reg_usb1_vbus: usb1-vbus { 71 regulator-name = "usb1-vbus"; 80 reg_usb2_vbus: usb2-vbus { 82 regulator-name = "usb2-vbus";
|
D | imx6qdl-prti6q.dtsi | 21 reg_usb_h1_vbus: regulator-h1-vbus { 23 regulator-name = "h1-vbus"; 28 reg_usb_otg_vbus: regulator-otg-vbus { 30 regulator-name = "otg-vbus"; 69 vbus-supply = <®_usb_h1_vbus>; 76 vbus-supply = <®_usb_otg_vbus>;
|
/Linux-v6.1/drivers/regulator/ |
D | qcom_usb_vbus-regulator.c | 3 // Qualcomm PMIC VBUS output regulator driver 84 dev_err(dev, "not able to register vbus reg %d\n", ret); in qcom_usb_vbus_regulator_probe() 88 /* Disable HW logic for VBUS enable */ in qcom_usb_vbus_regulator_probe() 95 { .compatible = "qcom,pm8150b-vbus-reg" }, 102 .name = "qcom-usb-vbus-regulator", 109 MODULE_DESCRIPTION("Qualcomm USB vbus regulator driver");
|
/Linux-v6.1/drivers/usb/musb/ |
D | davinci.c | 40 struct gpio_desc *vbus; member 129 * VBUS SWITCHING IS BOARD-SPECIFIC ... at least for the DM6446 EVM, 146 gpiod_set_value_cansleep(glue->vbus, glue->vbus_state); in evm_deferred_drvvbus() 156 if (!glue->vbus) in davinci_musb_source_power() 169 gpiod_set_value_cansleep(glue->vbus, glue->vbus_state); in davinci_musb_source_power() 203 /* Wait till VBUS falls below SessionEnd (~0.2V); the 1.3 RTL in otg_timer() 205 * case "recover"), in routine "VBUS was valid by the time in otg_timer() 298 /* The Mentor core doesn't debounce VBUS as needed in davinci_musb_interrupt() 301 * to get VBUS errors during enumeration. in davinci_musb_interrupt() 305 * without waiting (on EVM, a **long** time) for VBUS in davinci_musb_interrupt() [all …]
|
/Linux-v6.1/drivers/phy/freescale/ |
D | phy-fsl-imx8mq-usb.c | 38 struct regulator *vbus; member 110 ret = regulator_enable(imx_phy->vbus); in imx8mq_phy_power_on() 122 regulator_disable(imx_phy->vbus); in imx8mq_phy_power_off() 179 imx_phy->vbus = devm_regulator_get(dev, "vbus"); in imx8mq_usb_phy_probe() 180 if (IS_ERR(imx_phy->vbus)) in imx8mq_usb_phy_probe() 181 return PTR_ERR(imx_phy->vbus); in imx8mq_usb_phy_probe()
|
/Linux-v6.1/drivers/phy/ |
D | phy-lgm-usb.c | 42 struct regulator *vbus; member 127 ret = regulator_enable(ta->vbus); in phy_set_vbus() 129 ret = regulator_disable(ta->vbus); in phy_set_vbus() 134 dev_dbg(ta->phy.dev, "set vbus: %d\n", on); in phy_set_vbus() 169 dev_err(ta->phy.dev, "failed to set VBUS\n"); in tca_work() 216 ta->vbus = devm_regulator_get(dev, "vbus"); in phy_probe() 217 if (IS_ERR(ta->vbus)) in phy_probe() 218 return PTR_ERR(ta->vbus); in phy_probe()
|
/Linux-v6.1/drivers/usb/chipidea/ |
D | otg.c | 35 * If using extcon framework for VBUS and/or ID signal in hw_read_otgsc() 92 /* Don't enable vbus interrupt if using external notifier */ in hw_write_otgsc() 143 * hw_wait_vbus_lower_bsv - When we switch to device mode, the vbus value 178 * vbus disconnect event is lost due to role in ci_handle_id_switch() 188 * Wait vbus lower than OTGSC_BSV before connecting in ci_handle_id_switch() 191 * care vbus on the board, since it will not affect in ci_handle_id_switch() 197 /* vbus change may have already occurred */ in ci_handle_id_switch() 203 * ci_otg_work - perform otg (vbus/id) event handle
|
/Linux-v6.1/Documentation/devicetree/bindings/power/supply/ |
D | mt6360_charger.yaml | 25 usb-otg-vbus-regulator: 41 otg_vbus_regulator: usb-otg-vbus-regulator { 42 regulator-compatible = "usb-otg-vbus"; 43 regulator-name = "usb-otg-vbus";
|
/Linux-v6.1/drivers/usb/typec/tcpm/ |
D | tcpci_mt6370.c | 30 struct regulator *vbus; member 86 ret = regulator_is_enabled(priv->vbus); in mt6370_tcpc_set_vbus() 91 return regulator_disable(priv->vbus); in mt6370_tcpc_set_vbus() 94 return regulator_enable(priv->vbus); in mt6370_tcpc_set_vbus() 157 priv->vbus = devm_regulator_get_optional(dev, "vbus"); in mt6370_tcpc_probe() 158 if (!IS_ERR(priv->vbus)) in mt6370_tcpc_probe()
|
/Linux-v6.1/Documentation/devicetree/bindings/phy/ |
D | samsung,usb3-drd-phy.yaml | 66 vbus-supply: 68 VBUS power source. 70 vbus-boost-supply: 72 VBUS Boost 5V power source. 125 vbus-supply = <&usb300_vbus_reg>;
|