/linux-6.12.1/drivers/usb/gadget/udc/ |
D | renesas_usb3.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Renesas USB3.0 Peripheral driver (USB gadget) 5 * Copyright (C) 2015-2017 Renesas Electronics Corporation 11 #include <linux/dma-mapping.h> 13 #include <linux/extcon-provider.h> 37 #define USB3_DMA_CH0_CON(n) (0x030 + ((n) - 1) * 0x10) /* n = 1 to 4 */ 38 #define USB3_DMA_CH0_PRD_ADR(n) (0x034 + ((n) - 1) * 0x10) /* n = 1 to 4 */ 43 #define USB3_DRD_CON(p) ((p)->is_rzv2m ? 0x400 : 0x218) 50 #define USB3_USB_OTG_STA(p) ((p)->is_rzv2m ? 0x410 : 0x268) 51 #define USB3_USB_OTG_INT_STA(p) ((p)->is_rzv2m ? 0x414 : 0x26c) [all …]
|
D | rzv2m_usb3drd.c | 1 // SPDX-License-Identifier: GPL-2.0 21 static void rzv2m_usb3drd_set_bit(struct rzv2m_usb3drd *usb3, u32 bits, in rzv2m_usb3drd_set_bit() argument 24 u32 val = readl(usb3->reg + offs); in rzv2m_usb3drd_set_bit() 27 writel(val, usb3->reg + offs); in rzv2m_usb3drd_set_bit() 30 static void rzv2m_usb3drd_clear_bit(struct rzv2m_usb3drd *usb3, u32 bits, in rzv2m_usb3drd_clear_bit() argument 33 u32 val = readl(usb3->reg + offs); in rzv2m_usb3drd_clear_bit() 36 writel(val, usb3->reg + offs); in rzv2m_usb3drd_clear_bit() 41 struct rzv2m_usb3drd *usb3 = dev_get_drvdata(dev); in rzv2m_usb3drd_reset() local 43 if (host) { in rzv2m_usb3drd_reset() 44 rzv2m_usb3drd_clear_bit(usb3, USB_PERI_DRD_CON_PERI_CON, in rzv2m_usb3drd_reset() [all …]
|
/linux-6.12.1/drivers/phy/broadcom/ |
D | phy-bcm-ns-usb3.c | 1 // SPDX-License-Identifier: GPL-2.0-only 59 .compatible = "brcm,ns-ax-usb3-phy", 63 .compatible = "brcm,ns-bx-usb3-phy", 69 static int bcm_ns_usb3_mdio_phy_write(struct bcm_ns_usb3 *usb3, u16 reg, 72 static int bcm_ns_usb3_phy_init_ns_bx(struct bcm_ns_usb3 *usb3) in bcm_ns_usb3_phy_init_ns_bx() argument 76 /* USB3 PLL Block */ in bcm_ns_usb3_phy_init_ns_bx() 77 err = bcm_ns_usb3_mdio_phy_write(usb3, BCM_NS_USB3_PHY_BASE_ADDR_REG, in bcm_ns_usb3_phy_init_ns_bx() 79 if (err < 0) in bcm_ns_usb3_phy_init_ns_bx() 83 bcm_ns_usb3_mdio_phy_write(usb3, BCM_NS_USB3_PLL_CONTROL, 0x1000); in bcm_ns_usb3_phy_init_ns_bx() 86 bcm_ns_usb3_mdio_phy_write(usb3, BCM_NS_USB3_PLLA_CONTROL0, 0x6400); in bcm_ns_usb3_phy_init_ns_bx() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/phy/ |
D | qcom,sc8280xp-qmp-usb3-uni-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Vinod Koul <vkoul@kernel.org> 19 - qcom,ipq6018-qmp-usb3-phy 20 - qcom,ipq8074-qmp-usb3-phy 21 - qcom,ipq9574-qmp-usb3-phy 22 - qcom,msm8996-qmp-usb3-phy 23 - qcom,qdu1000-qmp-usb3-uni-phy [all …]
|
D | renesas,usb3-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/renesas,usb3-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas R-Car generation 3 USB 3.0 PHY 10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 15 - enum: 16 - renesas,r8a774a1-usb3-phy # RZ/G2M 17 - renesas,r8a774b1-usb3-phy # RZ/G2N 18 - renesas,r8a774e1-usb3-phy # RZ/G2H [all …]
|
D | socionext,uniphier-usb3ss-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/socionext,uniphier-usb3ss-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Socionext UniPhier USB3 Super-Speed (SS) PHY 11 USB3 controller implemented on Socionext UniPhier SoCs. 12 Although the controller includes High-Speed PHY and Super-Speed PHY, 13 this describes about Super-Speed PHY. 16 - Kunihiko Hayashi <hayashi.kunihiko@socionext.com> 21 - socionext,uniphier-pro4-usb3-ssphy [all …]
|
D | socionext,uniphier-usb3hs-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/socionext,uniphier-usb3hs-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Socionext UniPhier USB3 High-Speed (HS) PHY 11 USB3 controller implemented on Socionext UniPhier SoCs. 12 Although the controller includes High-Speed PHY and Super-Speed PHY, 13 this describes about High-Speed PHY. 16 - Kunihiko Hayashi <hayashi.kunihiko@socionext.com> 21 - socionext,uniphier-pro5-usb3-hsphy [all …]
|
D | qcom,sc8280xp-qmp-usb43dp-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm QMP USB4-USB3-DP PHY controller (SC8280XP) 10 - Vinod Koul <vkoul@kernel.org> 19 - qcom,sc7180-qmp-usb3-dp-phy 20 - qcom,sc7280-qmp-usb3-dp-phy 21 - qcom,sc8180x-qmp-usb3-dp-phy 22 - qcom,sc8280xp-qmp-usb43dp-phy [all …]
|
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 …]
|
D | qcom,msm8998-qmp-usb3-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/qcom,msm8998-qmp-usb3-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Vinod Koul <vkoul@kernel.org> 13 The QMP PHY controller supports physical layer functionality for USB-C on 19 - qcom,msm8998-qmp-usb3-phy 20 - qcom,qcm2290-qmp-usb3-phy 21 - qcom,sdm660-qmp-usb3-phy 22 - qcom,sm6115-qmp-usb3-phy [all …]
|
/linux-6.12.1/drivers/usb/cdns3/ |
D | Kconfig | 4 select USB_XHCI_PLATFORM if USB_XHCI_HCD 7 Say Y here if your system has a Cadence USBSS or USBSSP 8 dual-role controller. 9 It supports: dual-role switch, Host-only, and Peripheral-only. 14 if USB_CDNS_SUPPORT 17 tristate "Cadence USB3 Dual-Role Controller" 20 Say Y here if your system has a Cadence USB3 dual-role controller. 21 It supports: dual-role switch, Host-only, and Peripheral-only. 23 If you choose to build this driver is a dynamically linked 27 if USB_CDNS3 [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/usb/ |
D | renesas,usb3-peri.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 15 - items: 16 - enum: 17 - renesas,r8a774a1-usb3-peri # RZ/G2M 18 - renesas,r8a774b1-usb3-peri # RZ/G2N 19 - renesas,r8a774c0-usb3-peri # RZ/G2E [all …]
|
D | amlogic,meson-g12a-usb-ctrl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/usb/amlogic,meson-g12a-usb-ctrl.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Neil Armstrong <neil.armstrong@linaro.org> 14 The Amlogic G12A embeds a DWC3 USB IP Core configured for USB2 and USB3 15 in host-only mode, and a DWC2 IP Core configured for USB2 peripheral mode 18 A glue connects the DWC3 core to USB2 PHYs and optionally to an USB3 PHY. 20 One of the USB2 PHYs can be re-routed in peripheral mode to a DWC2 USB IP. 26 host-only mode. [all …]
|
/linux-6.12.1/drivers/usb/dwc3/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 tristate "DesignWare USB3 DRD Core Support" 7 select USB_XHCI_PLATFORM if USB_XHCI_HCD 8 select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE 10 Say Y or M here if your system has a Dual Role SuperSpeed 11 USB controller based on the DesignWare USB3 IP Core. 13 If you choose to build this driver as a dynamically linked 16 if USB_DWC3 22 Select this if you have ULPI type PHY attached to your DWC3 27 default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET) [all …]
|
/linux-6.12.1/drivers/phy/tegra/ |
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() 44 if (phy == NULL) in tegra_xusb_pad_of_xlate() 45 phy = ERR_PTR(-ENODEV); in tegra_xusb_pad_of_xlate() [all …]
|
D | xusb-tegra186.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved. 21 #define HS_CURR_LEVEL_PADX_SHIFT(x) ((x) ? (11 + (x - 1) * 6) : 0) 280 writel(value, priv->ao_regs + offset); in ao_writel() 285 return readl(priv->ao_regs + offset); in ao_readl() 303 if (!usb2) in tegra186_usb2_lane_probe() 304 return ERR_PTR(-ENOMEM); in tegra186_usb2_lane_probe() 306 INIT_LIST_HEAD(&usb2->base.list); in tegra186_usb2_lane_probe() 307 usb2->base.soc = &pad->soc->lanes[index]; in tegra186_usb2_lane_probe() 308 usb2->base.index = index; in tegra186_usb2_lane_probe() [all …]
|
/linux-6.12.1/fs/ufs/ |
D | util.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 19 return &cpi->c_ubh; in UCPI_UBH() 23 return &spi->s_ubh; in USPI_UBH() 33 struct ufs_super_block_third *usb3) in ufs_get_fs_state() argument 35 switch (UFS_SB(sb)->s_flags & UFS_ST_MASK) { in ufs_get_fs_state() 37 if (fs32_to_cpu(sb, usb3->fs_postblformat) == UFS_42POSTBLFMT) in ufs_get_fs_state() 38 return fs32_to_cpu(sb, usb1->fs_u0.fs_sun.fs_state); in ufs_get_fs_state() 41 return fs32_to_cpu(sb, usb3->fs_un2.fs_sun.fs_state); in ufs_get_fs_state() 43 return fs32_to_cpu(sb, usb1->fs_u1.fs_sunx86.fs_state); in ufs_get_fs_state() 46 return fs32_to_cpu(sb, usb3->fs_un2.fs_44.fs_state); in ufs_get_fs_state() [all …]
|
D | super.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 * Laboratoire MASI - Institut Blaise Pascal 25 * Big-endian to little-endian byte-swapping/bitmaps by 35 * Adrian Rodriguez (adrian@franklins-tower.rutgers.edu) 48 * Francois-Rene Rideau <fare@tunes.org> 52 * on code by Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>. 84 #include <linux/backing-dev.h> 101 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; in ufs_nfs_get_inode() 104 if (ino < UFS_ROOTINO || ino > (u64)uspi->s_ncg * uspi->s_ipg) in ufs_nfs_get_inode() 105 return ERR_PTR(-ESTALE); in ufs_nfs_get_inode() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/regulator/ |
D | socionext,uniphier-regulator.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/regulator/socionext,uniphier-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 This regulator controls VBUS and belongs to USB3 glue layer. Before using 15 - Kunihiko Hayashi <hayashi.kunihiko@socionext.com> 17 # USB3 Controller 22 - socionext,uniphier-pro4-usb3-regulator 23 - socionext,uniphier-pro5-usb3-regulator 24 - socionext,uniphier-pxs2-usb3-regulator [all …]
|
/linux-6.12.1/drivers/usb/host/ |
D | xhci-rcar.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * xHCI host controller driver for R-Car SoCs 16 #include "xhci-plat.h" 17 #include "xhci-rzv2m.h" 23 * - The V3 firmware is for all R-Car Gen3 24 * - The V2 firmware is possible to use on R-Car Gen2. However, the V2 causes 25 * performance degradation. So, this driver continues to use the V1 if R-Car 27 * - The V1 firmware is impossible to use on R-Car Gen3. 39 #define RCAR_USB3_CONF1 0xa48 /* USB3.0 Configuration1 */ 40 #define RCAR_USB3_CONF2 0xa5c /* USB3.0 Configuration2 */ [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/reset/ |
D | socionext,uniphier-glue-reset.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reset/socionext,uniphier-glue-reset.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 16 - Kunihiko Hayashi <hayashi.kunihiko@socionext.com> 21 - socionext,uniphier-pro4-usb3-reset 22 - socionext,uniphier-pro5-usb3-reset 23 - socionext,uniphier-pxs2-usb3-reset 24 - socionext,uniphier-ld20-usb3-reset 25 - socionext,uniphier-pxs3-usb3-reset [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/amlogic/ |
D | meson-g12b-a311d-khadas-vim3.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 10 #include "meson-g12b-a311d.dtsi" 11 #include "meson-khadas-vim3.dtsi" 12 #include "meson-g12b-khadas-vim3.dtsi" 19 * The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential 21 * an USB3.0 Type A connector and a M.2 Key M slot. 23 * the USB3.0 controller and the PCIe Controller, thus only 25 * If the MCU is configured to mux the PCIe/USB3.0 differential lines 27 * USB3.0 from the USB Complex and enable the PCIe controller. [all …]
|
D | meson-g12b-s922x-khadas-vim3.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 10 #include "meson-g12b-s922x.dtsi" 11 #include "meson-khadas-vim3.dtsi" 12 #include "meson-g12b-khadas-vim3.dtsi" 19 * The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential 21 * an USB3.0 Type A connector and a M.2 Key M slot. 23 * the USB3.0 controller and the PCIe Controller, thus only 25 * If the MCU is configured to mux the PCIe/USB3.0 differential lines 27 * USB3.0 from the USB Complex and enable the PCIe controller. [all …]
|
/linux-6.12.1/drivers/regulator/ |
D | uniphier-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 43 struct device *dev = &pdev->dev; in uniphier_regulator_probe() 53 if (!priv) in uniphier_regulator_probe() 54 return -ENOMEM; in uniphier_regulator_probe() 56 priv->data = of_device_get_match_data(dev); in uniphier_regulator_probe() 57 if (WARN_ON(!priv->data)) in uniphier_regulator_probe() 58 return -EINVAL; in uniphier_regulator_probe() 61 if (IS_ERR(base)) in uniphier_regulator_probe() 64 for (i = 0; i < priv->data->nclks; i++) in uniphier_regulator_probe() 65 priv->clk[i].id = priv->data->clock_names[i]; in uniphier_regulator_probe() [all …]
|
/linux-6.12.1/drivers/phy/socionext/ |
D | phy-uniphier-usb3ss.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * phy-uniphier-usb3ss.c - SS-PHY driver for Socionext UniPhier USB3 controller 4 * Copyright 2015-2018 Socionext Inc. 73 writel(data, priv->base + SSPHY_TESTI); in uniphier_u3ssphy_testio_write() 74 readl(priv->base + SSPHY_TESTO); in uniphier_u3ssphy_testio_write() 75 readl(priv->base + SSPHY_TESTO); in uniphier_u3ssphy_testio_write() 82 u8 field_mask = GENMASK(p->field.msb, p->field.lsb); in uniphier_u3ssphy_set_param() 87 val |= FIELD_PREP(TESTI_ADR_MASK, p->field.reg_no); in uniphier_u3ssphy_set_param() 89 val = readl(priv->base + SSPHY_TESTO) & TESTO_DAT_MASK; in uniphier_u3ssphy_set_param() 93 data = field_mask & (p->value << p->field.lsb); in uniphier_u3ssphy_set_param() [all …]
|