| /kernel/linux/linux-5.10/drivers/usb/common/ |
| D | ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ulpi.c - USB ULPI PHY bus 10 #include <linux/ulpi/interface.h> 11 #include <linux/ulpi/driver.h> 12 #include <linux/ulpi/regs.h> 18 #include <linux/clk/clk-conf.h> 20 /* -------------------------------------------------------------------------- */ 22 int ulpi_read(struct ulpi *ulpi, u8 addr) in ulpi_read() argument 24 return ulpi->ops->read(ulpi->dev.parent, addr); in ulpi_read() 28 int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val) in ulpi_write() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/usb/common/ |
| D | ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ulpi.c - USB ULPI PHY bus 10 #include <linux/ulpi/interface.h> 11 #include <linux/ulpi/driver.h> 12 #include <linux/ulpi/regs.h> 19 #include <linux/clk/clk-conf.h> 21 /* -------------------------------------------------------------------------- */ 23 int ulpi_read(struct ulpi *ulpi, u8 addr) in ulpi_read() argument 25 return ulpi->ops->read(ulpi->dev.parent, addr); in ulpi_read() 29 int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val) in ulpi_write() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/phy/ti/ |
| D | phy-tusb1210.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tusb1210.c - TUSB1210 USB ULPI PHY driver 10 #include <linux/ulpi/driver.h> 11 #include <linux/ulpi/regs.h> 15 #define TUSB1210_VENDOR_SPECIFIC2 0x80 16 #define TUSB1210_VENDOR_SPECIFIC2_IHSTX_SHIFT 0 21 struct ulpi *ulpi; member 32 gpiod_set_value_cansleep(tusb->gpio_reset, 1); in tusb1210_power_on() 33 gpiod_set_value_cansleep(tusb->gpio_cs, 1); in tusb1210_power_on() 36 if (tusb->vendor_specific2) in tusb1210_power_on() [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/qualcomm/ |
| D | phy-qcom-usb-hsic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/ulpi/driver.h> 7 #include <linux/ulpi/regs.h> 10 #include <linux/pinctrl/pinctrl-state.h> 14 #define ULPI_HSIC_CFG 0x30 15 #define ULPI_HSIC_IO_CAL 0x33 18 struct ulpi *ulpi; member 29 struct ulpi *ulpi = uphy->ulpi; in qcom_usb_hsic_phy_power_on() local 33 ret = clk_prepare_enable(uphy->phy_clk); in qcom_usb_hsic_phy_power_on() 37 ret = clk_prepare_enable(uphy->cal_clk); in qcom_usb_hsic_phy_power_on() [all …]
|
| D | phy-qcom-usb-hs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/ulpi/driver.h> 7 #include <linux/ulpi/regs.h> 16 #define ULPI_PWR_CLK_MNG_REG 0x88 17 # define ULPI_PWR_OTG_COMP_DISABLE BIT(0) 19 #define ULPI_MISC_A 0x96 21 # define ULPI_MISC_A_VBUSVLDEXT BIT(0) 30 struct ulpi *ulpi; member 49 if (!uphy->vbus_edev) { in qcom_usb_hs_phy_set_mode() 50 u8 val = 0; in qcom_usb_hs_phy_set_mode() [all …]
|
| /kernel/linux/linux-5.10/drivers/phy/qualcomm/ |
| D | phy-qcom-usb-hsic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/ulpi/driver.h> 7 #include <linux/ulpi/regs.h> 10 #include <linux/pinctrl/pinctrl-state.h> 14 #define ULPI_HSIC_CFG 0x30 15 #define ULPI_HSIC_IO_CAL 0x33 18 struct ulpi *ulpi; member 29 struct ulpi *ulpi = uphy->ulpi; in qcom_usb_hsic_phy_power_on() local 33 ret = clk_prepare_enable(uphy->phy_clk); in qcom_usb_hsic_phy_power_on() 37 ret = clk_prepare_enable(uphy->cal_clk); in qcom_usb_hsic_phy_power_on() [all …]
|
| D | phy-qcom-usb-hs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/ulpi/driver.h> 7 #include <linux/ulpi/regs.h> 16 #define ULPI_PWR_CLK_MNG_REG 0x88 17 # define ULPI_PWR_OTG_COMP_DISABLE BIT(0) 19 #define ULPI_MISC_A 0x96 21 # define ULPI_MISC_A_VBUSVLDEXT BIT(0) 30 struct ulpi *ulpi; member 49 if (!uphy->vbus_edev) { in qcom_usb_hs_phy_set_mode() 50 u8 val = 0; in qcom_usb_hs_phy_set_mode() [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/ti/ |
| D | phy-tusb1210.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tusb1210.c - TUSB1210 USB ULPI PHY driver 12 #include <linux/ulpi/driver.h> 13 #include <linux/ulpi/regs.h> 20 #define TUSB1211_POWER_CONTROL 0x3d 21 #define TUSB1211_POWER_CONTROL_SET 0x3e 22 #define TUSB1211_POWER_CONTROL_CLEAR 0x3f 23 #define TUSB1211_POWER_CONTROL_SW_CONTROL BIT(0) 27 #define TUSB1210_VENDOR_SPECIFIC2 0x80 28 #define TUSB1210_VENDOR_SPECIFIC2_IHSTX_MASK GENMASK(3, 0) [all …]
|
| /kernel/linux/linux-6.6/drivers/usb/dwc3/ |
| D | ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ulpi.c - DesignWare USB3 Controller's ULPI PHY interface 12 #include <linux/ulpi/regs.h> 36 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); in dwc3_ulpi_busyloop() 40 while (count--) { in dwc3_ulpi_busyloop() 42 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYACC(0)); in dwc3_ulpi_busyloop() 44 return 0; in dwc3_ulpi_busyloop() 48 return -ETIMEDOUT; in dwc3_ulpi_busyloop() 58 dwc3_writel(dwc->regs, DWC3_GUSB2PHYACC(0), reg); in dwc3_ulpi_read() 64 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYACC(0)); in dwc3_ulpi_read() [all …]
|
| /kernel/linux/linux-5.10/drivers/usb/dwc3/ |
| D | ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ulpi.c - DesignWare USB3 Controller's ULPI PHY interface 12 #include <linux/ulpi/regs.h> 36 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); in dwc3_ulpi_busyloop() 40 while (count--) { in dwc3_ulpi_busyloop() 42 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYACC(0)); in dwc3_ulpi_busyloop() 44 return 0; in dwc3_ulpi_busyloop() 48 return -ETIMEDOUT; in dwc3_ulpi_busyloop() 58 dwc3_writel(dwc->regs, DWC3_GUSB2PHYACC(0), reg); in dwc3_ulpi_read() 64 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYACC(0)); in dwc3_ulpi_read() [all …]
|
| /kernel/linux/linux-6.6/drivers/usb/chipidea/ |
| D | ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/ulpi/interface.h> 23 while (usec--) { in ci_ulpi_wait() 25 return 0; in ci_ulpi_wait() 30 return -ETIMEDOUT; in ci_ulpi_wait() 38 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_read() 43 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_RUN | ULPI_ADDR(addr)); in ci_ulpi_read() 56 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_write() 61 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, in ci_ulpi_write() 68 if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI) in ci_ulpi_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/usb/chipidea/ |
| D | ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/ulpi/interface.h> 23 while (usec--) { in ci_ulpi_wait() 25 return 0; in ci_ulpi_wait() 30 return -ETIMEDOUT; in ci_ulpi_wait() 38 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_read() 43 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_RUN | ULPI_ADDR(addr)); in ci_ulpi_read() 56 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP); in ci_ulpi_write() 61 hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, in ci_ulpi_write() 68 if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI) in ci_ulpi_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/usb/phy/ |
| D | phy-ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Generic ULPI USB transceiver support 18 #include <linux/usb/ulpi.h> 33 /* ULPI hardcoded IDs, used for probing */ 35 ULPI_INFO(ULPI_ID(0x04cc, 0x1504), "NXP ISP1504"), 36 ULPI_INFO(ULPI_ID(0x0424, 0x0006), "SMSC USB331x"), 37 ULPI_INFO(ULPI_ID(0x0424, 0x0007), "SMSC USB3320"), 38 ULPI_INFO(ULPI_ID(0x0424, 0x0009), "SMSC USB334x"), 39 ULPI_INFO(ULPI_ID(0x0451, 0x1507), "TI TUSB1210"), 47 if (phy->flags & ULPI_OTG_ID_PULLUP) in ulpi_set_otg_flags() [all …]
|
| /kernel/linux/linux-6.6/drivers/usb/phy/ |
| D | phy-ulpi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Generic ULPI USB transceiver support 18 #include <linux/usb/ulpi.h> 33 /* ULPI hardcoded IDs, used for probing */ 35 ULPI_INFO(ULPI_ID(0x04cc, 0x1504), "NXP ISP1504"), 36 ULPI_INFO(ULPI_ID(0x0424, 0x0006), "SMSC USB331x"), 37 ULPI_INFO(ULPI_ID(0x0424, 0x0007), "SMSC USB3320"), 38 ULPI_INFO(ULPI_ID(0x0424, 0x0009), "SMSC USB334x"), 39 ULPI_INFO(ULPI_ID(0x0451, 0x1507), "TI TUSB1210"), 47 if (phy->flags & ULPI_OTG_ID_PULLUP) in ulpi_set_otg_flags() [all …]
|
| /kernel/linux/linux-5.10/drivers/phy/tegra/ |
| D | xusb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved. 31 if (args->args_count != 0) in tegra_xusb_pad_of_xlate() 32 return ERR_PTR(-EINVAL); in tegra_xusb_pad_of_xlate() 34 for (i = 0; i < pad->soc->num_lanes; i++) { in tegra_xusb_pad_of_xlate() 35 if (!pad->lanes[i]) in tegra_xusb_pad_of_xlate() 38 if (pad->lanes[i]->dev.of_node == args->np) { in tegra_xusb_pad_of_xlate() 39 phy = pad->lanes[i]; in tegra_xusb_pad_of_xlate() 45 phy = ERR_PTR(-ENODEV); in tegra_xusb_pad_of_xlate() 53 .compatible = "nvidia,tegra124-xusb-padctl", [all …]
|
| D | xusb-tegra124.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 #define FUSE_SKU_CALIB_HS_CURR_LEVEL_PADX_SHIFT(x) ((x) ? 15 : 0) 22 #define FUSE_SKU_CALIB_HS_CURR_LEVEL_PAD_MASK 0x3f 24 #define FUSE_SKU_CALIB_HS_IREF_CAP_MASK 0x3 26 #define FUSE_SKU_CALIB_HS_SQUELCH_LEVEL_MASK 0x3 28 #define FUSE_SKU_CALIB_HS_TERM_RANGE_ADJ_MASK 0xf 30 #define XUSB_PADCTL_USB2_PORT_CAP 0x008 32 #define XUSB_PADCTL_USB2_PORT_CAP_PORT_CAP_MASK 0x3 33 #define XUSB_PADCTL_USB2_PORT_CAP_DISABLED 0x0 34 #define XUSB_PADCTL_USB2_PORT_CAP_HOST 0x1 [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/tegra/ |
| D | xusb-tegra124.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 #define FUSE_SKU_CALIB_HS_CURR_LEVEL_PADX_SHIFT(x) ((x) ? 15 : 0) 22 #define FUSE_SKU_CALIB_HS_CURR_LEVEL_PAD_MASK 0x3f 24 #define FUSE_SKU_CALIB_HS_IREF_CAP_MASK 0x3 26 #define FUSE_SKU_CALIB_HS_SQUELCH_LEVEL_MASK 0x3 28 #define FUSE_SKU_CALIB_HS_TERM_RANGE_ADJ_MASK 0xf 30 #define XUSB_PADCTL_USB2_PORT_CAP 0x008 32 #define XUSB_PADCTL_USB2_PORT_CAP_PORT_CAP_MASK 0x3 33 #define XUSB_PADCTL_USB2_PORT_CAP_DISABLED 0x0 34 #define XUSB_PADCTL_USB2_PORT_CAP_HOST 0x1 [all …]
|
| D | xusb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2014-2022, NVIDIA CORPORATION. All rights reserved. 31 if (args->args_count != 0) in tegra_xusb_pad_of_xlate() 32 return ERR_PTR(-EINVAL); in tegra_xusb_pad_of_xlate() 34 for (i = 0; i < pad->soc->num_lanes; i++) { in tegra_xusb_pad_of_xlate() 35 if (!pad->lanes[i]) in tegra_xusb_pad_of_xlate() 38 if (pad->lanes[i]->dev.of_node == args->np) { in tegra_xusb_pad_of_xlate() 39 phy = pad->lanes[i]; in tegra_xusb_pad_of_xlate() 45 phy = ERR_PTR(-ENODEV); in tegra_xusb_pad_of_xlate() 53 .compatible = "nvidia,tegra124-xusb-padctl", [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-pxa/ |
| D | regs-u2d.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #define U2DCR (0x0000) /* U2D Control Register */ 12 #define U2DCR_HSTC (0x7 << 28) /* High Speed Timeout Calibration */ 14 #define U2DCR_FSTC (0x7 << 24) /* Full Speed Timeout Calibration */ 21 #define U2DCR_DWRE (1 << 16) /* Device Remote Wake-up Feature */ 22 #define U2DCR_ACN (0xf << 12) /* Active U2D Configuration Number */ 23 #define U2DCR_AIN (0xf << 8) /* Active U2D Interface Number */ 24 #define U2DCR_AAISN (0xf << 4) /* Active U2D Alternate Interface Setting Number */ 28 #define U2DCR_UDE (1 << 0) /* U2D Enable */ 30 #define U2DICR (0x0004) /* U2D Interrupt Control Register */ [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/platforms/83xx/ |
| D | usb.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 28 int port0_is_dr = 0, port1_is_dr = 0; in mpc834x_usb_cfg() 31 immap = ioremap(get_immrbase(), 0x1000); in mpc834x_usb_cfg() 33 return -ENOMEM; in mpc834x_usb_cfg() 41 np = of_find_compatible_node(NULL, NULL, "fsl-usb2-dr"); in mpc834x_usb_cfg() 60 } else if (prop && !strcmp(prop, "ulpi")) { in mpc834x_usb_cfg() 67 np = of_find_compatible_node(NULL, NULL, "fsl-usb2-mph"); in mpc834x_usb_cfg() 94 return 0; in mpc834x_usb_cfg() 107 int ret = 0; in mpc831x_usb_cfg() 112 np = of_find_compatible_node(NULL, NULL, "fsl-usb2-dr"); in mpc831x_usb_cfg() [all …]
|
| /kernel/linux/linux-6.6/include/linux/mfd/ |
| D | motorola-cpcap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 6 * Copyright (C) 2007-2009 Motorola, Inc. 17 #define CPCAP_VENDOR_ST 0 21 #define CPCAP_REVISION_MINOR(r) ((r) & 0xf) 23 #define CPCAP_REVISION_1_0 0x08 24 #define CPCAP_REVISION_1_1 0x09 25 #define CPCAP_REVISION_2_0 0x10 26 #define CPCAP_REVISION_2_1 0x11 29 #define CPCAP_REG_INT1 0x0000 /* Interrupt 1 */ 30 #define CPCAP_REG_INT2 0x0004 /* Interrupt 2 */ [all …]
|
| /kernel/linux/linux-5.10/include/linux/mfd/ |
| D | motorola-cpcap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 6 * Copyright (C) 2007-2009 Motorola, Inc. 17 #define CPCAP_VENDOR_ST 0 21 #define CPCAP_REVISION_MINOR(r) ((r) & 0xf) 23 #define CPCAP_REVISION_1_0 0x08 24 #define CPCAP_REVISION_1_1 0x09 25 #define CPCAP_REVISION_2_0 0x10 26 #define CPCAP_REVISION_2_1 0x11 29 #define CPCAP_REG_INT1 0x0000 /* Interrupt 1 */ 30 #define CPCAP_REG_INT2 0x0004 /* Interrupt 2 */ [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/phy/ |
| D | nvidia,tegra20-usb-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/nvidia,tegra20-usb-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Dmitry Osipenko <digetx@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 12 - Thierry Reding <thierry.reding@gmail.com> 17 - items: 18 - enum: 19 - nvidia,tegra124-usb-phy [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/usb/ |
| D | fsl-usb.txt | 9 - compatible : Should be "fsl-usb2-mph" for multi port host USB 10 controllers, or "fsl-usb2-dr" for dual role USB controllers 11 or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121. 13 also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132). 14 - phy_type : For multi port host USB controllers, should be one of 15 "ulpi", or "serial". For dual role USB controllers, should be 16 one of "ulpi", "utmi", "utmi_wide", or "serial". 17 - reg : Offset and length of the register set for the device 18 - port0 : boolean; if defined, indicates port0 is connected for 19 fsl-usb2-mph compatible controllers. Either this property or [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/usb/ |
| D | fsl-usb.txt | 9 - compatible : Should be "fsl-usb2-mph" for multi port host USB 10 controllers, or "fsl-usb2-dr" for dual role USB controllers 11 or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121. 13 also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132). 14 - phy_type : For multi port host USB controllers, should be one of 15 "ulpi", or "serial". For dual role USB controllers, should be 16 one of "ulpi", "utmi", "utmi_wide", or "serial". 17 - reg : Offset and length of the register set for the device 18 - port0 : boolean; if defined, indicates port0 is connected for 19 fsl-usb2-mph compatible controllers. Either this property or [all …]
|