/openbmc/linux/drivers/usb/phy/ |
H A D | phy-gpio-vbus-usb.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * gpio-vbus.c - simple GPIO VBUS sensing driver for B peripheral devices 10 #include <linux/gpio/consumer.h> 24 * A simple GPIO VBUS sensing driver for B peripheral only devices 25 * with internal transceivers. It can control a D+ pullup GPIO and 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 60 struct regulator *vbus_draw = gpio_vbus->vbus_draw; in set_vbus_draw() 67 enabled = gpio_vbus->vbus_draw_enabled; in set_vbus_draw() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/usb/ |
H A D | usb-nop-xceiv.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/usb/usb-nop-xceiv.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rob Herring <robh@kernel.org> 14 const: usb-nop-xceiv 19 clock-names: 22 clock-frequency: true 24 '#phy-cells': 27 vcc-supply: [all …]
|
H A D | atmel-usb.txt | 6 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers 8 - reg: Address and length of the register set for the device 9 - interrupts: Should contain ohci interrupt 10 - clocks: Should reference the peripheral, host and system clocks 11 - clock-names: Should contain three strings 15 - num-ports: Number of ports. 16 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 18 - atmel,oc-gpio: If present, specifies a gpio that needs to be 22 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 25 clock-names = "ohci_clk", "hclk", "uhpck"; [all …]
|
/openbmc/linux/drivers/usb/common/ |
H A D | usb-conn-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * USB GPIO Based Connection Detection Driver 9 * Some code borrowed from drivers/extcon/extcon-usb-gpio.c 13 #include <linux/gpio/consumer.h> 34 struct regulator *vbus; member 49 * "DEVICE" = VBUS and "HOST" = !ID, so we have: 52 * even if VBUS is on. 54 * Role | ID | VBUS 55 * ------------------------------------ 62 * - VBUS only - we want to distinguish between [1] and [2], so ID is always 1 [all …]
|
/openbmc/linux/arch/arm64/boot/dts/mediatek/ |
H A D | mt2712-evb.dts | 5 * SPDX-License-Identifier: (GPL-2.0 OR MIT) 8 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 14 chassis-type = "embedded"; 15 compatible = "mediatek,mt2712-evb", "mediatek,mt2712"; 27 stdout-path = "serial0:921600n8"; 30 cpus_fixed_vproc0: regulator-vproc-buck0 { 31 compatible = "regulator-fixed"; 32 regulator-name = "vproc_buck0"; 33 regulator-min-microvolt = <1000000>; [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/extcon/ |
H A D | extcon-usb-gpio.txt | 1 USB GPIO Extcon device 4 connected to a GPIO pin. 7 - compatible: Should be "linux,extcon-usb-gpio" 9 Either one of id-gpio or vbus-gpio must be present. Both can be present as well. 10 - id-gpio: gpio for USB ID pin. See gpio binding. 11 - vbus-gpio: gpio for USB VBUS pin. 13 Example: Examples of extcon-usb-gpio node in dra7-evm.dts as listed below: 15 compatible = "linux,extcon-usb-gpio"; 16 id-gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
|
H A D | extcon-ptn5150.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/extcon/extcon-ptn5150.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzk@kernel.org> 13 PTN5150 is a small thin low power CC logic chip supporting the USB Type-C 21 int-gpios: 25 GPIO pin (input) connected to the PTN5150's INTB pin. 34 vbus-gpios: 37 GPIO pin (output) used to control VBUS. If skipped, no such control [all …]
|
/openbmc/linux/arch/arm/boot/dts/allwinner/ |
H A D | sunxi-common-regulators.dtsi | 2 * sunxi boards common regulator (ahci target power supply, usb-vbus) code 4 * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> 6 * This file is dual-licensed: you can use it either under the terms 45 #include <dt-bindings/gpio/gpio.h> 48 reg_ahci_5v: ahci-5v { 49 compatible = "regulator-fixed"; 50 regulator-name = "ahci-5v"; 51 regulator-min-microvolt = <5000000>; 52 regulator-max-microvolt = <5000000>; 53 regulator-boot-on; [all …]
|
/openbmc/linux/drivers/extcon/ |
H A D | extcon-usb-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/extcon/extcon-usb-gpio.c - USB GPIO extcon driver 5 * Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com 9 #include <linux/extcon-provider.h> 10 #include <linux/gpio/consumer.h> 44 * "USB" = VBUS and "USB-HOST" = !ID, so we have: 45 * Both "USB" and "USB-HOST" can't be set as active at the 46 * same time so if "USB-HOST" is active (i.e. ID is 0) we keep "USB" inactive 47 * even if VBUS is on. 49 * State | ID | VBUS [all …]
|
H A D | extcon-intel-int3496.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <linux/devm-helpers.h> 15 #include <linux/extcon-provider.h> 16 #include <linux/gpio/consumer.h> 50 * Some platforms have a bug in ACPI GPIO description making IRQ 51 * GPIO to be output only. Ask the GPIO core to ignore this limit. 53 { "id-gpios", &id_gpios, 1, ACPI_GPIO_QUIRK_NO_IO_RESTRICTION }, 54 { "vbus-gpios", &vbus_gpios, 1 }, 55 { "mux-gpios", &mux_gpios, 1 }, 63 if (IS_ERR_OR_NULL(data->vbus_boost)) in int3496_set_vbus_boost() [all …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | sunxi-common-regulators.dtsi | 2 * sunxi boards common regulator (ahci target power supply, usb-vbus) code 4 * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> 6 * This file is dual-licensed: you can use it either under the terms 45 #include <dt-bindings/gpio/gpio.h> 46 #include <dt-bindings/pinctrl/sun4i-a10.h> 79 reg_ahci_5v: ahci-5v { 80 compatible = "regulator-fixed"; 81 pinctrl-names = "default"; 82 pinctrl-0 = <&ahci_pwr_pin_a>; 83 regulator-name = "ahci-5v"; [all …]
|
/openbmc/linux/drivers/phy/motorola/ |
H A D | phy-cpcap-usb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * board-mapphone-usb.c and cpcap-usb-det.c: 8 * Copyright (C) 2007 - 2011 Motorola, Inc. 25 #include <linux/gpio/consumer.h> 26 #include <linux/mfd/motorola-cpcap.h> 123 struct gpio_desc *gpio[2]; member 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() 147 otg->host = host; in cpcap_usb_phy_set_host() [all …]
|
/openbmc/linux/Documentation/firmware-guide/acpi/ |
H A D | extcon-intel-int3496.rst | 6 devices with an acpi-id of INT3496, such as found for example on 9 This ACPI device describes how the OS can read the id-pin of the devices' 10 USB-otg port, as well as how it optionally can enable Vbus output on the 15 to 3 gpio descriptors from its ACPI _CRS (Current Resource Settings) call: 18 Index 0 The input gpio for the id-pin, this is always present and valid 19 Index 1 The output gpio for enabling Vbus output from the device to the otg 20 port, write 1 to enable the Vbus output (this gpio descriptor may 22 Index 2 The output gpio for muxing of the data pins between the USB host and 27 There is a mapping between indices and GPIO connection IDs as follows 31 vbus index 1
|
/openbmc/linux/arch/arm/boot/dts/nvidia/ |
H A D | tegra30-apalis-eval.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/input/input.h> 5 #include "tegra30-apalis.dtsi" 9 compatible = "toradex,apalis_t30-eval", "toradex,apalis_t30", 23 stdout-path = "serial0:115200n8"; 46 hdmi-supply = <®_5v0>; 50 gpio@6000d000 { 52 pex-perst-n-hog { 53 gpio-hog; [all …]
|
H A D | tegra124-apalis-eval.dts | 1 // SPDX-License-Identifier: GPL-2.0 OR X11 3 * Copyright 2016-2019 Toradex AG 6 /dts-v1/; 8 #include <dt-bindings/input/input.h> 9 #include "tegra124-apalis.dtsi" 13 compatible = "toradex,apalis-tk1-eval", "toradex,apalis-tk1", 27 stdout-path = "serial0:115200n8"; 39 hdmi-supply = <®_5v0>; 43 gpio: gpio@6000d000 { label 45 pex-perst-n-hog { [all …]
|
H A D | tegra124-apalis-v1.2-eval.dts | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 3 * Copyright 2016-2018 Toradex AG 6 /dts-v1/; 8 #include <dt-bindings/input/input.h> 9 #include "tegra124-apalis-v1.2.dtsi" 13 compatible = "toradex,apalis-tk1-v1.2-eval", "toradex,apalis-tk1-eval", 14 "toradex,apalis-tk1-v1.2", "toradex,apalis-tk1", 28 stdout-path = "serial0:115200n8"; 40 hdmi-supply = <®_5v0>; 44 gpio@6000d000 { [all …]
|
H A D | tegra30-apalis-v1.1-eval.dts | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 2 /dts-v1/; 4 #include <dt-bindings/input/input.h> 5 #include "tegra30-apalis-v1.1.dtsi" 9 compatible = "toradex,apalis_t30-v1.1-eval", "toradex,apalis_t30-eval", 10 "toradex,apalis_t30-v1.1", "toradex,apalis_t30", 24 stdout-path = "serial0:115200n8"; 47 hdmi-supply = <®_5v0>; 51 gpio@6000d000 { 53 pex-perst-n-hog { [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/phy/ |
H A D | nvidia,tegra186-xusb-padctl.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/phy/nvidia,tegra186-xusb-padctl.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 21 Some of the lanes are high-speed lanes, which can be used for PCIe, SATA or 22 super-speed USB. Other lanes are for various types of low-speed, full-speed 23 or high-speed USB (such as UTMI, ULPI and HSIC). The XUSB pad controller 24 contains a software-configurable mux that sits between the I/O controller [all …]
|
H A D | nvidia,tegra210-xusb-padctl.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/phy/nvidia,tegra210-xusb-padctl.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 21 Some of the lanes are high-speed lanes, which can be used for PCIe, SATA or 22 super-speed USB. Other lanes are for various types of low-speed, full-speed 23 or high-speed USB (such as UTMI, ULPI and HSIC). The XUSB pad controller 24 contains a software-configurable mux that sits between the I/O controller [all …]
|
H A D | nvidia,tegra194-xusb-padctl.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/phy/nvidia,tegra194-xusb-padctl.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 21 Some of the lanes are high-speed lanes, which can be used for PCIe, SATA or 22 super-speed USB. Other lanes are for various types of low-speed, full-speed 23 or high-speed USB (such as UTMI, ULPI and HSIC). The XUSB pad controller 24 contains a software-configurable mux that sits between the I/O controller [all …]
|
H A D | allwinner,suniv-f1c100s-usb-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/allwinner,suniv-f1c100s-usb-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Chen-Yu Tsai <wens@csie.org> 11 - Maxime Ripard <mripard@kernel.org> 14 "#phy-cells": 18 const: allwinner,suniv-f1c100s-usb-phy 24 reg-names: 31 clock-names: [all …]
|
/openbmc/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6qdl-prti6q.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/input/input.h> 11 stdout-path = &uart4; 14 reg_3v3: regulator-3v3 { 15 compatible = "regulator-fixed"; 16 regulator-name = "3v3"; 17 regulator-min-microvolt = <3300000>; 18 regulator-max-microvolt = <3300000>; 21 reg_usb_h1_vbus: regulator-h1-vbus { [all …]
|
H A D | imx6ull-dhcor-maveo-box.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 * DHCR-iMX6ULL-C080-R051-SPI-WBT-I-01LG 8 * DHCOR PCB number: 578-200 or newer 9 * maveo box PCB number: 525-200 or newer 12 /dts-v1/; 14 #include "imx6ull-dhcor-som.dtsi" 18 compatible = "marantec,imx6ull-dhcor-maveo-box", "dh,imx6ull-dhcor-som", 28 stdout-path = "serial0:115200n8"; 31 reg_usb_otg1_vbus: regulator-usb-otg1-vbus { 32 compatible = "regulator-fixed"; [all …]
|
/openbmc/linux/arch/arm64/boot/dts/nvidia/ |
H A D | tegra194-p2888.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <dt-bindings/mfd/max77620.h> 27 stdout-path = "serial0:115200n8"; 34 phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 5) GPIO_ACTIVE_LOW>; 35 phy-handle = <&phy>; 36 phy-mode = "rgmii-id"; 39 #address-cells = <1>; 40 #size-cells = <0>; 42 phy: ethernet-phy@0 { 43 compatible = "ethernet-phy-ieee802.3-c22"; [all …]
|
/openbmc/linux/drivers/staging/emxx_udc/ |
H A D | TODO | 2 * break out board-specific VBUS GPIO to work with multiplatform 3 * convert VBUS GPIO to use GPIO descriptors from <linux/gpio/consumer.h> 4 and stop using the old GPIO API
|