/kernel/linux/linux-5.10/include/linux/usb/ |
D | otg.h | 2 /* USB OTG (On The Go) defines */ 28 int (*set_host)(struct usb_otg *otg, struct usb_bus *host); 31 int (*set_peripheral)(struct usb_otg *otg, 35 int (*set_vbus)(struct usb_otg *otg, bool enabled); 38 int (*start_srp)(struct usb_otg *otg); 41 int (*start_hnp)(struct usb_otg *otg); 46 * struct usb_otg_caps - describes the otg capabilities of the device 47 * @otg_rev: The OTG revision number the device is compliant with, it's 64 otg_start_hnp(struct usb_otg *otg) in otg_start_hnp() argument 66 if (otg && otg->start_hnp) in otg_start_hnp() [all …]
|
D | otg-fsm.h | 29 #define OTG_STS_SELECTOR 0xF000 /* OTG status selector, according to 30 * OTG and EH 2.0 Chapter 6.2.3 35 * OTG and EH 2.0 Charpter 6.2.3 42 /* Standard OTG timers */ 62 * struct otg_fsm - OTG state machine according to the OTG spec 64 * OTG hardware Inputs 70 * @power_up: TRUE when the OTG device first powers up its USB system and 89 * @test_device: TRUE when the B-device switches to B-Host and detects an OTG 101 * Auxilary inputs (OTG v1.3 only. Obsolete now.) 108 * OTG Output status. Read only for users. Updated by OTG FSM helpers defined [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dcn30/ |
D | dcn30_optc.h | 33 SRI(OTG_VSTARTUP_PARAM, OTG, inst),\ 34 SRI(OTG_VUPDATE_PARAM, OTG, inst),\ 35 SRI(OTG_VREADY_PARAM, OTG, inst),\ 36 SRI(OTG_MASTER_UPDATE_LOCK, OTG, inst),\ 37 SRI(OTG_GLOBAL_CONTROL0, OTG, inst),\ 38 SRI(OTG_GLOBAL_CONTROL1, OTG, inst),\ 39 SRI(OTG_GLOBAL_CONTROL2, OTG, inst),\ 40 SRI(OTG_GLOBAL_CONTROL4, OTG, inst),\ 41 SRI(OTG_DOUBLE_BUFFER_CONTROL, OTG, inst),\ 42 SRI(OTG_H_TOTAL, OTG, inst),\ [all …]
|
/kernel/linux/linux-5.10/drivers/usb/phy/ |
D | phy-isp1301-omap.c | 3 * isp1301_omap - ISP 1301 USB transceiver, talking to OMAP OTG controller 19 #include <linux/usb/otg.h> 36 MODULE_DESCRIPTION("ISP1301 USB OTG Transceiver Driver"); 55 # define WORK_UPDATE_ISP 0 /* update ISP from OTG */ 56 # define WORK_UPDATE_OTG 1 /* update OTG from ISP */ 111 * unless the OTG port is used only in B-peripheral mode. in enable_vbus_draw() 125 /* products will deliver OTG messages with LEDs, GUI, etc */ 128 printk(KERN_NOTICE "OTG device not responding.\n"); in notresponding() 224 return usb_otg_state_string(isp->phy.otg->state); in state_name() 234 * while OTG is running. [all …]
|
D | phy-mv-usb.c | 21 #include <linux/usb/otg.h> 28 #define DRIVER_DESC "Marvell USB OTG transceiver driver" 33 static const char driver_name[] = "mv-otg"; 52 static int mv_otg_set_vbus(struct usb_otg *otg, bool on) in mv_otg_set_vbus() argument 54 struct mv_otg *mvotg = container_of(otg->usb_phy, struct mv_otg, phy); in mv_otg_set_vbus() 61 static int mv_otg_set_host(struct usb_otg *otg, in mv_otg_set_host() argument 64 otg->host = host; in mv_otg_set_host() 69 static int mv_otg_set_peripheral(struct usb_otg *otg, in mv_otg_set_peripheral() argument 72 otg->gadget = gadget; in mv_otg_set_peripheral() 194 struct usb_otg *otg = mvotg->phy.otg; in mv_otg_start_host() local [all …]
|
D | phy-fsl-usb.c | 43 #define DRIVER_DESC "Freescale USB OTG Transceiver Driver" 46 static const char driver_name[] = "fsl-usb2-otg"; 114 /* Operations that will be called from OTG Finite State Machine */ 258 if ((fsl_otg_dev->phy.otg->state == OTG_STATE_B_SRP_INIT) && in b_srp_end() 271 if (!fsl_otg_dev->phy.otg->host->b_hnp_enable) in a_wait_enum() 459 struct usb_otg *otg = fsm->otg; in fsl_otg_start_host() local 462 container_of(otg->usb_phy, struct fsl_otg, phy); in fsl_otg_start_host() 465 if (!otg->host) in fsl_otg_start_host() 467 dev = otg->host->controller; in fsl_otg_start_host() 526 struct usb_otg *otg = fsm->otg; in fsl_otg_start_gadget() local [all …]
|
D | phy-tahvo.c | 21 #include <linux/usb/otg.h> 77 switch (tu->phy.otg->state) { in check_vbus_state() 80 if (tu->phy.otg->gadget) in check_vbus_state() 81 usb_gadget_vbus_connect(tu->phy.otg->gadget); in check_vbus_state() 82 tu->phy.otg->state = OTG_STATE_B_PERIPHERAL; in check_vbus_state() 90 tu->phy.otg->state = OTG_STATE_A_HOST; in check_vbus_state() 97 switch (tu->phy.otg->state) { in check_vbus_state() 99 if (tu->phy.otg->gadget) in check_vbus_state() 100 usb_gadget_vbus_disconnect(tu->phy.otg->gadget); in check_vbus_state() 101 tu->phy.otg->state = OTG_STATE_B_IDLE; in check_vbus_state() [all …]
|
D | phy-ulpi.c | 17 #include <linux/usb/otg.h> 199 static int ulpi_set_host(struct usb_otg *otg, struct usb_bus *host) in ulpi_set_host() argument 201 struct usb_phy *phy = otg->usb_phy; in ulpi_set_host() 205 otg->host = NULL; in ulpi_set_host() 209 otg->host = host; in ulpi_set_host() 225 static int ulpi_set_vbus(struct usb_otg *otg, bool on) in ulpi_set_vbus() argument 227 struct usb_phy *phy = otg->usb_phy; in ulpi_set_vbus() 243 static void otg_ulpi_init(struct usb_phy *phy, struct usb_otg *otg, in otg_ulpi_init() argument 250 phy->otg = otg; in otg_ulpi_init() 253 otg->usb_phy = phy; in otg_ulpi_init() [all …]
|
D | phy-generic.c | 18 #include <linux/usb/otg.h> 104 struct usb_otg *otg = nop->phy.otg; in nop_gpio_vbus_thread() local 114 otg->state = OTG_STATE_B_PERIPHERAL; in nop_gpio_vbus_thread() 117 /* drawing a "unit load" is *always* OK, except for OTG */ in nop_gpio_vbus_thread() 121 otg->gadget); in nop_gpio_vbus_thread() 126 otg->state = OTG_STATE_B_IDLE; in nop_gpio_vbus_thread() 130 otg->gadget); in nop_gpio_vbus_thread() 173 static int nop_set_peripheral(struct usb_otg *otg, struct usb_gadget *gadget) in nop_set_peripheral() argument 175 if (!otg) in nop_set_peripheral() 179 otg->gadget = NULL; in nop_set_peripheral() [all …]
|
D | phy-gpio-vbus-usb.c | 20 #include <linux/usb/otg.h> 98 if (!gpio_vbus->phy.otg->gadget) in gpio_vbus_work() 114 gpio_vbus->phy.otg->state = OTG_STATE_B_PERIPHERAL; in gpio_vbus_work() 116 usb_gadget_vbus_connect(gpio_vbus->phy.otg->gadget); in gpio_vbus_work() 118 /* drawing a "unit load" is *always* OK, except for OTG */ in gpio_vbus_work() 126 status, gpio_vbus->phy.otg->gadget); in gpio_vbus_work() 135 usb_gadget_vbus_disconnect(gpio_vbus->phy.otg->gadget); in gpio_vbus_work() 137 gpio_vbus->phy.otg->state = OTG_STATE_B_IDLE; in gpio_vbus_work() 141 status, gpio_vbus->phy.otg->gadget); in gpio_vbus_work() 151 struct usb_otg *otg = gpio_vbus->phy.otg; in gpio_vbus_irq() local [all …]
|
D | Kconfig | 19 Enable this to support the USB OTG transceiver in AB8500 chip. 24 tristate "Freescale USB OTG Transceiver Driver" 29 Enable this to support Freescale USB OTG transceiver. 32 tristate "Philips ISP1301 with OMAP OTG" 39 USB-On-The-Go transceiver working with the OMAP OTG controller. 84 Enable this to support the USB OTG transceiver on TWL6030 86 and OTG SRP events capabilities. For all other transceiver functionality 103 tristate "OMAP USB OTG controller driver" 106 Enable this to support some transceivers on OMAP1 platforms. OTG 110 will be called phy-omap-otg. [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dcn10/ |
D | dcn10_optc.h | 35 SRI(OTG_VSTARTUP_PARAM, OTG, inst),\ 36 SRI(OTG_VUPDATE_PARAM, OTG, inst),\ 37 SRI(OTG_VREADY_PARAM, OTG, inst),\ 38 SRI(OTG_BLANK_CONTROL, OTG, inst),\ 39 SRI(OTG_MASTER_UPDATE_LOCK, OTG, inst),\ 40 SRI(OTG_GLOBAL_CONTROL0, OTG, inst),\ 41 SRI(OTG_DOUBLE_BUFFER_CONTROL, OTG, inst),\ 42 SRI(OTG_H_TOTAL, OTG, inst),\ 43 SRI(OTG_H_BLANK_START_END, OTG, inst),\ 44 SRI(OTG_H_SYNC_A, OTG, inst),\ [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/usb/ |
D | generic.txt | 12 "peripheral" and "otg". In case this attribute isn't 14 OTG. 20 - otg-rev: tells usb driver the release number of the OTG and EH supplement 23 property is used if any real OTG features(HNP/SRP/ADP) 24 is enabled, if ADP is required, otg-rev should be 27 - hnp-disable: tells OTG controllers we want to disable OTG HNP, normally HNP 28 is the basic function of real OTG except you want it 30 - srp-disable: tells OTG controllers we want to disable OTG SRP, SRP is 31 optional for OTG device. 32 - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is [all …]
|
D | msm-hsusb.txt | 18 USB PHY with optional OTG: 22 "qcom,usb-otg-ci" for chipsets with ChipIdea 45nm PHY 23 "qcom,usb-otg-snps" for chipsets with Synopsys 28nm PHY 26 - interrupts: interrupt-specifier for the OTG interrupt. 48 - qcom,otg-control: OTG control (VBUS and ID notifications) can be one of 53 - dr_mode: One of "host", "peripheral" or "otg". Defaults to "otg" 87 Example HSUSB OTG controller device node: 90 compatible = "qcom,usb-otg-snps"; 107 qcom,otg-control = <1>;
|
D | cdns,usb3.yaml | 18 - description: OTG controller registers 24 - const: otg 30 - description: OTG/DRD controller interrupt 38 - const: otg 41 enum: [host, otg, peripheral] 88 reg-names = "otg", "xhci", "dev"; 92 interrupt-names = "host", "peripheral", "otg"; 94 dr_mode = "otg";
|
/kernel/linux/linux-5.10/drivers/phy/samsung/ |
D | phy-exynos5250-usb2.c | 201 u32 otg; in exynos5250_power_on() local 213 /* OTG configuration */ in exynos5250_power_on() 214 otg = readl(drv->reg_phy + EXYNOS_5250_USBOTGSYS); in exynos5250_power_on() 216 otg &= ~EXYNOS_5250_USBOTGSYS_FSEL_MASK; in exynos5250_power_on() 217 otg |= drv->ref_reg_val << EXYNOS_5250_USBOTGSYS_FSEL_SHIFT; in exynos5250_power_on() 219 otg &= ~(EXYNOS_5250_USBOTGSYS_FORCE_SUSPEND | in exynos5250_power_on() 222 otg |= EXYNOS_5250_USBOTGSYS_PHY_SW_RST | in exynos5250_power_on() 227 otg &= ~EXYNOS_5250_USBOTGSYS_REFCLKSEL_MASK; in exynos5250_power_on() 228 otg |= EXYNOS_5250_REFCLKSEL_CLKCORE << in exynos5250_power_on() 230 writel(otg, drv->reg_phy + EXYNOS_5250_USBOTGSYS); in exynos5250_power_on() [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/include/ivsrcid/dcn/ |
D | irqsrcs_dcn_1_0.h | 528 #define DCN_1_0__SRCID__OTG1_CPU_SS_INT 0x17 // D1: OTG Static Screen interrupt OTG… 531 #define DCN_1_0__SRCID__OTG1_RANGE_TIMING_UPDATE 0x17 // D1 : OTG range timing OTG1_IHC_RANGE_T… 534 #define DCN_1_0__SRCID__OTG2_CPU_SS_INT 0x17 // D2 : OTG Static Screen interrupt OTG2_IHC_CPU_SS_IN… 537 #define DCN_1_0__SRCID__OTG2_RANGE_TIMING_UPDATE 0x17 // D2 : OTG range timing OTG2_IHC_RANGE_TIMIN… 540 #define DCN_1_0__SRCID__OTG3_CPU_SS_INT 0x17 // D3 : OTG Static Screen interrupt OTG3_IHC_CPU_SS_IN… 543 #define DCN_1_0__SRCID__OTG3_RANGE_TIMING_UPDATE 0x17 // D3 : OTG range timing OTG3_IHC_RANGE_TIMIN… 546 #define DCN_1_0__SRCID__OTG4_CPU_SS_INT 0x17 // D4 : OTG Static Screen interrupt OTG4_IHC_CPU_SS_IN… 549 #define DCN_1_0__SRCID__OTG4_RANGE_TIMING_UPDATE 0x17 // D4 : OTG range timing OTG4_IHC_RANGE_TIMIN… 552 #define DCN_1_0__SRCID__OTG5_CPU_SS_INT 0x17 // D5 : OTG Static Screen interrupt OTG5_IHC_CPU_SS_IN… 555 #define DCN_1_0__SRCID__OTG5_RANGE_TIMING_UPDATE 0x17 // D5 : OTG range timing OTG5_IHC_RANGE_TIMIN… [all …]
|
/kernel/linux/linux-5.10/arch/arm/mach-pxa/ |
D | pxa3xx-ulpi.c | 23 #include <linux/usb/otg.h> 33 struct usb_phy *otg; member 79 static int pxa310_ulpi_read(struct usb_phy *otg, u32 reg) in pxa310_ulpi_read() argument 98 static int pxa310_ulpi_write(struct usb_phy *otg, u32 val, u32 reg) in pxa310_ulpi_write() argument 126 /* setup OTG sync mode */ in pxa310_otg_transceiver_rtsm() 139 err = usb_phy_init(u2d->otg); in pxa310_start_otg_host_transcvr() 141 pr_err("OTG transceiver init failed"); in pxa310_start_otg_host_transcvr() 145 err = otg_set_vbus(u2d->otg->otg, 1); in pxa310_start_otg_host_transcvr() 147 pr_err("OTG transceiver VBUS set failed"); in pxa310_start_otg_host_transcvr() 151 err = otg_set_host(u2d->otg->otg, host); in pxa310_start_otg_host_transcvr() [all …]
|
D | regs-u2d.h | 49 #define U2DOTGCR (0x0020) /* U2D OTG Control Register */ 57 #define U2DOTGCR_IESI (1 << 13) /* OTG interrupt Enable */ 58 #define U2DOTGCR_ISSI (1 << 12) /* OTG interrupt status */ 68 #define U2DOTGICR (0x0024) /* U2D OTG Interrupt Control Register */ 69 #define U2DOTGISR (0x0028) /* U2D OTG Interrupt Status Register */ 71 #define U2DOTGINT_SF (1 << 17) /* OTG Set Feature Command Received */ 72 #define U2DOTGINT_SI (1 << 16) /* OTG Interrupt */ 75 #define U2DOTGINT_RID (1 << 12) /* RXCMD OTG ID Change Interrupt Rise */ 76 #define U2DOTGINT_RSE (1 << 11) /* RXCMD OTG Session End Interrupt Rise */ 77 #define U2DOTGINT_RSV (1 << 10) /* RXCMD OTG Session Valid Interrupt Rise */ [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dce/ |
D | dce_clock_source.h | 72 SRII(PIXEL_RATE_CNTL, OTG, 0),\ 73 SRII(PIXEL_RATE_CNTL, OTG, 1),\ 74 SRII(PIXEL_RATE_CNTL, OTG, 2),\ 75 SRII(PIXEL_RATE_CNTL, OTG, 3),\ 76 SRII(PIXEL_RATE_CNTL, OTG, 4),\ 77 SRII(PIXEL_RATE_CNTL, OTG, 5) 89 SRII(PIXEL_RATE_CNTL, OTG, 0),\ 90 SRII(PIXEL_RATE_CNTL, OTG, 1),\ 91 SRII(PIXEL_RATE_CNTL, OTG, 2),\ 92 SRII(PIXEL_RATE_CNTL, OTG, 3) [all …]
|
/kernel/linux/linux-5.10/drivers/usb/common/ |
D | usb-otg-fsm.c | 3 * OTG Finite State Machine from OTG spec 18 #include <linux/usb/otg.h> 19 #include <linux/usb/otg-fsm.h> 74 if (fsm->otg->gadget) in otg_leave_state() 75 fsm->otg->gadget->host_request_flag = 0; in otg_leave_state() 105 if (fsm->otg->gadget) in otg_leave_state() 106 fsm->otg->gadget->host_request_flag = 0; in otg_leave_state() 125 enum usb_otg_state state = fsm->otg->state; in otg_hnp_polling_work() 132 udev = usb_hub_find_child(fsm->otg->host->root_hub, 1); in otg_hnp_polling_work() 134 dev_err(fsm->otg->host->controller, in otg_hnp_polling_work() [all …]
|
/kernel/linux/linux-5.10/drivers/usb/musb/ |
D | musb_virthub.c | 3 * MUSB OTG driver virtual root hub support 46 musb->xceiv->otg->state = OTG_STATE_A_HOST; in musb_host_finish_resume() 53 struct usb_otg *otg = musb->xceiv->otg; in musb_port_suspend() local 88 switch (musb->xceiv->otg->state) { in musb_port_suspend() 90 musb->xceiv->otg->state = OTG_STATE_A_SUSPEND; in musb_port_suspend() 91 musb->is_active = otg->host->b_hnp_enable; in musb_port_suspend() 99 musb->xceiv->otg->state = OTG_STATE_B_WAIT_ACON; in musb_port_suspend() 100 musb->is_active = otg->host->b_hnp_enable; in musb_port_suspend() 105 usb_otg_state_string(musb->xceiv->otg->state)); in musb_port_suspend() 126 if (musb->xceiv->otg->state == OTG_STATE_B_IDLE) { in musb_port_reset() [all …]
|
/kernel/linux/linux-5.10/drivers/phy/ti/ |
D | phy-dm816x-usb.c | 32 * phy as being SR70LX Synopsys USB 2.0 OTG nanoPHY. It also seems at 62 static int dm816x_usb_phy_set_host(struct usb_otg *otg, struct usb_bus *host) in dm816x_usb_phy_set_host() argument 64 otg->host = host; in dm816x_usb_phy_set_host() 66 otg->state = OTG_STATE_UNDEFINED; in dm816x_usb_phy_set_host() 71 static int dm816x_usb_phy_set_peripheral(struct usb_otg *otg, in dm816x_usb_phy_set_peripheral() argument 74 otg->gadget = gadget; in dm816x_usb_phy_set_peripheral() 76 otg->state = OTG_STATE_UNDEFINED; in dm816x_usb_phy_set_peripheral() 189 struct usb_otg *otg; in dm816x_usb_phy_probe() local 221 otg = devm_kzalloc(&pdev->dev, sizeof(*otg), GFP_KERNEL); in dm816x_usb_phy_probe() 222 if (!otg) in dm816x_usb_phy_probe() [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/phy/ |
D | phy-rockchip-inno-usb2.yaml | 53 Phandle to the extcon device providing the cable state for the otg phy. 86 otg-port: 101 - const: otg-mux 103 - const: otg-bvalid 104 - const: otg-id 124 - otg-port 148 u2phy0_otg: otg-port { 153 interrupt-names = "otg-bvalid", "otg-id", "linestate";
|
/kernel/linux/linux-5.10/Documentation/driver-api/usb/ |
D | gadget.rst | 28 - USB "On-The-Go" (OTG) support, in conjunction with updates to the 32 API. This helps the OTG support, and looks forward to more-symmetric 151 OTG-capable systems will also need to include a standard Linux-USB host 153 (HCDs), *USB Device Drivers* to support the OTG "Targeted Peripheral 154 List", and so forth. There will also be an *OTG Controller Driver*, 157 new OTG protocols (HNP and SRP). Roles switch (host to peripheral, or 262 configurations, unless the hardware prevents such operation. For OTG 263 devices, each configuration descriptor includes an OTG descriptor. 271 allowed by that configuration. For OTG devices, setting a 296 Note that the lifecycle above can be slightly different for OTG devices. [all …]
|