/linux/drivers/pci/controller/ |
H A D | pcie-rcar-host.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PCIe driver for Renesas R-Car SoCs 4 * Copyright (C) 2014-2020 Renesas Electronics Europe Ltd 7 * arch/sh/drivers/pci/pcie-sh7786.c 8 * arch/sh/drivers/pci/ops-sh7786.c 9 * Copyright (C) 2009 - 2011 Paul Mundt 17 #include <linux/clk-provider.h> 21 #include <linux/irqchip/irq-msi-lib.h> 36 #include "pcie-rcar.h" 47 /* Structure representing the PCIe interface */ [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 11 tristate "Aardvark PCIe controller" 18 Add support for Aardvark 64bit PCIe Host Controller. This 23 tristate "Altera PCIe controller" 26 Say Y here if you want to enable PCIe controller support on Altera 30 tristate "Altera PCIe MSI feature" 35 Say Y here if you want PCIe MSI support for the Altera FPGA. 44 tristate "Apple PCIe controller" 51 Say Y here if you want to enable PCIe controller support on Apple 52 system-on-chips, like the Apple M1. This is required for the USB [all …]
|
H A D | pcie-mediatek.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek PCIe host controller driver. 15 #include <linux/irqchip/irq-msi-lib.h> 33 /* PCIe shared registers */ 39 /* PCIe per port registers */ 45 #define PCIE_PORT_PERST(x) BIT(1 + (x)) 70 /* PCIe V2 share registers */ 73 #define PCIE_CSR_ASPM_L1_EN(x) BIT(1 + (x) * 8) 75 /* PCIe V2 per-port registers */ 98 * Define PCIe to AHB window size as 2^33 to support max 8GB address space [all …]
|
H A D | pcie-mediatek-gen3.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek PCIe host controller driver. 11 #include <linux/clk-provider.h> 15 #include <linux/irqchip/irq-msi-lib.h> 61 #define PCIE_PHY_RSTB BIT(1) 79 #define PCIE_MSI_ENABLE GENMASK(PCIE_MSI_SET_NUM + 8 - 1, 8) 83 GENMASK(PCIE_INTX_SHIFT + PCI_NUM_INTX - 1, PCIE_INTX_SHIFT) 87 #define PCIE_MSI_SET_ENABLE GENMASK(PCIE_MSI_SET_NUM - 1, 0) 112 #define PCIE_DISABLE_DVFSRC_VLT_REQ BIT(1) 124 (((((size) - 1) << 1) & GENMASK(6, 1)) | PCIE_ATR_EN) [all …]
|
H A D | pcie-rcar.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PCIe driver for Renesas R-Car SoCs 4 * Copyright (C) 2014-2020 Renesas Electronics Europe Ltd 12 #include "pcie-rcar.h" 14 void rcar_pci_write_reg(struct rcar_pcie *pcie, u32 val, unsigned int reg) in rcar_pci_write_reg() argument 16 writel(val, pcie->base + reg); in rcar_pci_write_reg() 19 u32 rcar_pci_read_reg(struct rcar_pcie *pcie, unsigned int reg) in rcar_pci_read_reg() argument 21 return readl(pcie->base + reg); in rcar_pci_read_reg() 24 void rcar_rmw32(struct rcar_pcie *pcie, int where, u32 mask, u32 data) in rcar_rmw32() argument 27 u32 val = rcar_pci_read_reg(pcie, where & ~3); in rcar_rmw32() [all …]
|
H A D | pcie-iproc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2014 Hauke Mehrtens <hauke@hauke-m.de> 9 #include <linux/pci-ecam.h> 17 #include <linux/irqchip/arm-gic-v3.h> 24 #include "pcie-iproc.h" 28 #define EP_MODE_SURVIVE_PERST_SHIFT 1 43 #define CFG_ADDR_CFG_TYPE_1 1 56 #define CFG_RD_UR 1 73 #define OARR_SIZE_CFG_SHIFT 1 91 * struct iproc_pcie_ob_map - iProc PCIe outbound mapping controller-specific [all …]
|
/linux/Documentation/devicetree/bindings/pci/ |
H A D | host-generic-pci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/host-generic-pci.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic PCI host controller 10 - Will Deacon <will@kernel.org> 13 Firmware-initialised PCI host controllers and PCI emulations, such as the 14 virtio-pci implementations found in kvmtool and other para-virtualised 21 Configuration Space is assumed to be memory-mapped (as opposed to being 26 For CAM, this 24-bit offset is: [all …]
|
H A D | ti-pci.txt | 3 PCIe DesignWare Controller 4 - compatible: Should be "ti,dra7-pcie" for RC (deprecated) 5 Should be "ti,dra7-pcie-ep" for EP (deprecated) 6 Should be "ti,dra746-pcie-rc" for dra74x/dra76 in RC mode 7 Should be "ti,dra746-pcie-ep" for dra74x/dra76 in EP mode 8 Should be "ti,dra726-pcie-rc" for dra72x in RC mode 9 Should be "ti,dra726-pcie-ep" for dra72x in EP mode 10 - phys : list of PHY specifiers (used by generic PHY framework) 11 - phy-names : must be "pcie-phy0", "pcie-phy1", "pcie-phyN".. based on the 13 - ti,hwmods : Name of the hwmod associated to the pcie, "pcie<X>", [all …]
|
H A D | apple,pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/apple,pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Apple PCIe host controller 10 - Mark Kettenis <kettenis@openbsd.org> 13 The Apple PCIe host controller is a PCIe host controller with 16 The controller incorporates Synopsys DesigWare PCIe logic to 18 PCIe host bridges is absent. 26 the standard "reset-gpios" and "max-link-speed" properties appear on [all …]
|
H A D | qcom,pcie-common.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/qcom,pcie-common.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Bjorn Andersson <andersson@kernel.org> 11 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 18 reg-names: 23 minItems: 1 26 interrupt-names: 27 minItems: 1 [all …]
|
H A D | rcar-pci-host.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/pci/rcar-pci-host.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Renesas R-Car PCIe Host 11 - Marek Vasut <marek.vasut+renesas@gmail.com> 12 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 15 - $ref: /schemas/pci/pci-host-bridge.yaml# 20 - const: renesas,pcie-r8a7779 # R-Car H1 21 - items: [all …]
|
H A D | mediatek,mt7621-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/mediatek,mt7621-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MediaTek MT7621 PCIe controller 10 - Sergio Paracuellos <sergio.paracuellos@gmail.com> 13 MediaTek MT7621 PCIe subsys supports a single Root Complex (RC) 14 with 3 Root Ports. Each Root Port supports a Gen1 1-lane Link 16 MT7621 PCIe HOST Topology 18 .-------. [all …]
|
H A D | ti,am65-pci-host.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2021 Texas Instruments Incorporated - http://www.ti.com/ 4 --- 5 $id: http://devicetree.org/schemas/pci/ti,am65-pci-host.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: TI AM65 PCI Host 11 - Kishon Vijay Abraham I <kishon@ti.com> 14 - $ref: /schemas/pci/pci-host-bridge.yaml# 19 - ti,am654-pcie-rc 20 - ti,keystone-pcie [all …]
|
H A D | brcm,stb-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Brcmstb PCIe Host Controller 10 - Jim Quinlan <james.quinlan@broadcom.com> 15 - enum: 16 - brcm,bcm2711-pcie # The Raspberry Pi 4 17 - brcm,bcm2712-pcie # Raspberry Pi 5 18 - brcm,bcm4908-pcie [all …]
|
H A D | axis,artpec6-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/pci/axis,artpec6-pcie.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Axis ARTPEC-6 PCIe host controller 11 - Jesper Nilsson <jesper.nilsson@axis.com> 14 This PCIe host controller is based on the Synopsys DesignWare PCIe IP. 21 - axis,artpec6-pcie 22 - axis,artpec6-pcie-ep 23 - axis,artpec7-pcie [all …]
|
H A D | amazon,al-alpine-v3-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/amazon,al-alpine-v3-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Amazon Annapurna Labs Alpine v3 PCIe Host Bridge 10 - Jonathan Chocron <jonnyc@amazon.com> 13 Amazon's Annapurna Labs PCIe Host Controller is based on the Synopsys 17 - $ref: snps,dw-pcie.yaml# 22 - amazon,al-alpine-v2-pcie 23 - amazon,al-alpine-v3-pcie [all …]
|
H A D | samsung,exynos-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/samsung,exynos-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Samsung SoC series PCIe Host Controller 10 - Marek Szyprowski <m.szyprowski@samsung.com> 11 - Jaehoon Chung <jh80.chung@samsung.com> 14 Exynos5433 SoC PCIe host controller is based on the Synopsys DesignWare 15 PCIe IP and thus inherits all the common properties defined in 16 snps,dw-pcie.yaml. [all …]
|
/linux/Documentation/admin-guide/ |
H A D | thunderbolt.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 manager is an entity running on the host router (host controller) 19 ``user`` which means PCIe tunneling is disabled by default. The 25 ----------------------------------- 27 should be a userspace tool that handles all the low-level details, keeps 31 found in Documentation/ABI/testing/sysfs-bus-thunderbolt. 35 ``/etc/udev/rules.d/99-local.rules``:: 37 ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1" 46 be DMA masters and thus read contents of the host memory without CPU and OS 50 Some USB4 systems have a BIOS setting to disable PCIe tunneling. This is [all …]
|
/linux/Documentation/devicetree/bindings/phy/ |
H A D | nvidia,tegra210-xusb-padctl.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/phy/nvidia,tegra210-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 …]
|
H A D | nvidia,tegra124-xusb-padctl.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/phy/nvidia,tegra124-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 …]
|
/linux/Documentation/nvme/ |
H A D | nvme-pci-endpoint-target.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 The NVMe PCI endpoint function target driver implements an NVMe PCIe controller 16 controller over a PCIe link, thus implementing an NVMe PCIe device similar to a 21 files or block devices, or can use NVMe passthrough to expose to the PCI host an 22 existing physical NVMe device or an NVMe fabrics host controller (e.g. a NVMe 23 TCP host controller). 26 NVMe target core code to parse and execute NVMe commands submitted by the PCIe 27 host. However, using the PCI endpoint framework API and DMA API, the driver is 28 also responsible for managing all data transfers over the PCIe link. This 32 1) The driver manages retrieval of NVMe commands in submission queues using DMA [all …]
|
/linux/Documentation/misc-devices/ |
H A D | spear-pcie-gadget.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Spear PCIe Gadget Driver 24 PCIe gadget support for SPEAr13XX platform 29 Its main purpose is to configure selected dual mode PCIe controller as device 31 type. This driver can be used to show spear's PCIe device capability. 37 ----------------------- 42 no_of_msi zero if MSI is not enabled by host. A positive value is the 53 ------------------------ 61 inta write 1 to assert INTA and 0 to de-assert. 78 Program all PCIe registers in such a way that when this device is connected [all …]
|
/linux/drivers/pci/controller/cadence/ |
H A D | pcie-sg2042.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * pcie-sg2042 - PCIe controller driver for Sophgo SG2042 SoC 14 #include "pcie-cadence.h" 17 * SG2042 only supports 4-byte aligned access, so for the rootbus (i.e. to 19 * non-rootbus (i.e. to read/write the PCIe peripheral registers, supports 20 * 1/2/4 byte aligned access, so directly using read/write should be fine. 37 struct device *dev = &pdev->dev; in sg2042_pcie_probe() 39 struct cdns_pcie *pcie; in sg2042_pcie_probe() local 45 return dev_err_probe(dev, -ENOMEM, "Failed to alloc host bridge!\n"); in sg2042_pcie_probe() 47 bridge->ops = &sg2042_pcie_root_ops; in sg2042_pcie_probe() [all …]
|
H A D | pci-j721e.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * pci-j721e - PCIe controller driver for TI's J721E SoCs 5 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com 10 #include <linux/clk-provider.h> 26 #include "pcie-cadence.h" 28 #define cdns_pcie_to_rc(p) container_of(p, struct cdns_pcie_rc, pcie) 34 #define LINK_DOWN BIT(1) 41 #define LINK_STATUS GENMASK(1, 0) 53 #define ACSPCIE_PAD_DISABLE_MASK GENMASK(1, 0) 54 #define GENERATION_SEL_MASK GENMASK(1, 0) [all …]
|
/linux/Documentation/PCI/endpoint/ |
H A D | pci-ntb-howto.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 PCI Non-Transparent Bridge (NTB) Endpoint Function (EPF) User Guide 9 This document is a guide to help users use pci-epf-ntb function driver 10 and ntb_hw_epf host driver for NTB functionality. The list of steps to 11 be followed in the host side and EP side is given below. For the hardware 13 Documentation/PCI/endpoint/pci-ntb-function.rst 19 --------------------------- 27 2900000.pcie-ep 2910000.pcie-ep 32 2900000.pcie-ep 2910000.pcie-ep 36 ------------------------- [all …]
|