/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/ |
H A D | debugfs.c | 1 // SPDX-License-Identifier: ISC 29 dev->ibf = !!val; in mt7915_implicit_txbf_set() 39 *val = dev->ibf; in mt7915_implicit_txbf_get() 52 struct mt7915_phy *phy = file->private_data; in mt7915_sys_recovery_set() local 53 struct mt7915_dev *dev = phy->dev; in mt7915_sys_recovery_set() 54 bool band = phy->mt76->band_idx; in mt7915_sys_recovery_set() 60 return -EINVAL; in mt7915_sys_recovery_set() 63 return -EFAULT; in mt7915_sys_recovery_set() 65 if (count && buf[count - 1] == '\n') in mt7915_sys_recovery_set() 66 buf[count - 1] = '\0'; in mt7915_sys_recovery_set() [all …]
|
/openbmc/u-boot/drivers/phy/ |
H A D | phy-uclass.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 4 * Written by Jean-Jacques Hiblot <jjhiblot@ti.com> 9 #include <generic-phy.h> 13 return (struct phy_ops *)dev->driver->ops; in phy_dev_ops() 16 static int generic_phy_xlate_offs_flags(struct phy *phy, in generic_phy_xlate_offs_flags() argument 19 debug("%s(phy=%p)\n", __func__, phy); in generic_phy_xlate_offs_flags() 21 if (args->args_count > 1) { in generic_phy_xlate_offs_flags() 22 debug("Invaild args_count: %d\n", args->args_count); in generic_phy_xlate_offs_flags() 23 return -EINVAL; in generic_phy_xlate_offs_flags() [all …]
|
H A D | Kconfig | 2 menu "PHY Subsystem" 4 config PHY config 5 bool "PHY Core" 8 PHY support. 10 This framework is designed to provide a generic interface for PHY 11 devices. PHY devices are dedicated hardware that handle the physical 13 PHYs are commonly used for high speed interfaces such as Serial-ATA 16 PHY, power on/off the PHY, and reset the PHY. It's meant to be as 21 bool "PHY Core in SPL" 24 PHY support in SPL. [all …]
|
H A D | phy-stm32-usbphyc.c | 1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 3 * Copyright (C) 2018, STMicroelectronics - All Rights Reserved 11 #include <generic-phy.h> 75 * <=> PLLFRACIN = ((FVCO / (INFF*2)) - PLLNDIV) * 2^16 in stm32_usbphyc_get_pll_params() 81 pll_params->ndiv = (u8)ndiv; in stm32_usbphyc_get_pll_params() 85 frac = frac - (ndiv * (1 << 16)); in stm32_usbphyc_get_pll_params() 86 pll_params->frac = (u16)frac; in stm32_usbphyc_get_pll_params() 92 u32 clk_rate = clk_get_rate(&usbphyc->clk); in stm32_usbphyc_pll_init() 96 pr_debug("%s: input clk freq (%dHz) out of range\n", in stm32_usbphyc_pll_init() 98 return -EINVAL; in stm32_usbphyc_pll_init() [all …]
|
/openbmc/linux/drivers/scsi/mpt3sas/ |
H A D | mpt3sas_transport.c | 5 * Copyright (C) 2012-2014 LSI Corporation 6 * Copyright (C) 2013-2014 Avago Technologies 7 * (mailto: MPT-FusionLinux.pdl@avagotech.com) 22 * LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, 41 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 64 * _transport_get_port_id_by_sas_phy - get zone's port id that Phy belong to 65 * @phy: sas_phy object 70 _transport_get_port_id_by_sas_phy(struct sas_phy *phy) in _transport_get_port_id_by_sas_phy() argument 73 struct hba_port *port = phy->hostdata; in _transport_get_port_id_by_sas_phy() 76 port_id = port->port_id; in _transport_get_port_id_by_sas_phy() [all …]
|
/openbmc/linux/drivers/phy/ti/ |
H A D | phy-ti-pipe3.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * phy-ti-pipe3 - PIPE3 PHY driver. 5 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com 12 #include <linux/phy/phy.h> 19 #include <linux/phy/omap_control_phy.h> 215 /* DRA75x TRM Table 26-17 Preferred USB3_PHY_RX SCP Register Settings */ 241 /* DRA75x TRM Table 26-9 Preferred SATA_PHY_RX SCP Register Settings */ 266 /* DRA75x TRM Table 26-62 Preferred PCIe_PHY_RX SCP Register Settings */ 299 static struct pipe3_dpll_params *ti_pipe3_get_dpll_params(struct ti_pipe3 *phy) in ti_pipe3_get_dpll_params() argument 302 struct pipe3_dpll_map *dpll_map = phy->dpll_map; in ti_pipe3_get_dpll_params() [all …]
|
H A D | phy-dm816x-usb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include <linux/phy/phy.h> 23 * phy as being SR70LX Synopsys USB 2.0 OTG nanoPHY. It also seems at 25 * kernel is writing to those so it's possible that later revisions 29 * according to the TRM. It's possible that USBPHY_CTRL is more generic, 33 * Finally, the phy on dm814x and am335x is different from dm816x. 36 #define DM816X_USB_CTRL_PHYSLEEP1 BIT(1) /* Enable the first phy */ 37 #define DM816X_USB_CTRL_PHYSLEEP0 BIT(0) /* Enable the second phy */ 48 struct usb_phy phy; member 55 otg->host = host; in dm816x_usb_phy_set_host() [all …]
|
/openbmc/linux/Documentation/networking/ |
H A D | phy.rst | 2 PHY Abstraction Layer 10 PHY. The PHY concerns itself with negotiating link parameters with the link 17 the PHY management code with the network driver. This has resulted in large 23 accessed are, in fact, busses, the PHY Abstraction Layer treats them as such. 26 #. Increase code-reuse 27 #. Increase overall code-maintainability 30 Basically, this layer is meant to provide an interface to PHY devices which 37 Most network devices are connected to a PHY by means of a management bus. 47 mii_id is the address on the bus for the PHY, and regnum is the register 57 mdiobus_register. Similarly, there's a remove function to undo all of [all …]
|
/openbmc/linux/drivers/scsi/mpi3mr/ |
H A D | mpi3mr_transport.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2017-2023 Broadcom Inc. 6 * (mailto: mpi3mr-linuxdrv.pdl@broadcom.com) 13 * mpi3mr_post_transport_req - Issue transport requests and wait 31 * Return: 0 on success, non-zero on failure. 39 mutex_lock(&mrioc->transport_cmds.mutex); in mpi3mr_post_transport_req() 40 if (mrioc->transport_cmds.state & MPI3MR_CMD_PENDING) { in mpi3mr_post_transport_req() 41 retval = -1; in mpi3mr_post_transport_req() 43 mutex_unlock(&mrioc->transport_cmds.mutex); in mpi3mr_post_transport_req() 46 mrioc->transport_cmds.state = MPI3MR_CMD_PENDING; in mpi3mr_post_transport_req() [all …]
|
/openbmc/linux/drivers/dma/ |
H A D | pxa_dma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/dma-mapping.h> 22 #include <linux/dma/pxa-dma.h> 25 #include "virt-dma.h" 36 #define PXA_DCSR_NODESC BIT(30) /* No-Descriptor Fetch (read / write) */ 38 #define PXA_DCSR_REQPEND BIT(8) /* Request Pending (read-only) */ 39 #define PXA_DCSR_STOPSTATE BIT(3) /* Stop State (read-only) */ 64 #define PXA_DCMD_ENDIAN BIT(18) /* Device Endian-ness. */ 71 #define PXA_DCMD_LENGTH 0x01fff /* length mask (max = 8K - 1) */ 74 #define PDMA_MAX_DESC_BYTES (PXA_DCMD_LENGTH & ~((1 << PDMA_ALIGNMENT) - 1)) [all …]
|
/openbmc/qemu/hw/net/ |
H A D | xilinx_axienet.c | 2 * QEMU model of Xilinx AXI-Ethernet. 35 #include "hw/qdev-properties.h" 41 #define TYPE_XILINX_AXI_ENET "xlnx.axi-ethernet" 42 #define TYPE_XILINX_AXI_ENET_DATA_STREAM "xilinx-axienet-data-stream" 43 #define TYPE_XILINX_AXI_ENET_CONTROL_STREAM "xilinx-axienet-control-stream" 55 #define ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */ 56 #define ADVERTISE_100HALF 0x0080 /* Try for 100mbps half-duplex */ 57 #define ADVERTISE_100FULL 0x0100 /* Try for 100mbps full-duplex */ 62 struct PHY { struct 67 unsigned int (*read)(struct PHY *phy, unsigned int req); argument [all …]
|
/openbmc/u-boot/arch/arm/mach-tegra/ |
H A D | xusb-padctl-common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. 6 #define pr_fmt(fmt) "tegra-xusb-padctl: " fmt 11 #include "xusb-padctl-common.h" 15 int tegra_xusb_phy_prepare(struct tegra_xusb_phy *phy) in tegra_xusb_phy_prepare() argument 17 if (phy && phy->ops && phy->ops->prepare) in tegra_xusb_phy_prepare() 18 return phy->ops->prepare(phy); in tegra_xusb_phy_prepare() 20 return phy ? -ENOSYS : -EINVAL; in tegra_xusb_phy_prepare() 23 int tegra_xusb_phy_enable(struct tegra_xusb_phy *phy) in tegra_xusb_phy_enable() argument 25 if (phy && phy->ops && phy->ops->enable) in tegra_xusb_phy_enable() [all …]
|
/openbmc/linux/drivers/net/fddi/skfp/ |
H A D | pcmplc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 67 #define GO_STATE(x) (mib->fddiPORTPCMState = (x)|AFLAG) 68 #define ACTIONS_DONE() (mib->fddiPORTPCMState &= ~AFLAG) 109 * PCL-S control register 110 * this register in the PLC-S controls the scrambling parameters 121 * PCL-S control register 122 * this register in the PLC-S controls the scrambling parameters 152 #define PLC_MS(m) ((int)((0x10000L-(m*100000L/2048)))) 191 static void pcm_fsm(struct s_smc *smc, struct s_phy *phy, int cmd); 192 static void pc_rcode_actions(struct s_smc *smc, int bit, struct s_phy *phy); [all …]
|
/openbmc/linux/drivers/scsi/aic94xx/ |
H A D | aic94xx_scb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 /* ---------- EMPTY SCB ---------- */ 36 static void get_lrate_mode(struct asd_phy *phy, u8 oob_mode) in get_lrate_mode() argument 38 struct sas_phy *sas_phy = phy->sas_phy.phy; in get_lrate_mode() 43 phy->sas_phy.linkrate = SAS_LINK_RATE_6_0_GBPS; in get_lrate_mode() 44 phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_6_0_GBPS; in get_lrate_mode() 47 phy->sas_phy.linkrate = SAS_LINK_RATE_3_0_GBPS; in get_lrate_mode() 48 phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_3_0_GBPS; in get_lrate_mode() 51 phy->sas_phy.linkrate = SAS_LINK_RATE_1_5_GBPS; in get_lrate_mode() 52 phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_1_5_GBPS; in get_lrate_mode() [all …]
|
/openbmc/linux/net/mac802154/ |
H A D | main.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2007-2012 Siemens AG 28 while ((skb = skb_dequeue(&local->skb_queue))) { in ieee802154_tasklet_handler() 29 switch (skb->pkt_type) { in ieee802154_tasklet_handler() 31 /* Clear skb->pkt_type in order to not confuse kernel in ieee802154_tasklet_handler() 34 skb->pkt_type = 0; in ieee802154_tasklet_handler() 39 skb->pkt_type); in ieee802154_tasklet_handler() 49 struct wpan_phy *phy; in ieee802154_alloc_hw() local 53 if (WARN_ON(!ops || !(ops->xmit_async || ops->xmit_sync) || !ops->ed || in ieee802154_alloc_hw() 54 !ops->start || !ops->stop || !ops->set_channel)) in ieee802154_alloc_hw() [all …]
|
/openbmc/linux/drivers/gpu/drm/i915/display/ |
H A D | intel_combo_phy.c | 1 // SPDX-License-Identifier: MIT 17 for ((__phy) = I915_MAX_PHYS; (__phy)-- > PHY_A;) \ 33 .name = "0.85V dot0 (low-voltage)", 55 icl_get_procmon_ref_values(struct drm_i915_private *dev_priv, enum phy phy) in icl_get_procmon_ref_values() argument 59 val = intel_de_read(dev_priv, ICL_PORT_COMP_DW3(phy)); in icl_get_procmon_ref_values() 78 enum phy phy) in icl_set_procmon_ref_values() argument 82 procmon = icl_get_procmon_ref_values(dev_priv, phy); in icl_set_procmon_ref_values() 84 intel_de_rmw(dev_priv, ICL_PORT_COMP_DW1(phy), in icl_set_procmon_ref_values() 85 (0xff << 16) | 0xff, procmon->dw1); in icl_set_procmon_ref_values() 87 intel_de_write(dev_priv, ICL_PORT_COMP_DW9(phy), procmon->dw9); in icl_set_procmon_ref_values() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/phy/ |
H A D | ti,phy-gmii-sel.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ 4 --- 5 $id: http://devicetree.org/schemas/phy/ti,phy-gmii-sel.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: CPSW Port's Interface Mode Selection PHY 11 - Kishon Vijay Abraham I <kishon@ti.com> 16 The interface mode is selected by configuring the MII mode selection register(s) 17 (GMII_SEL) in the System Control Module chapter (SCM). GMII_SEL register(s) and 20 +--------------+ [all …]
|
/openbmc/linux/drivers/phy/samsung/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Phy drivers for Samsung platforms 6 tristate "Exynos SoC series Display Port PHY driver" 12 Support for Display Port PHY found on Samsung Exynos SoCs. 15 tristate "S5P/Exynos SoC series MIPI CSI-2/DSI PHY driver" 21 Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P 25 bool "Exynos PCIe PHY driver" 29 Enable PCIe PHY support for Exynos SoC series. 30 This driver provides PHY interface for Exynos PCIe controller. 33 tristate "Exynos SoC series UFS PHY driver" [all …]
|
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/ |
H A D | debugfs.c | 1 // SPDX-License-Identifier: ISC 31 dev->ibf = !!val; in mt7996_implicit_txbf_set() 41 *val = dev->ibf; in mt7996_implicit_txbf_get() 54 struct mt7996_phy *phy = file->private_data; in mt7996_sys_recovery_set() local 55 struct mt7996_dev *dev = phy->dev; in mt7996_sys_recovery_set() 56 bool band = phy->mt76->band_idx; in mt7996_sys_recovery_set() 62 return -EINVAL; in mt7996_sys_recovery_set() 65 return -EFAULT; in mt7996_sys_recovery_set() 67 if (count && buf[count - 1] == '\n') in mt7996_sys_recovery_set() 68 buf[count - 1] = '\0'; in mt7996_sys_recovery_set() [all …]
|
/openbmc/linux/net/ieee802154/ |
H A D | nl-phy.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 25 #include "rdev-ops.h" 29 u32 seq, int flags, struct wpan_phy *phy) in ieee802154_nl_fill_phy() argument 35 pr_debug("%s\n", __func__); in ieee802154_nl_fill_phy() 38 return -EMSGSIZE; in ieee802154_nl_fill_phy() 46 if (nla_put_string(msg, IEEE802154_ATTR_PHY_NAME, wpan_phy_name(phy)) || in ieee802154_nl_fill_phy() 47 nla_put_u8(msg, IEEE802154_ATTR_PAGE, phy->current_page) || in ieee802154_nl_fill_phy() 48 nla_put_u8(msg, IEEE802154_ATTR_CHANNEL, phy->current_channel)) in ieee802154_nl_fill_phy() 51 if (phy->supported.channels[i]) in ieee802154_nl_fill_phy() [all …]
|
/openbmc/linux/drivers/phy/ |
H A D | phy-core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * phy-core.c -- Generic Phy framework. 5 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com 18 #include <linux/phy/phy.h> 32 struct phy *phy = *(struct phy **)res; in devm_phy_release() local 34 phy_put(dev, phy); in devm_phy_release() 46 struct phy *phy = *(struct phy **)res; in devm_phy_consume() local 48 phy_destroy(phy); in devm_phy_consume() 53 struct phy **phy = res; in devm_phy_match() local 55 return *phy == match_data; in devm_phy_match() [all …]
|
/openbmc/u-boot/arch/arm/mach-omap2/ |
H A D | pipe3-phy.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * TI PIPE3 PHY 15 #include "pipe3-phy.h" 41 /* PHY POWER CONTROL Register */ 70 struct pipe3_dpll_map *dpll_map = pipe3->dpll_map; in omap_pipe3_get_dpll_params() 74 for (; dpll_map->rate; dpll_map++) { in omap_pipe3_get_dpll_params() 75 if (rate == dpll_map->rate) in omap_pipe3_get_dpll_params() 76 return &dpll_map->params; in omap_pipe3_get_dpll_params() 79 printf("%s: No DPLL configuration for %u Hz SYS CLK\n", in omap_pipe3_get_dpll_params() 85 static int omap_pipe3_wait_lock(struct omap_pipe3 *phy) in omap_pipe3_wait_lock() argument [all …]
|
/openbmc/linux/drivers/phy/hisilicon/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Phy drivers for Hisilicon platforms 6 tristate "hi6220 USB PHY support" 12 Enable this to support the HISILICON HI6220 USB PHY. 17 tristate "hi3660 USB PHY support" 22 Enable this to support the HISILICON HI3660 USB PHY. 27 tristate "hi3670 USB PHY support" 32 Enable this to support the HISILICON HI3670 USB PHY. 37 tristate "hi3670 PCIe PHY support" 42 Enable this to support the HiSilicon hi3670 PCIe PHY. [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/net/ |
H A D | ethernet-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/ethernet-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - David S. Miller <davem@davemloft.net> 20 local-mac-address: 23 $ref: /schemas/types.yaml#/definitions/uint8-array 27 mac-address: 32 local-mac-address property. 33 $ref: /schemas/types.yaml#/definitions/uint8-array [all …]
|
/openbmc/linux/include/linux/phy/ |
H A D | ulpi_phy.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include <linux/phy/phy.h> 5 * Helper that registers PHY for a ULPI device and adds a lookup for binding it 6 * and it's controller, which is always the parent. 8 static inline struct phy 11 struct phy *phy; in ulpi_phy_create() local 14 phy = phy_create(&ulpi->dev, NULL, ops); in ulpi_phy_create() 15 if (IS_ERR(phy)) in ulpi_phy_create() 16 return phy; in ulpi_phy_create() 18 ret = phy_create_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent)); in ulpi_phy_create() [all …]
|