/linux/Documentation/devicetree/bindings/phy/ |
H A D | ti,phy-am654-serdes.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/ti,phy-am654-serdes.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI AM654 SERDES 10 This binding describes the TI AM654 SERDES. AM654 SERDES can be configured 14 - Kishon Vijay Abraham I <kishon@ti.com> 19 - ti,phy-am654-serdes 24 reg-names: 26 - const: serdes [all …]
|
H A D | mediatek,mt7988-xfi-tphy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/mediatek,mt7988-xfi-tphy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MediaTek MT7988 XFI T-PHY 10 - Daniel Golle <daniel@makrotopia.org> 13 The MediaTek XFI SerDes T-PHY provides the physical SerDes lanes 15 MediaTek's 10G-capabale MT7988 SoC. 20 const: mediatek,mt7988-xfi-tphy 27 - description: XFI PHY clock [all …]
|
H A D | qcom,msm8996-qmp-pcie-phy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/qcom,msm8996-qmp-pcie-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Vinod Koul <vkoul@kernel.org> 18 const: qcom,msm8996-qmp-pcie-phy 22 - description: serdes 24 "#address-cells": 27 "#size-cells": 35 clock-names: [all …]
|
/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A D | dwmac-intel.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 11 /* SERDES Register */ 16 /* SERDES defines */ 17 #define SERDES_PLL_CLK BIT(0) /* PLL clk valid signal */ 18 #define SERDES_PHY_RX_CLK BIT(1) /* PSE SGMII PHY rx clk */ 19 #define SERDES_RST BIT(2) /* Serdes Reset */ 20 #define SERDES_PWR_ST_MASK GENMASK(6, 4) /* Serdes Power state*/ 40 /* Cross-timestamping defines */
|
/linux/drivers/phy/qualcomm/ |
H A D | phy-qcom-qmp-pcie-msm8996.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk.h> 7 #include <linux/clk-provider.h> 22 #include "phy-qcom-qmp-common.h" 24 #include "phy-qcom-qmp.h" 36 /* set of registers with offsets different per-PHY */ 139 /* struct qmp_phy_cfg - per-PHY initialization config */ 144 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */ 169 * struct qmp_phy - per-lane phy descriptor 173 * @serdes: iomapped memory space for phy's serdes (i.e. PLL) [all …]
|
H A D | phy-qcom-qmp-usbc.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk.h> 7 #include <linux/clk-provider.h> 26 #include "phy-qcom-qmp-common.h" 28 #include "phy-qcom-qmp.h" 29 #include "phy-qcom-qmp-pcs-misc-v3.h" 33 /* set of registers with offsets different per-PHY */ 288 u16 serdes; member 298 /* struct qmp_phy_cfg - per-PHY initialization config */ 302 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */ [all …]
|
H A D | phy-qcom-qmp-usb-legacy.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk.h> 7 #include <linux/clk-provider.h> 23 #include "phy-qcom-qmp.h" 24 #include "phy-qcom-qmp-pcs-misc-v3.h" 25 #include "phy-qcom-qmp-pcs-usb-v4.h" 26 #include "phy-qcom-qmp-pcs-usb-v5.h" 28 #include "phy-qcom-qmp-dp-com-v3.h" 70 /* set of registers with offsets different per-PHY */ 482 u16 serdes; member [all …]
|
H A D | phy-qcom-qmp-ufs.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk.h> 7 #include <linux/clk-provider.h> 24 #include "phy-qcom-qmp-common.h" 26 #include "phy-qcom-qmp.h" 27 #include "phy-qcom-qmp-pcs-ufs-v2.h" 28 #include "phy-qcom-qmp-pcs-ufs-v3.h" 29 #include "phy-qcom-qmp-pcs-ufs-v4.h" 30 #include "phy-qcom-qmp-pcs-ufs-v5.h" 31 #include "phy-qcom-qmp-pcs-ufs-v6.h" [all …]
|
H A D | phy-qcom-qmp-usb.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk.h> 7 #include <linux/clk-provider.h> 22 #include "phy-qcom-qmp-common.h" 24 #include "phy-qcom-qmp.h" 25 #include "phy-qcom-qmp-pcs-misc-v3.h" 26 #include "phy-qcom-qmp-pcs-misc-v4.h" 27 #include "phy-qcom-qmp-pcs-usb-v4.h" 28 #include "phy-qcom-qmp-pcs-usb-v5.h" 29 #include "phy-qcom-qmp-pcs-usb-v6.h" [all …]
|
/linux/drivers/phy/samsung/ |
H A D | phy-exynos5250-sata.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Samsung SATA SerDes(PHY) driver 10 #include <linux/clk.h> 50 struct clk *phyclk; 66 return -EFAULT; in wait_for_reg_status() 73 return regmap_update_bits(sata_phy->pmureg, SATAPHY_CONTROL_OFFSET, in exynos_sata_phy_power_on() 82 return regmap_update_bits(sata_phy->pmureg, SATAPHY_CONTROL_OFFSET, in exynos_sata_phy_power_off() 94 ret = regmap_update_bits(sata_phy->pmureg, SATAPHY_CONTROL_OFFSET, in exynos_sata_phy_init() 97 dev_err(&sata_phy->phy->dev, "phy init failed\n"); in exynos_sata_phy_init() 99 writel(val, sata_phy->regs + EXYNOS5_SATA_RESET); in exynos_sata_phy_init() [all …]
|
/linux/drivers/phy/marvell/ |
H A D | phy-mvebu-a3700-comphy.c | 1 // SPDX-License-Identifier: GPL-2.0 11 * Structure inspired from phy-mvebu-cp110-comphy.c written by Antoine Tenart. 17 #include <linux/clk.h> 41 * since the registers are 16-bit. 184 #define COMPHY_PHY_REG(lane, reg) (((1 - (lane)) * 0x28) + ((reg) & 0x3f)) 301 /*-----------------------------------------------------------*/ 392 priv->lane2_phy_indirect + COMPHY_LANE2_INDIR_ADDR); in comphy_set_indirect() 393 comphy_reg_set(priv->lane2_phy_indirect + COMPHY_LANE2_INDIR_DATA, in comphy_set_indirect() 400 if (lane->id == 2) { in comphy_lane_reg_set() 402 comphy_set_indirect(lane->priv, in comphy_lane_reg_set() [all …]
|
/linux/drivers/net/ethernet/renesas/ |
H A D | rswitch.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/clk.h> 8 #include <linux/dma-mapping.h> 45 iowrite32(RRC_RR, priv->addr + RRC); in rswitch_reset() 46 iowrite32(RRC_RR_CLR, priv->addr + RRC); in rswitch_reset() 51 iowrite32(RCEC_ACE_DEFAULT | RCEC_RCE, priv->addr + RCEC); in rswitch_clock_enable() 56 iowrite32(RCDC_RCD, priv->addr + RCDC); in rswitch_clock_disable() 88 val = ioread32(priv->addr + CABPIRM); in rswitch_bpool_config() 92 iowrite32(CABPIRM_BPIOG, priv->addr + CABPIRM); in rswitch_bpool_config() 94 return rswitch_reg_wait(priv->addr, CABPIRM, CABPIRM_BPR, CABPIRM_BPR); in rswitch_bpool_config() [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | fsl-ls1028a-kontron-sl28-var1.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Device Tree file for the Kontron SMARC-sAL28 board. 8 * None of the four SerDes lanes are used by the module, instead they are 15 /dts-v1/; 16 #include "fsl-ls1028a-kontron-sl28.dts" 17 #include <dt-bindings/net/qca-ar803x.h> 20 model = "Kontron SMARC-sAL28 (4 Lanes)"; 21 compatible = "kontron,sl28-var1", "kontron,sl28", "fsl,ls1028a"; 26 /delete-node/ ethernet-phy@5; 28 phy0: ethernet-phy@4 { [all …]
|
/linux/arch/mips/boot/dts/mscc/ |
H A D | ocelot.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 5 #address-cells = <1>; 6 #size-cells = <1>; 10 #address-cells = <1>; 11 #size-cells = <0>; 25 cpuintc: interrupt-controller { 26 #address-cells = <0>; 27 #interrupt-cells = <1>; 28 interrupt-controller; 29 compatible = "mti,cpu-interrupt-controller"; [all …]
|
/linux/arch/arm64/boot/dts/microchip/ |
H A D | sparx5.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 #include <dt-bindings/clock/microchip,sparx5.h> 12 interrupt-parent = <&gic>; 13 #address-cells = <2>; 14 #size-cells = <1>; 23 stdout-path = "serial0:115200n8"; 27 #address-cells = <1>; 28 #size-cells = <0>; [all …]
|
/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-j722s-main.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 #include <dt-bindings/phy/phy-cadence.h> 9 #include <dt-bindings/phy/phy-ti.h> 12 serdes_refclk: clk-0 { 13 compatible = "fixed-clock"; 14 #clock-cells = <0>; 15 clock-frequency = <0>; 21 compatible = "ti,am64-wiz-10g"; 23 #address-cells = <1>; [all …]
|
H A D | k3-am65-main.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/ 7 #include <dt-bindings/phy/phy-am654-serdes.h> 11 compatible = "mmio-sram"; 13 #address-cells = <1>; 14 #size-cells = <1>; 17 atf-sram@0 { 21 sysfw-sram@f0000 { 25 l3cache-sram@100000 { 30 gic500: interrupt-controller@1800000 { [all …]
|
/linux/arch/arm/boot/dts/marvell/ |
H A D | armada-385-clearfog-gtr.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 5 * Rabeeh Khoury <rabeeh@solid-run.com>, based on Russell King clearfog work 9 SERDES mapping - 10 0. SATA1 on CON18, or optionally mini PCIe CON3 - PCIe0 12 2. SATA0 on CON17, or optionally mini PCIe CON4 - PCIe1 14 4. mini PCIe CON2 - PCIe2 17 USB 2.0 mapping - 18 0. USB 2.0 - 0 USB pins header CON12 19 1. USB 2.0 - 1 mini PCIe CON2 20 2. USB 2.0 - 2 to USB 3.0 connector (used with SERDES #3) [all …]
|
/linux/drivers/net/ethernet/atheros/atl1c/ |
H A D | atl1c_hw.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright(c) 2008 - 2009 Atheros Corporation. All rights reserved. 6 * Copyright(c) 1999 - 2005 Intel Corporation. All rights reserved. 56 /* hw-ids */ 152 * ->L0s not L1 */ 171 #define PM_CTRL_CLK_SWH_L1 BIT(13) /* en pcie clk sw in L1 */ 179 #define PM_CTRL_SERDES_PD_EX_L1 BIT(6) /* power down serdes rx */ 200 * serdes, not sw to 25M */ 207 #define MASTER_CTRL_WAKEN_25M BIT(5) /* WAKE WO. PCIE CLK */ 293 #define MDIO_MAX_AC_TO 120 /* 1.2ms timeout for slow clk */ [all …]
|
/linux/include/linux/ |
H A D | stmmac.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 188 /* MAC ----- optional PCS ----- SerDes ----- optional PHY ----- Media 192 * mac_interface is the MAC-side interface, which may be the same 199 /* phy_interface is the PHY-side interface - the interface used by 250 struct clk *stmmac_clk; 251 struct clk *pclk; 252 struct clk *clk_ptp_ref;
|
/linux/drivers/phy/ |
H A D | phy-xgene.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * AppliedMicro X-Gene Multi-purpose PHY driver 10 * The APM X-Gene PHY consists of two PLL clock macro's (CMU) and lanes. 19 * ----------------- 20 * | Internal | |------| 21 * | Ref PLL CMU |----| | ------------- --------- 22 * ------------ ---- | MUX |-----|PHY PLL CMU|----| Serdes| 23 * | | | | --------- 24 * External Clock ------| | ------------- 25 * |------| [all …]
|
/linux/drivers/net/phy/ |
H A D | realtek.c | 1 // SPDX-License-Identifier: GPL-2.0+ 15 #include <linux/clk.h> 76 /* RTL822X_VND2_XXXXX registers are only accessible when phydev->is_c45 77 * is set, they cannot be accessed by C45-over-C22. 113 struct clk *clk; member 128 struct device *dev = &phydev->mdio.dev; in rtl821x_probe() 130 u32 phy_id = phydev->drv->phy_id; in rtl821x_probe() 135 return -ENOMEM; in rtl821x_probe() 137 priv->clk = devm_clk_get_optional_enabled(dev, NULL); in rtl821x_probe() 138 if (IS_ERR(priv->clk)) in rtl821x_probe() [all …]
|
/linux/sound/soc/apple/ |
H A D | mca.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 // four SERDES units and has a dedicated I2S port on the SoC's periphery. 12 // configurable manner. We mostly treat them as self-contained independent 13 // units and don't configure any cross-cluster connections except for the I2S 24 #include <linux/clk.h> 25 #include <linux/dma-mapping.h> 71 /* Bases of serdes unit [all...] |
/linux/drivers/clk/renesas/ |
H A D | r8a779f0-cpg-mssr.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Based on r8a779a0-cpg-mssr.c 11 #include <linux/clk.h> 12 #include <linux/clk-provider.h> 16 #include <linux/soc/renesas/rcar-rst.h> 18 #include <dt-bindings/clock/r8a779f0-cpg-mssr.h> 20 #include "renesas-cpg-mssr.h" 21 #include "rcar-gen4-cpg.h" 152 DEF_MOD("sys-dmac0", 709, R8A779F0_CLK_S0D3_PER), 153 DEF_MOD("sys-dmac1", 710, R8A779F0_CLK_S0D3_PER), [all …]
|
/linux/arch/mips/pci/ |
H A D | pci-bcm63xx.c | 14 #include <linux/clk.h> 19 #include "pci-bcm63xx.h" 126 /* enable SERDES */ in bcm63xx_reset_pcie() 148 static struct clk *pcie_clk; 157 return -ENODEV; in bcm63xx_register_pcie() 226 return -ENOMEM; in bcm63xx_register_pci() 231 bcm_mpi_writel(~(BCM_PCI_MEM_SIZE - 1), MPI_L2PMEMRANGE1_REG); in bcm63xx_register_pci() 245 bcm_mpi_writel(~(BCM_CB_MEM_SIZE - 1), MPI_L2PMEMRANGE2_REG); in bcm63xx_register_pci() 260 bcm_mpi_writel(~(BCM_PCI_IO_SIZE - 1), MPI_L2PIORANGE_REG); in bcm63xx_register_pci() 289 bcm_mpi_writel(~(mem_size - 1), MPI_SP0_RANGE_REG); in bcm63xx_register_pci() [all …]
|